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:~ #