差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
memo:freebsd_jail [2016-06-08 21:08] Decomo |
— (現在) | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== FreeBSD 10.1-RELEASEでjail環境を作る ====== | ||
- | ===== 用語 ===== | ||
- | |||
- | ? jail [監獄] | ||
- | : FreeBSDのjail機能そのものを指したり、同機能を用いて構築された(仮想)システム[=prisoner]を指したりする。要はサンドボックス。 | ||
- | ? jailer [看守] | ||
- | : (仮想)システム[=prisoner/ | ||
- | ? prisoner [囚人] | ||
- | : jail機能で構築され動いている(仮想)システム。要は仮想マシン・・・と言いたい所だが、一般的な意味である所の" | ||
- | |||
- | ===== 種jailの準備 ===== | ||
- | |||
- | ==== jailの有効化 ==== | ||
- | |||
- | お馴染'' | ||
- | |||
- | <file conf / | ||
- | jail_enable=" | ||
- | </ | ||
- | |||
- | ==== jailのインストール ==== | ||
- | |||
- | jail環境は''/ | ||
- | < | ||
- | # cd /usr/home | ||
- | # mkdir jail | ||
- | </ | ||
- | |||
- | '' | ||
- | < | ||
- | # bsdinstall jail jail/ | ||
- | </ | ||
- | |||
- | {{ : | ||
- | |||
- | これまたお馴染みのFreeBSD Installerの画面が出てくる。lib32, | ||
- | |||
- | * rootのパスワード | ||
- | * 何でもいいので取り敢えず設定。コピーjailを作った時に変更する。 | ||
- | * System Configuration | ||
- | * チェックを全部外す(デフォでは何のデーモンも起動させない。) | ||
- | * ユーザー追加 | ||
- | * 誰も追加しない。 | ||
- | |||
- | ==== jailの追加と動作確認 ==== | ||
- | |||
- | 試しに、作成した種jailにjailerと同じIPアドレスを割り当て、監獄の中から通信できるか試してみる。 | ||
- | |||
- | ''/ | ||
- | |||
- | <file conf / | ||
- | exec.start = "/ | ||
- | exec.stop | ||
- | exec.clean; | ||
- | mount.devfs; | ||
- | path = "/ | ||
- | host.hostname = $name; | ||
- | |||
- | jseed20160101 { | ||
- | | ||
- | | ||
- | | ||
- | } | ||
- | </ | ||
- | |||
- | jail環境を起動。 | ||
- | < | ||
- | # service jail start jseed20160101 | ||
- | Starting jails: jseed20160101. | ||
- | </ | ||
- | |||
- | <note warning> | ||
- | < | ||
- | / | ||
- | expr: illegal option -- 2 | ||
- | expr: usage: expr [-e] expression | ||
- | </ | ||
- | </ | ||
- | |||
- | 無事起動したら中に入ってみる。必要なのは'' | ||
- | < | ||
- | $ uname -a | ||
- | FreeBSD jail.example.com 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0: Wed May 13 06:54:13 UTC 2015 | ||
- | # jexec jseed20160101 /bin/sh | ||
- | # uname -a | ||
- | FreeBSD jseed20160101 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0: Wed May 13 06:54:13 UTC 2015 | ||
- | </ | ||
- | |||
- | pingを打ってみる。 | ||
- | < | ||
- | # ping decomo.info | ||
- | PING decomo.info (59.106.13.158): | ||
- | 64 bytes from 59.106.13.158: | ||
- | 64 bytes from 59.106.13.158: | ||
- | 64 bytes from 59.106.13.158: | ||
- | 64 bytes from 59.106.13.158: | ||
- | ^C | ||
- | --- decomo.info ping statistics --- | ||
- | 4 packets transmitted, | ||
- | round-trip min/ | ||
- | </ | ||
- | |||
- | ==== 種jailの設定 ==== | ||
- | |||
- | '' | ||
- | |||
- | <file conf / | ||
- | Components world kernel # srcを消す | ||
- | </ | ||
- | |||
- | < | ||
- | # freebsd-update fetch | ||
- | # freebsd-update install | ||
- | </ | ||
- | |||
- | 恐らくどのprisonerでもpkgは使うことになると思うので、種に仕込んでおく。他に同様のパッケージがあれば、この段階でインストールしておいても良いだろう(bashとかemacsとか…) | ||
- | < | ||
- | # pkg | ||
- | 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:// | ||
- | (略) | ||
- | </ | ||
- | |||
- | $ service jail status | ||
- | | ||
- | | ||
- | $ jls | ||
- | | ||
- | | ||
- | |||
- | / | ||
- | minuid 65000 | ||
- | maxuid 65500 | ||
- | mingid 65000 | ||
- | maxgid 65500 | ||
- | |||
- | http:// |