RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Зададимся вопросом - как, используя сервер на базе FreeBSD, получить несколько независимых окружений, в народе называемых jail? Например, как использовать одну из jail для почтового сервера, а вторую для web-сервера, при этом каждая jail должна иметь собственный IP-адрес?
Каждая jail на FreeBSD имеет собственные файлы, процессы и учетные записи. Находясь внутри, практически невозможно отличить jail от реальной системы. Самым простым способом определения, создания и модифицирования jail является использование среды ezjail.
Внимание! Сетевые демоны, перед использованием jail, должны быть сконфигурированы на использование адреса 127.0.0.1 или на работу с адресом интерфейса. По крайней мере, это необходимо сделать со службами sshd и syslogd.
Вводные данные server.nixcraft.net.in : FreeBSD host server running v7.2 with 202.54.1.2 smtpd.nixcraft.net.in : Mail server jail with 202.54.1.3 httpd.nixcraft.net.in : Web server jail with 202.54.1.4
Шаг 1: Обновляем корневую систему
Убедитесь в том, что ваша система достаточно актуальна. Руководство по обновлению системы вы можете найти здесь.
Шаг 2: Устанавливаем ezjail
Для установки ezjail выполните нижеприведенные команды. Таким образом, мы получим два скрипта, позволяющие нам более просто управлять жизненным циклом jail. # cd /usr/ports/sysutils/ezjail # make install clean
Расположение файлов ezjail по умолчанию:
/usr/jails/ каталог размещения шаблонов jail. /usr/jails/flavours/ настройка каждой jail может быть выполнена через flavours. Служит для того чтобы, например, добавить значение по умолчанию в файл /etc/resolv.conf или обновить существующий файл /etc/make.conf /usr/jails/basejail/ базовая система jail, которая монтируется в режиме "read only" и является одинаковой для всех jail, что позволяет сэкономить место на жестком диске. /usr/local/etc/rc.d/ezjail.sh скрипты Stop/Start/Restart /usr/local/etc/ezjail.conf конфигурационный файл ezjail, который содержит настройки для rc скрипта. Таже данный файл может быть просмотрен командой ezjail-admin. /usr/local/etc/ezjail/ все файлы конфигурации ваших jail хранятся здесь
Шаг 3: Создаем базовый шаблон jail
Для создания или обновления окружения ezjail (aka basejail) из исходных текстов, выполните следующую команду:
# ezjail-admin update -p -i
Где: -p : Provide ports for jail. -i : не запускать "make world".
Если у вас нет /usr/src и вы никогда не запускали make world, вы можете установить шаблон с ftp сервера, используя утилиту ezjail-admin:
# ezjail-admin install
Шаг 4: Создаем SMTPD Mail Server Jail
Для создания jail smtpd.nixcraft.net.in с адресом 202.54.1.3, располагающейся в каталоге /jails/smtpd.nixcraft.net.in, выполните следующую команду:
Журнальные файлы jail по умолчанию хранятся в каталоге /var/log. Для того чтобы, к примеру, просмотреть логи jail smtpd.nixcraft.net.in, воспользуйтесь командой: