FreeBSD6.2Rでjail環境構築中 - ezjail内の環境を整える

http://d.hatena.ne.jp/m-bird/20080118/1200643734
又は
http://d.hatena.ne.jp/m-bird/20080118/1200647446
からの続きです。

jail環境を作っちゃうぅぅぅう!

# ezjail-admin create -f default JAIL-NAME 192.168.fuga.fuga

jail-nameの部分を、jailで作られるマシンに付けたい名前にしてくだしあ。
IPアドレスは、jailマシンに割り当てたいアドレスで。
この、-f defaultという引数を設定する事により、flavorの設定が反映されるようになります。
無しだとFreeBSDデフォルトの設定でjail環境が構築されてしまうので、rc.confとか色々無いまんま環境がcreateされてしまいますので、注意。

# /usr/local/etc/rc.d/ezjail.sh start

これで、jail環境走行開始!

動作確認する

cat /var/run/jail_JAILNAME.id

数字入っていればおk

jail環境側の設定。

# jexec 1 /bin/tcsh/

jexecの後の数字は、jlsで確認した数字で。
シェルがshでおkな人は、/tcsh/を/sh/に。
このコマンドでjail環境の中に!
やったね♪

とりあえず、何はともわれrootパスワードを設定しておく。

# passwd root

んで、取りあえずパスワードの設定だけ終わったら、jail環境から抜けてhost環境に戻ります。

# exit
cronの設定
# vim /usr/jails/JAILNAME/etc/crontab

これで、以下の一行をコメントアウト

1,31 0-5 * * * root adjkerntz -a 
/etc/fstab
# touch /usr/jails/JAILNAME/etc/fstab

これで、とりあえず空のfstabを作成。
|

resolv.conf

HOST環境のマシンからresolv.confをjail環境のマシンにコピーして、名前解決を出来るようにします。

# cp /etc/resolv.conf /usr/jails/JAILNAME/etc/
ローカルタイムを設定する
# cd /usr/jails/JAILNAME/etc
# touch wall_cmos_clock
# ln -sf ../usr/share/zoneinfo/Asia/Tokyo localtime 

因みに、実際にはファイルないっぽいんですが、これでおk...っぽいです。はい。

/usr/jails/JAILNAME/etc/rc.conf

私の環境でのデフォルト設定は以下の通り。

# Pretuned by German Engineers

# No network interfaces in jails
network_interfaces=""

# Prevent rpc
rpcbind_enable="NO"

# Prevent loads of jails doing their cron jobs at the same time
cron_flags="$cron_flags -J 15"

# Prevent syslog to open sockets
syslogd_flags="-ss"

# Prevent sendmail to try to connect to localhost
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

# Bring up sshd, it takes some time and uses some entropy on first startup
# sshd_enable="YES"

んで、以下参考に書き換え。

defaultrouter="192.168.hoge.hoge"
hostname="domain example.com"
network_interfaces=""
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.fuga.fuga"
rpcbind_enable="NO"
sendmail_enable="NONE"
sendmail_submit_enable="NONE"
sendmail_outbound_enable="NONE"
sendmail_msp_queue_enable="NONE"
sshd_enable="YES"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-J 15" 

192.168.hoge.hogeの部分を、host環境のIPアドレスに。
192.168.fuga.fugaの部分を、jail環境のIPアドレスに。

因みに、私の設定は以下の通りとなりました。参考までに。

デフォルト設定。

# Pretuned by German Engineers

# No network interfaces in jails
network_interfaces=""

# Prevent rpc
rpcbind_enable="NO"

# Prevent loads of jails doing their cron jobs at the same time
cron_flags="$cron_flags -J 15"

# Prevent syslog to open sockets
syslogd_flags="-ss"

# Prevent sendmail to try to connect to localhost
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

# Bring up sshd, it takes some time and uses some entropy on first startup
# sshd_enable="YES"

んで、以下に書き換え。

# Pretuned by German Engineers

#add-settings
defaultrouter="192.168.2.2"
hostname="asakurawebserver.local"
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.2.10"

# No network interfaces in jails
network_interfaces=""

# Prevent rpc
rpcbind_enable="NO"

# Prevent loads of jails doing their cron jobs at the same time
cron_flags="$cron_flags -J 15"

# Prevent syslog to open sockets
syslogd_flags="-ss"

# Prevent sendmail to try to connect to localhost
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

# Bring up sshd, it takes some time and uses some entropy on first startup
# sshd_enable="YES"

# add-settings
sshd_enable="YES"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-j 15"

参考サイトさんのconfigに、デフォで付いているコメントが載っているかどうかだけの違いですが。

sshd

jail環境側のsshdの設定をする。

vim /usr/jails/JAILNAME/etc/ssh/sshd_config

以下を一行追加。

ListenAddress 192.168.xxx.xxx


以上で、ezjailのサーバの仮想化が完了!

portsツリーをjail環境とHOST環境で分けた人は以上で作業完了です!お疲れ様でした!
良いFreeBSDライフを!

portsツリーをhost環境からマウントする人は、まだまだです。
つづきへGO。
http://d.hatena.ne.jp/m-bird/20080118/1200651293