FreeBSD7.0にezjailをインストールする
zfsでjailを試すためにezjailをインストールした。
インストール
とりあえずezjailをインストールしないと話にならないので、インストールする。
# portinstall /usr/ports/sysutils/ezjail
インストールが終わったら、設定ファイルを作る。jailの保存ディレクトリを/usr/jailsでなく/usr/local/jailsにしたかったので、jailのディレクトリだけ指定。
# echo "ezjail_jaildir=/usr/local/jails" > /usr/local/etc/ezjail.conf
/etc/rc.confを編集してezjail.shを使えるようにする。
# echo 'ezjail_enable="YES"' >> /etc/rc.conf
下記コマンドでezjailのベースとなるシステム構築をする。FreeBSDのカーネル構築とかやるので大分時間がかかる。
# ezjail-admin update
これでインストールと最低限の設定は終わり。
jail作成
ホスト環境でjailで使うIPのaliasを作成しておく。
# ifconfig fxp0 alias 192.168.0.82 netmask 255.255.255.0 # echo 'ifconfig_fxp0_alias0="inet 192.168.0.82 netmask 255.255.255.0' >> /etc/rc.conf
ezjail-admin createコマンドでjailを作成する。
# ezjail-admin create sample01 192.168.0.82
ezjail-admin createの引数はjailの名前(ホスト名)とIPアドレス。作成出来たら、起動と確認をする。
# /usr/local/etc/rc.d/ezjail.sh start # jls JID IP Address Hostname Path 1 192.168.0.82 sample01 /usr/local/jails/sample01
sshでログインできるようにする
まずは、jail側でsshdを起動させる。
# jexec 1 /bin/tcsh sample01# echo 'sshd_enable="YES"' >> /etc/rc.conf sample01# /etc/rc.d/sshd start sample01# pw adduser hamaco -m -s /bin/tcsh sample01# passwd hamaco
sshdの起動とユーザの作成が完了したら別のマシンからsshで接続してみる。今回はWindowsのputtyから接続してみた。
% ssh -l hamaco 192.168.0.82 > hostname sample01
ちゃんとホスト名にsample01と出ている。
まとめ
昔FreeBSD5.3だか5.4でやった時はezjailなんてなかったので、結構苦労したような記憶があるけど、いつの間にか大分簡単になっていてびっくり。
zfsのjailとセットでやったのでちょこっと間違っている所があるかも?
シンタックスハイライトを使わないで書いてみたけどどうだろう?