ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



os:nas4free:jail

Jail on XigmaNAS

XigamaNASでjailを立ち上げる場合NAS用に調整されているため通常と若干異なる部分がある

作業用DirとMountPointの作成

# mkdir /jail
# mkdir /mnt/data/jail
# mkdir /mnt/data/jail/{work,proto,conf}
# mount_nullfs /mnt/data/jail /jail
/jail/work ダウンロード、temp
/jail/proto 今回作成するJail
/jail/conf 設定、動作用ファイル

Baseのダウンロードと解凍

ダウンロード

# cd /jail/work
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -m`/`uname -r | cut -d- -f1-2`/base.txz
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -m`/`uname -r | cut -d- -f1-2`/lib32.txz

※ 32bitシステムの場合はlib32.txzは不要です
※ こちらからもダウンロード可能

https://download.freebsd.org/releases/`uname -m`/`uname -m`/`uname -r | cut -d- -f1-2`/

解凍

ダウンロードしたBaseを /jail/proto/ に解凍します

# tar xvf /jail/work/base.txz -C /jail/proto/
# tar xvf /jail/work/lib32.txz -C /jail/proto/

設定

Jailに必要な設定ファイル

ホスト1)の /etc/resolve.conf をコピーします

# cp /etc/resolv.conf /jail/proto/etc/	

タイムゾーン

必要なtimezoneファイルをコピーします

# cp /jail/proto/usr/share/zoneinfo/Asia/Tokyo /jail/proto/etc/localtime

fstab

jailへマウントしたい場合に備えて fstab を作成しておきます

# touch /jail/conf/fstab.proto

例えば、ホスト上の /mnt/data/Video を マウントするケースでは以下のように書けます2)

/mnt/data/Video /jail/proto/mnt/Video nullfs ro 0 0

rc.conf.localの作成

# cd /jail
# touch conf/rc.conf.local
# nano conf/rc.conf.local
jail_enable="YES"	# enable jails YES|NO
jail_list="proto"	# name of the jails to start "proto www..."

jail.confの作成

今回の例です3)

# cd /jail
# touch conf/jail.conf
# nano conf/jail.conf
# common variables
# Network
$nic             = "re0";
exec.prestart   += "ifconfig ${nic} inet ${ip4.addr} add";

# Start,Stop
exec.start       = "/bin/sh /etc/rc";
exec.stop        = "/bin/sh /etc/rc.shutdown";

exec.clean;
mount.devfs;
path             = "/jail/$name";
host.hostname    = $name;

allow.chflags;
allow.raw_sockets;

## each jail
proto {
  ip4.addr = 192.168.111.222;
  mount.fstab="/etc/fstab.${name}"
}

起動用Scriptの作成

# nano /jail/conf/jail_start
#!/bin/sh
# mounting to /jail
mkdir /jail
mount_nullfs /mnt/data/jail /jail
# link config file
ln -s /jail/conf/rc.conf.local /etc
ln -s /jail/conf/jail.conf /etc
ln -s /jail/conf/fstab.* /etc
#start all jails
/etc/rc.d/jail start
# chmod 755 /jail/conf/jail_start

起動

WebGUIから起動用Scriptの設定を行います

システム > 高度な設定 > コマンドスクリプト から設定します

Command:/mnt/data/jail/conf/jail_start
Type:PostInit4)

最後に再起動します

確認

sshでホストにログインして以下のように確認します

# jls   
  JID  IP Address        Hostname      Path
  1    192.168.111.222   proto         /jail/proto

停止と削除

停止

# service jail stop

削除

/jail/conf/rc.conf.localのjail_listから 削除するjailを消す

jail_list = “proto”
  ↓
jail_list = “”

最後にjailのdirを削除

# chflags -R noschg /mnt/data/jail/proto
# rm -rf /mnt/data/jail/proto
1)
XigamaNAS
2) , 3)
細部は自身の環境に合わせて変更してください
4)
初期化後
os/nas4free/jail.txt · 最終更新: 2023/10/12 16:59 by hayashi