仮想化ソフトウェア - FreeBSD - jail - jail の起動

クラウディア 
1. /etc/rc.conf 編集
2. クライアント定義ファイルの作成
3. jail の起動
4. クライアントへのログイン

1. /etc/rc.conf 編集

 「/etc/rc.conf」を編集します。

vi /etc/rc.conf
 ひとつはクライアント側の「IP」アドレスで、例えば「NIC」のデバイス名が「em0」であれば

ifconfig_em0_alias0="inet 192.168.1.21 netmask 255.255.255.255"
 のように、ホストと異なるアドレスをつけるらしいのであるが・・・。  う~ん。これも「DHCP」だとどうなるのか・・・?  なのでこれも保留  それからクライアントの定義

jail_enable="YES"
jail_list="client01"
 クライアントが複数存在する場合は、ダブルコーテーションの中をスペースで区切って列挙するらしい。

2. クライアント定義ファイルの作成


/etc/jail.conf
 を作成して以下のように編集します。

client01
{
    jid=1;
    path=/home/jail/client01;
    ip4.addr=192.168.1.21;
    host.hostname=client01.local;
    allow.chflags;
    allow.raw_sockets;
    exec.start="/bin/sh /etc/rc";
    exec.stop="/bin/sh /etc/rc.shutdown";
    interface=em0;
    mount.devfs;
    devfs_ruleset=4;
}
 3行目は、「]jail」用の「ID」のようです。  6行目は、これまた「DHCP」だとどうするのか?

3. jail の起動

 果たしてこれで起動できるのか?  現在の状況を見てみると

$ service jail status
 JID             IP Address      Hostname                      Path
 ははぁ、なるほど、起動すれば、この下に何か出力されるのかしら・・・?  起動してみます。

$ service jail start
Starting jails: client01.
$ service jail status
 JID             IP Address      Hostname                      Path
 client01                        client01.local                /home/jail/client01
 起動したようです。

4. クライアントへのログイン

 クライアントへのログインは、ホストの「root」ユーザで

jexec 1 /bin/tcsh
 で行います。  1つ目のパラメータは、クライアントの「ID」です。  2つ目のパラメータは、ログイン時に使用するシェルの指定です。  クライアント側で、「sshd」を有効にしてやれば、「ssh」でログインできるのかしら?  今後、時間があれば試してみますが、今回はひとまず、ここまで。
earthcar(アースカー)