This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
технология_jail [2015/05/13 10:50] val [Создание мира] |
технология_jail [2016/04/22 14:02] (current) val [FreeBSD8.X] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Технология jail ====== | ====== Технология jail ====== | ||
| - | * FreeBSD Jail ([[http://ru.wikipedia.org/wiki/FreeBSD_Jail]]) | + | * [[http://ru.wikipedia.org/wiki/FreeBSD_Jail|FreeBSD Jail]] |
| - | * Creating and Controlling Jails ([[http://www.freebsd.org/doc/handbook/jails-build.html]]) | + | * [[http://www.freebsd.org/doc/handbook/jails-build.html|Creating and Controlling Jails]] |
| - | * Управление переменными ядра в Jail ([[http://www.unixfaq.ru/index.pl?req=qs&id=1002]]) | + | * [[http://www.unixfaq.ru/index.pl?req=qs&id=1002|Управление переменными ядра в Jail]] |
| - | ===== Создание "мира" ===== | + | |
| + | ===== Создание копии системы ===== | ||
| + | |||
| + | ==== С использованием дистрибутива ==== | ||
| + | <code> | ||
| + | # mount_cd9660 /dev/cd0 /mnt | ||
| + | |||
| + | # setenv D /var/jail/www | ||
| + | |||
| + | # mkdir -p $D | ||
| + | |||
| + | # tar -xvf /mnt/usr/freebsd-dist/base.txz -C $D | ||
| + | </code> | ||
| + | |||
| + | ==== С использованием компиляции и установки "мира" системы ==== | ||
| === Подготовка исходных текстов === | === Подготовка исходных текстов === | ||
| Line 28: | Line 42: | ||
| </code> | </code> | ||
| - | === Совместное использование дерева портов === | + | ===== Совместное использование дерева портов ===== |
| <code> | <code> | ||
| [server:~] # mount_nullfs /usr/ports/ /var/jail/www/usr/ports | [server:~] # mount_nullfs /usr/ports/ /var/jail/www/usr/ports | ||
| </code> | </code> | ||
| + | |||
| ===== Запуск jail ===== | ===== Запуск jail ===== | ||
| + | |||
| + | ==== FreeBSD10.X ==== | ||
| + | |||
| + | * [[http://therub.org/2014/08/11/convert-freebsd-jails-from-rc.conf-to-jail.conf/|Convert FreeBSD 10 Jails from rc.conf to jail.conf]] | ||
| + | |||
| <code> | <code> | ||
| [server:~] # cat /etc/rc.conf | [server:~] # cat /etc/rc.conf | ||
| Line 40: | Line 60: | ||
| jail_enable="YES" | jail_enable="YES" | ||
| jail_list="www" | jail_list="www" | ||
| - | jail_www_rootdir="/var/jail/www" | ||
| - | jail_www_hostname="www.corpX.un" | ||
| - | jail_www_interface="em0" | ||
| - | jail_www_ip="192.168.X.20" | ||
| - | jail_www_devfs_enable="YES" | ||
| - | jail_www_devfs_ruleset="devfsrules_jail" | ||
| </code><code> | </code><code> | ||
| - | [server:~] # sysctl security.jail.allow_raw_sockets=1 | + | [server:~] # cat /etc/jail.conf |
| + | </code><code> | ||
| + | allow.raw_sockets = 1; | ||
| + | exec.clean; | ||
| + | exec.system_user = "root"; | ||
| + | exec.jail_user = "root"; | ||
| + | exec.start = "/bin/sh /etc/rc"; | ||
| + | exec.stop = "/bin/sh /etc/rc.shutdown"; | ||
| + | mount.devfs; | ||
| + | allow.set_hostname = 0; | ||
| + | allow.sysvipc = 0; | ||
| - | [server:~] # /etc/rc.d/jail start www | + | www { |
| + | host.hostname = "www.corpX.un"; | ||
| + | path = "/var/jail/www"; | ||
| + | interface = "em0"; | ||
| + | ip4.addr = "192.168.X.20"; | ||
| + | exec.consolelog = "/var/log/jail_www_console.log"; | ||
| + | } | ||
| + | </code><code> | ||
| + | [server:~] # service jail start www | ||
| </code> | </code> | ||
| + | |||
| ===== Просмотр и подключение к jail ===== | ===== Просмотр и подключение к jail ===== | ||
| Line 63: | Line 96: | ||
| ===== Настройка jail ===== | ===== Настройка jail ===== | ||
| <code> | <code> | ||
| + | www# hostname | ||
| + | |||
| www# cat /etc/rc.conf | www# cat /etc/rc.conf | ||
| </code><code> | </code><code> | ||
| - | hostname=www.corpX.un | ||
| sshd_enable=yes | sshd_enable=yes | ||
| </code><code> | </code><code> | ||