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

 
4.1 rc.conf 編集
4.2 クライアント定義ファイルの作成
4.3 jail の起動
4.4 クライアントへのログイン

4.1 rc.conf 編集


/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"
 クライアントが複数存在する場合は、ダブルコーテーションの中をスペースで区切って列挙するらしい。

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


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

client01
{
	jid=1;
	name=client01;
	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 だとどうするのか?

4.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                /usr/home/jail/client01
 起動したようです。

4.4 クライアントへのログイン

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

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