Update : Ajout de l’option « -p » à l’installation qui permet d’avoir les ports dans les jails

Principes de fonctionnement

Petit rappel : les jails permettent d’exécuter un système FreeBSD à l’intérieur d’un autre système FreeBSD. Cela permet entre autre d’installer des ports incompatibles sur une seule machine et de protéger le système des éventuelles failles de sécurité d’un démon lancé dans une jail.

‘ezjail‘ est un petit script sh qui permet en plus d’automatiser la création de jails de limiter l’espace disque utilisé par chaque jail en permettant de n’utiliser qu’un seul système de base monté en read-only sur chacun des jails.

Installation d’ezjail

cd /usr/ports/sysutils/ezjail
make install clean

Il peut être utile d’ajouter la directive suivante au fichier ‘/etc/rc.conf‘ afin d’automatiser le démarrage des jails lors d’un reboot :


ezjail_enable="YES"

Création d’un premier jail

Il faut tout d’abord configurer ezjail. Suivant l’espace disque disponible, il peut être utile de modifier le répertoire dans lequel sont stockées les jails : ‘/usr/jails/‘ par défaut.

# cp /usr/local/etc/ezjail.conf.sample /usr/local/etc/ezjail.conf
# vi /usr/local/etc/ezjail.conf

Afin de créer le jail de base, il suffit de lancer la commande :

# ezjail-admin install -p

Pour créer un jail, il suffira ensuite d’ajouter un alias IP dans le système hôte et de lancer la commande ‘ezjail-admin create‘. Uns fois, le jail créé, on pourra lancer ‘ezjail

# ifconfig fxp0 192.168.22.101 alias
# ezjail-admin create <jailname> <jailIP>
# /usr/local/etc/rc.d/ezjail start