====== 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