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] 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> |