FreeBSD8.1Rでjailする

FreeBSDでjail環境を構築し、zfsファイルシステムを割り当てます。

ezjailのインストール

portsからezjailをインストールします。

gauntlet# pwd
/usr/ports/sysutils/ezjail
gauntlet# make install && make clean

標準ではezjailが/usr/jailに仮想環境を作るらしいので、これをZFSディレクトリをマウントしておきます。

gauntlet# zfs mountpoint=/usr/jails tank/jail

ezjailのベースとなるシステム構築をします。

gauntlet# ezjail-admin update -b

Jail環境の作成と起動

jail用のIPアドレスをインターフェースに割り振ります。

gauntlet# ifconfig nfe0 alias 192.168.100.221 netmask 255.255.255.0
gauntlet# echo 'ifconfig_nfe0_alias0="inet 192.168.100.221 netmask 255.255.255.0' >> /etc/rc.conf

jail環境(ここではgault.local)を作成します。

gauntlet# ezjail-admin create gault.local 192.168.100.221

/etc/rc.confにezjailの項を加え、jailを起動させます。

gauntlet# echo 'ezjail_enable="YES"' >> /etc/rc.conf
gauntlet# /usr/local/etc/rc.d/ezjail.sh start
 ezjailConfiguring jails:.
Starting jails: gault.local.
gauntlet# jls
   JID  IP Address      Hostname                      Path
     1  192.168.100.221 gault.local             /usr/jails/gault.local
gauntlet# 

jail環境に入る

jexecを使ってjail環境に入り、設定などを行っていきます。

gauntlet# jexec 1 /bin/tcsh
gault#