2009年03月11日

FreeBSD 7.1 にてJailマシン構築

FreeBSD 7.1にて、jailを構築した際のメモです。

まず、バイナリでFreeBSDを一通りインストールします。sysinstallを起動して、Customを選択し、まずOptionsの Install Rootを/から/usr/jail/server0に変更します。そして、DistributionsはMinimalを。Mediaは近そうなFTP サイトを選択。最後にCommitを押せば完了です。

ネームサーバーをメインマシンと同じように設定します。

# cp /etc/resolv.conf /usr/jail/server0/etc/

adjkerntzを停止させます。/usr/jail/server0/etc/crontabの以下の行をコメントアウト。

#1,31   0-5     *       *       *       root    adjkerntz -a

面倒なので、chrootして編集します。

# chroot /usr/jail/server0 /bin/tcsh

起動スクリプトを編集します。

# vi /etc/rc.conf
hostname="www.example.room"
network_interfaces=""
portmap_enable="NO"
sshd_enable="YES"

必要なファイルを作ります。

# touch /etc/fstab
# chflags noschg /sbin/init
# rm /sbin/init
# rm /sbin/mount
# rm /sbin/umount
# ln /usr/bin/true /sbin/init
# ln /usr/bin/true /sbin/mount
# ln /usr/bin/true /sbin/umount
# exit

jailの設定を/etc/rc.confに書きます。

#jail setting
jail_enable="YES"
jail_set_hostname_allow="NO"
jail_list="server0"
jail_interface="re0"
jail_devfs_enable="YES"
jail_procfs_enable="YES"

#jail server0 setting
ifconfig_re0_alias0="inet 192.168.1.6 netmask 255.255.255.0"
jail_server0_rootdir="/usr/jail/server0"
jail_server0_hostname="server0"
jail_server0_ip="192.168.1.6"
jail_server0_devfs_ruleset="devfsrules_jail"

あとは、# /etc/rc.d/jail startで仮想マシンが動き始めます。