トップ 一覧 検索 ヘルプ RSS ログイン

FB-jailの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!! FreeBSD12 Jail

! 作成
 
 ## fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.2-RELEASE/base.txz
 wget -e HTTP_PROXY=http://127.0.0.1:18080/ http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.2-RELEASE/base.txz
 tar -zxpf ./base.txz -C /home/jail/a
 tar -zxpf ./base.txz -C /home/jail/b

 作成出来たか確認
 $ mount -t devfs devfs /home/jail/a/dev
 $ mount -t devfs devfs /home/jail/a/dev

! 削除
 $ service jail stop aaa
 $
 $ chflags -R noschg /home/jail/aaa/*
 $ cd /home/jail
 $ rm -rf ./aaa 


! /etc/rc.conf
 # jail
 jail_enable="YES"
 jail_list="aaa bbb"
 追加

! /etc/jail.conf
 ################
 aaa
 {
        jid=1;
        name=aaa;
        path=/home/jail/a;
        ip4.addr=192.168.12.201;
        host.hostname=prisoner1.jail.green.local;
        allow.chflags;
        allow.raw_sockets;
        exec.start="/bin/sh /etc/rc";
        exec.stop="/bin/sh /etc/rc.shutdown";
        interface=re0;
        mount.devfs;
        devfs_ruleset=4;
 }
 
 bbb
 {
        jid=2;
        name=prisoner;
        path=/home/jail/b;
        ip4.addr=192.168.12.202;
        host.hostname=bbb.jail.green.local;
        allow.chflags;
        allow.raw_sockets;
        exec.start="/bin/sh /etc/rc";
        exec.stop="/bin/sh /etc/rc.shutdown";
        interface=re0;
        mount.devfs;
        devfs_ruleset=4;
 }
! 調整
 ## コンソールのメッセージを止める
 vi /home/jail/a/etc/syslog.conf
 vi /home/jail/b/etc/syslog.conf
 ##  *.err;kern.warning;auth.notice;mail.crit             /dev/console 

 vi /home/jail/a/etc/crontab
 vi /home/jail/b/etc/crontab
 ## 時計を止める
 # 1,31  0-5     *       *       *       root    adjkerntz -a

 # Host名の設定
   vi /home/delegate/jail/a/etc/hosts
   vi /home/delegate/jail/b/etc/hosts

 # bsdconfig & rc.conf の作成
   hostname="pri1.jail.green.local"
   ifconfig_igb1="inet 192.168.12.201 netmask 255.255.255.0 -lro -tso -rxcsum -txcsum "


! 起動 / 停止
 $ /etc/rc.d/jail start
 $ /etc/rc.d/jail stop

 個別に 
 service jail start aaa
 service jail start bbb

! コマンド
 jls  :稼動中のprisonerの一覧表示
 jexec:jailerからprisonerに遷移
        jexec 1 /bin/csh
           aaa ( jid 1 )で CSH を起動

! jail を起動したままだと UTC なので
 # jexec 1 /bin/csh
 #
 # tzsetup Asia/Tokyo    ## timezone を tokyo に

! 仮想ネットワーク

 FreeBSD には epair という仮想ネットワークI/F が存在し、仮想的なイーサネットケーブルとしての役割を果たします。
 これは、 ifconfig epair create というコマンドを叩くことで作成可能で、作成すると epair0a, epair0b というように a と b の2つのデバイスが一対となって作成されます。これをホストや Jail に割当てることで通信が可能になります。
 具体的には、ifconfig epair0a vnet jail01 というコマンドを叩くことで、jail01 という Jail に epair0 の a側 (一方) を割り当てることができます。
 この結果を確認するためには、 jail01 上で ifconfig を叩く必要があります。
 Jail 上でのコマンド実行は jexec というコマンドを用います。使い方は jexec [jid] [command...] です。
 jail01 上で ifconfig を叩く、という場合は、 jexec jail01 ifconfig というようになります。
 ここまでが分かれば、トポロジ図にて与えられたネットワークアドレスからIPアドレスを適当に割り当てることで1:1 の通信が可能になります。

 ifconfig epair0 create
 ## ifconfig epair0a destroy


 
! Tips
https://www.atmarkit.co.jp/ait/articles/1207/20/news153_2.html

https://www.kishiro.com/FreeBSD/jail.html

https://qiita.com/Chun3/items/4b11b9acdd080ecdab6c

http://freebsdnoki.blogspot.com/p/jail.html

! Tips 0000
*https://blog.icttoracon.net/2016/03/31/question06/