目次

FreeBSDのJailホスト、Jailで設定する項目のメモ

2017/03/06
新規

Jailを使う際に事前設定しておく内容のメモ。

Jailホストの設定

Jailへの許可の設定

Jailホストで以下のコマンドを実行しJailへの許可をだす。

sysctl -w security.jail.allow_raw_sockets=1
sysctl -w security.jail.sysvipc_allowed=1
jail -m jid=JailのID allow.raw_sockets=1
jail -m jid=JailのID allow.sysvipc=1

1行目はJailにJail外部との通信を許可する設定。これがないとSSHでログインできなかったり、立ち上げたサービスに接続できなかったり。
2行目はJailに共有メモリ利用を許可する設定。PostgreSQLはこれが許可されていないと動かない。
3行目は起動したJailに通信を許可する指示。 4行目は起動したJailに共有メモリ利用を許可する指示。

1行目と2行目はJailホストの /etc/sysctl.conf か /boot/loader.conf へ記述しておけば再起動してもこの設定を有効にできます。

/etc/sysctl.conf
security.jail.allow_raw_sockets=1
security.jail.sysvipc_allowed=1
security.jail.param.allow.sysvipc=1
/boot/loader.conf
security.jail.allow_raw_sockets=1
security.jail.sysvipc_allowed=1

3行目と4行目は起動したJailのインスタンスに対して明示的に指示するもので /etc/rc.conf にも記述しておけば再起動してもこの設定を有効にできます。

/etc/rc.conf
jail_pg_parameters="allow.raw_sockets=1"
jail_pg_parameters="allow.sysvipc=1"

これはjailインスタンス pg に対しての指定になります。 Jailインスタンス git なら “jail_git_parameters=“allow.sysvipc=1”“、”jail_git_parameters=“raw_sockets=1”“です。

多分この指定は古くて、今後は /etc/jail.conf に記述する事になります。

JailのIDはjlsコマンドで確認してください。この例だと 11 がJailインスタンスpgのJIDです。

root@amanda:~ # jls
   JID  IP Address      Hostname                      Path
     6  192.168.1.26    www                           /home/jails/www
     9  192.168.1.40    openldap                      /home/jails/openldap
    10  192.168.1.27    gateway                       /home/jails/gateway
    11  192.168.1.30    pg                            /home/jails/pg
root@amanda:~ # jail -m jid=11 allow.raw_sockets=1
root@amanda:~ # jail -m jid=11 allow.sysvipc=1
root@amanda:~ # 

Jailの設定

DNSの設定

pkgコマンド等で外部との通信を行うので、DNS参照ができるようにします。 この例だと 192.168.1.254 のDNSを参照することになります。適宜自分の環境に合わせてください。

/etc/resolv.conf
nameserver      192.168.1.254

pkgコマンドの導入

初めてpkgコマンドを使う時はpkgコマンド本体とデータベースをインストール。

root@git:~ # pkg upgrade
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:11:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
[git] Installing pkg-1.9.4_1...
[git] Extracting pkg-1.9.4_1: 100%
Updating FreeBSD repository catalogue...
[git] Fetching meta.txz: 100%    944 B   0.9kB/s    00:01
[git] Fetching packagesite.txz: 100%    6 MiB   2.0MB/s    00:03
Processing entries: 100%
FreeBSD repository update completed. 25853 packages processed.
Updating database digests format: 100%
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
root@git:~ #

すでにpkgコマンド利用中ならデータベースアップデート。

root@git:~ # pkg update
Updating FreeBSD repository catalogue...
[git] Fetching meta.txz: 100%    944 B   0.9kB/s    00:01
[git] Fetching packagesite.txz: 100%    6 MiB   1.5MB/s    00:04
Processing entries: 100%
FreeBSD repository update completed. 25853 packages processed.
root@git:~ #