Recommended
PPTX
BuildKitによる高速でセキュアなイメージビルド
PPTX
Cesiumを動かしてみよう FOSS4G 2016 Tokyo版
PPT
Starc RTL設計スタイルガイドの検査道具spyglassの使い方
PDF
今さら聞けないソフトウエアエンジアニアリング(要求編)
PDF
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
PDF
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
PDF
PDF
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
PDF
UnboundとNSDの紹介 BIND9との比較編
PDF
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
PPTX
JavaScriptでSQLを唱えたいだけの人生だった
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PDF
スマホ(Android・iPhone)でWebRTC
PDF
PDF
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
PDF
PPTX
PDF
PPTX
PDF
PDF
ドキュメントを作りたくなってしまう魔法のツールSphinx
PDF
PDF
PDF
PDF
More Related Content
PPTX
BuildKitによる高速でセキュアなイメージビルド
PPTX
Cesiumを動かしてみよう FOSS4G 2016 Tokyo版
PPT
Starc RTL設計スタイルガイドの検査道具spyglassの使い方
PDF
今さら聞けないソフトウエアエンジアニアリング(要求編)
PDF
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
PDF
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
PDF
PDF
What's hot
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
PDF
UnboundとNSDの紹介 BIND9との比較編
PDF
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
PPTX
JavaScriptでSQLを唱えたいだけの人生だった
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PDF
スマホ(Android・iPhone)でWebRTC
PDF
PDF
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
PDF
PPTX
PDF
PPTX
PDF
PDF
ドキュメントを作りたくなってしまう魔法のツールSphinx
PDF
PDF
Viewers also liked
PDF
PDF
PDF
PDF
PPS
PDF
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
PDF
BHyVe: The BSD Hypervisor
ODP
PDF
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
ODP
PDF
【Kof2014】Jail-deploy, 若しくはjailhub,あるいは Jail as a Service
PDF
PPTX
Webinar - Como aumentar a audiência usando Redes Sociais - Projeto Editorial ...
Similar to Free bsd jail入門
PDF
ODP
PDF
ODP
ODP
Custom Package Building with Poudriere
PDF
PPT
FreeBSDで行こう for small server
PDF
Recently uploaded
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
Free bsd jail入門 1. 2. 自己紹介
名前
乃村 翼
facebook
Tsubasa Nomura で検索してください
お仕事
Windows Serverのサポート
英語とMCPの勉強中。。。
サポート終了!
2
3. 目次
1. FreeBSD jailとは
2. FreeBSD jailとは(もう少し詳しく)
3. FreeBSD jailの構築(基本編)
4. FreeBSD jailの構築(ezjail編)
5. FreeBSD jail Tips
6. 【番外編】Hyper-Vでの仮想環境構築Tips
3
4. FreeBSD jailとは
コンテナ型仮想化のひとつ
Linux界隈で盛り上がっているLXCと類似。
各jailはホストマシン上で動く仮想機械であり、独自のファイ
ルシステムやプロセス空間、ユーザーアカウントを持つ。
(by Wikipedia:http://ja.wikipedia.org/wiki/FreeBSD_jail)
引用元:
http://ascii.jp/elem/000/000/419/419268/#eid419270
4
5. 6. FreeBSD jailとは(もう少し詳しく)
ディレクトリツリー、プロセス、ネットワークスタックの分離
jail 環境ではプロセスは指定されたルートディレクトリから外に出るこ
とは出来ません。
似た機構に chroot がありますが、こちらはアクセス出来るファイルシ
ステムを限定するのみであり、 ユーザやネットワークはホスト環境と共
有します。
プログラムのロジックによっては、プロセスは chroot されたディレク
トリの外にアクセスすることが出来てしまいます。
ネットワークスタックも仮想化。
FreeBSD 8.0からjail が Vimage 対応に。
ホスト名
jail では環境毎にホスト名を持つことが出来ます。
6
7. FreeBSD jailとは(もう少し詳しく)
IP アドレス
jail では構築時に IP アドレスが割り当てられます。複数のIPアドレスを割り
当てることも可能です。
コマンド
ファイルシステムが分離される為、もちろんコマンドパスは jail 毎に全く異
なります。ports シ ステムを使用した環境ではユーザ用コマンドは
/usr/local/bin に配置されますが、コマンドパスを 変えることが出来ます。
root ユーザ
Unix では root ユーザは特権ユーザとして全ての権限を持っています。jail
のゲスト環境でもroot ユーザは存在しますが、ホスト環境を破壊すること
が無いように、root ユーザであっても、一部の機能に制限事項があります。
7
8. 9. 10. FreeBSD jailの構築(基本編)〜jail 作成〜
1. jailのディレクトリを作成し、
2. ユーザランドをビルドして、
3. 指定したディレクトリへインストール。
4. ユーザランドのアプリが使うことがある為、デバイスのマウ
ントもしておく。
セキュリティリスクが上がる為注意する。
5. インターフェースにエイリアスIPアドレスを設定して、起動
# export JAIL_D=/opt/jails/container01
# mkdir -p $JAIL_D
# cd /usr/src/
# make -j 5 buildworld
# make installworld DESTDIR=$JAIL_D
# make distribution DESTDIR=$JAIL_D
# mount -t devfs devfs $JAIL_D/dev
# ifconfig hn0 alias 192.168.20.10
# jail /opt/jails/containers container01 192.168.20.10 /bin/sh /etc/rc
10
11. 12. 13. FreeBSD jailの構築(ezjail編)〜jail 作成〜
1. jailのインストール先を設定ファイルに記述
2. ベースシステムをインストール
3. jailを作成する
# vi /usr/local/etc/ezjail.conf
ezjail_jaildir=/opt/ezjails
# ezjail-admin install
# ezjail-admin create -f example container02 192.168.20.10
予めportsもしくはpkgでezjailをインストールする。
13
14. FreeBSD jailの構築(ezjail編)〜jail 起動と停止〜
1. ezjail-admin startで起動
2. ezjail-admin consoleでjailの中へ
# ezjail-admin start container02
# ezjail-admin console container02
1. ezjail-admin stopで停止
2. ezjai-admin delete で削除
※-wオプションでファイルの削除までします
# ezjail-admin stop container02
# ezjail-admin delete –w container02
14
15. FreeBSD jailの構築(ezjail編)〜さらに詳しく〜
ezjail-admin install
-m
manpageのインストール
-s
FreeBSDソースのインストール
-p
portsのインストール
-r
リリースバージョンを指定してjail をインストールします。8.4-
RELEASE、9.2-RELEASE などが指定できます。
尚、jail 環境下でuname -r をした場合でも、ホスト環境のバー
ジョンが出力されます。ライブラリ、コマンドが指定されたバー
ジョンでインストールされます。
# ezjail-admin install -r 9.2-RELEASE
15
16. FreeBSD jailの構築(ezjail編)〜さらに詳しく〜
ezjail-admin create
-i
md デバイスを用い、img ファイルにjail のゲスト環境を構築し
ます。
-c
他のファイルシステムを使用したjailを構築します。
以下コマンドでは、ZFS へjail のゲスト環境を構築します。
# ezjail-admin create -c zfs -s 300M container001 192.168.20.100
# ezjail-admin create -i -s 100M -f example C78 192.168.1.250
# ll /opt/jails/
total 102488
drwxr-xr-x 2 root wheel 512 Jul 26 01:50 C78
-rw-r--r-- 1 root wheel 104857600 Jul 26 01:50 C78.img
drwxr-xr-x 9 root wheel 512 Jul 26 00:59 basejail
drwxr-xr-x 3 root wheel 512 Jul 26 00:59 flavours
drwxr-xr-x 12 root wheel 512 Jul 26 00:59 newjail
16
17. 18. FreeBSD jailの構築(ezjail編)〜さらに詳しく〜
ezjail-admin list
jail 環境を一覧で出力します。
STA の列にはjail のステータスが出力されています。それぞ
れのアルファベットは以下の状態を表します。
D ディレクトリベースで構築されたjail。
I md ファイルイメージベースで構築されたjail。
B bde デバイスで構築されたjail。
E eli デバイスで構築されたjail。
Z zfs デバイスで構築されたjail。
R 起動状態のjail。
A bde デバイス、eli デバイスにおいて、attach されているjail。
S 停止状態のjail。
N config オプションにより、disable 状態となっているjail。
18
19. FreeBSD jailの構築(ezjail編)〜さらに詳しく〜
ezjail-admin config
-r
run、norun により、disable/enable 状態を切り替えることが出
来ます。disable 状態となったjail は、start 時に起動しません。
複数のjail 環境が存在する場合に、特定のjail 環境を起動させたく
ない場合に使用します。
-n
jail名の変更ができます。
-c
CPU が複数個ある場合、jail を動作させるCPU を指定することが
出来ます。内部的にcpuset(1) を使用しています。
# ezjail-admin config -r norun C78
# ezjail-admin config -n after before
# ezjail-admin config -c 0 C80 19
20. 21. FreeBSD jailの構築(ezjail編)〜さらに詳しく〜
ezjail-admin archive
jail 環境のバックアップを作成します。
-a オプションで作成後のファイル名、-d オプションで作成先の
ディレクトリパスを指定します。
デフォルトではjail のルートディレクトリに、jail 名をファイル名
として作成されます。
また、-A オプションを使用することで全てのjail のバックアップ
を作成することが出来ます。
ezjail-admin restore
archive オプションによって作成したバックアップから復元しま
す。
# ezjail-admin restore C80
# ezjail-admin archive C80
21
22. FreeBSD jail Tips
インストールしたら以下の初期設定をしておく。
/etc/resolv.confの作成。
/etc/hostsの追記。
cronからadjkerntzのコメントアウト。
タイムゾーンの設定。
22
23. FreeBSD jail Tips
マウントポイントの設定
jail のマウントポイントはホスト環境の/etc/fstab.<jail 名>に記
述されています。内容は、ホスト環境のfstab と同様です。
dmesg の不可視化
jail 環境でセキュアな環境を構築する場合、ハードウェアやカー
ネルログを出力するdmesg コマンドを実行できるのは好ましく
ないでしょう。sysctl により、抑止することが出来ます。
以下をホスト環境のsysctl.conf に追記します。
※下記カーネルパラメータを設定するとホストのrootユーザ以外
はdmesgの内容を取得することができません。
# security.bsd.unprivileged_read_msgbuf=0
23
24. FreeBSD jail Tips
pingを打てるようにする
/usr/local/etc/ezjail/<コンテナ名> ファイルに下記を記述する
ホストからパッケージ管理を行う
export jail_container001_parameters="allow.raw_sockets"
pkg –j コンテナ名 <info|install|delete|etc…>
24
25. 26. 27.