ユーザ用ツール

サイト用ツール


サイドバー

vps:vps3rd_03

jail設定

起動・停止関連

Jailを起動するスクリプトを作成する。
/root/Toolsを作成し、以下のファイルを作成する。

ファイル名 用途
start_jail.shjail起動スクリプト
stop_jail.shjail停止スクリプト
hosts.normaljail停止時のjailer向けhostsファイル
hosts.jailjail起動時の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 <Global IP> netmask <subnet mask>
route add -net 0.0.0.0 <さくらのVPS 指定>

kldunload if_bridge
kldunload if_epair

service ntpd start

hosts.*

jailer向けhostsファイルとして以下のファイルを作成する。

  • jail.normal
    jail未起動時のjailer向けhosts
  • jail.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作成

ハンドブックに従い、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

ports共有設定

prisoner内でportsを利用するため、jailer側で/usr/portsの共有設定を行う。

  • ハンドブックに従い、poprtsの初期設定を行う。
    # portsnap fetch
    # portsnap extract
  • /etc/fstab
    /usr/ports /usr/jail/web/usr/ports     nullfs ro 0 0
    /usr/ports /usr/jail/desktop/usr/ports nullfs ro 0 0
  • マウントポイント作成
    mkdir /usr/jail/web/usr/ports /usr/jail/desktop/usr/ports
vps/vps3rd_03.txt · 最終更新: 2013/12/30 20:19 by dummy@dummy