前回からの続き。
jail の作成と、初期設定まで。
jail の作成と設定
base jail の作成が出来たら、 jail を作成する。
まずはホスト側の設定。
jail 用の IP アドレスを用意する
rc.conf に次を追記
ifconfig_xxxx_aliasx="inet 10.0.0.xxx netmask 255.255.255.255"
インターフェース名だとか、 alias の数だとかに応じて適宜 ‘x’ の部分は変更する。
再起動しないのであれば、 ifconfig コマンドで設定もしておく。
# ifconfig xxxx alias 10.0.0.xxx 255.255.255.255
jail 用の IP アドレスを bind しないように設定する
listen するようなサーバーソフトがある場合は、 jail 環境の IP アドレスを bind しないように、設定ファイルを書き換える。
sshd
/etc/ssh/sshd_config
ListenAddress 127.0.0.1 ListenAddress 10.0.0.xxx # host ip address
syslogd
/etc/rc.conf
syslogd_flags="-s -b 10.0.0.xxx" # host ip address
postfix
/usr/local/etc/postfix/master.cf
127.0.0.1:smtp inet n - n - - smtpd 10.0.0.xxx:smtp inet n - n - - smtpd
jail を作成
設定が出来たら ezjail-admin で新しい jail を作成する。
# ezjail-admin create ns1.example.com 10.0.0.xxx
作成した jail を有効化するには、次のコマンドを実行する。
# /usr/local/etc/rc.d/ezjail.sh start
停止するには、
# /usr/local/etc/rc.d/ezjail.sh stop
起動時に自動的に有効にするには、 /etc/rc.conf に、
ezjail_enable="YES"
と書けばOK.
まずはパスワードを設定
jexec ユーティリティを使って、シェルを起動して root パスワードを設定する。
# jexec JID /bin/sh
JID が分からないときは、 /var/run/jail_***.id の中身を見て確認。
jail 側のログイン環境を整える
パスワードを設定したら、ログイン環境として、 SSH を設定する。
[jail] /etc/rc.conf
sshd_enable="YES"
[jail] /etc/ssh/sshd_config
ListenAddress 10.0.0.xxx # jail ip address
jail# /etc/rc.d/sshd start
その他の設定
[jail] /etc/rc.conf
ポートマッピングやネットワークインターフェースの設定を無効にする。
rpcbind_enable="NO" network_interfaces="" sendmail_enable="YES"
[jail] /etc/crontab
以下の行をコメントアウトする。 bios の時刻合わせを無効に。
1,31 0-5 * * * root adjkerntz -a
[jail] /etc/hosts
jail 環境の中では、ループバックインターフェース lo0 には IP アドレスが振られない。
jail 環境の IP アドレスを localhost として設定してやる。
#::1 localhost localhost.my.domain #127.0.0.1 localhost localhost.my.domain 10.0.0.xxx localhost 10.0.0.xxx ns1.example.com