====== jail設定 ======
===== 起動・停止関連 =====
Jailを起動するスクリプトを作成する。\\ /root/Toolsを作成し、以下のファイルを作成する。
^ ファイル名 ^ 用途 ^
|start_jail.sh|jail起動スクリプト|
|stop_jail.sh|jail停止スクリプト|
|hosts.normal|jail停止時のjailer向けhostsファイル|
|hosts.jail|jail起動時のjailer向けhostsファイル|
==== start_jail.sh ====
jail起動スクリプトを作成する。
#!/bin/sh
service ntpd stop
ifconfig bridge0 cerate up
ifconfig epair0 create
ifconfig epair1 create
ifconfig epair2 create
ifconfig epair3 create
ifconfig bridge0 addm epair0a addm epair1a addm epair2a addm epair3a
ifconfig epair0a up
ifconfig epair1a up
ifconfig epair2a up
ifconfig epair3a up
route delete -net 0.0.0.0
ifconfig vtnet0 down
ifconfig epair0b inet 192.168.100.253 netmask 255.255.255.0
route add -net 0.0.0.0 192.168.100.254
cp /root/Tools/hosts.jail /etc/hosts
jail -c fw
jail -c web
jail -c desktop
service ntpd start
==== stop_jail.sh ====
jail停止スクリプトを作成する。
#!/bin/sh
service ntpd stop
jail -r desktop
jail -r web
jail -r fw
route delete -net 0.0.0.0
ifconfig epair0a destroy
ifconfig epair1a destroy
ifconfig epair2a destroy
ifconfig epair3a destroy
ifconfig bridge0 destroy
cp /root/Tools/hosts.normal /etc/hosts
ifconfig vtnet0 inet netmask
route add -net 0.0.0.0 <さくらのVPS 指定>
kldunload if_bridge
kldunload if_epair
service ntpd start
==== hosts.* ====
jailer向けhostsファイルとして以下のファイルを作成する。
* /root/Tools/hosts.normal\\ jail未起動時のjailer向けhosts
* /root/Tools/hosts.jail\\ jail起動時のjailer向けhosts
===== jail設定 =====
/etc/jail.confを作成し、各prisonerの定義を行う。
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;
mount.devfs;
vnet = new;
allow.mount;
allow.mount.procfs;
allow.mount.devfs;
allow.sysvipc;
persist;
path = "/usr/jail/$name";
fw {
vnet.interface = vtnet0, epair1b;
}
web {
vnet.interface = epair2b;
}
desktop {
vnet.interface = epair3b;
}
===== prisoner作成 =====
[[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-build.html|ハンドブック]]に従い、prisonerを作成する。
=== 格納場所作成 ===
# mkdir -p /usr/jail/fw
# mkdir -p /usr/jail/web
# mkdir -p /usr/jail/desktop
=== 展開 ===
# cd /usr/src
# make installworld DESTDIR=/usr/jail/fw
# make distribution DESTDIR=/usr/jail/fw
# make installworld DESTDIR=/usr/jail/web
# make distribution DESTDIR=/usr/jail/web
# make installworld DESTDIR=/usr/jail/desktop
# make distribution DESTDIR=/usr/jail/desktop