読者です 読者をやめる 読者になる 読者になる

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とセットでやったのでちょこっと間違っている所があるかも?
シンタックスハイライトを使わないで書いてみたけどどうだろう?