The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка Jail в FreeBSD с помощью ezjail (chroot jail freebsd limit)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: chroot, jail, freebsd, limit,  (найти похожие документы)
From: Сгибнев Михаил <msgibnev(ого-го какая собака)gmail.com> Date: Mon, 15 Jan 2010 17:02:14 +0000 (UTC) Subject: Настройка Jail в FreeBSD с помощью ezjail Оригинал: http://www.dreamcatcher.ru/bsd/027_jail.html Оригинал на английском: Setup FreeBSD Jail With ezjail Зададимся вопросом - как, используя сервер на базе 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 по умолчанию: 1. /usr/jails/ каталог размещения шаблонов jail. 2. /usr/jails/flavours/ настройка каждой jail может быть выполнена через flavours. Служит для того чтобы, например, добавить значение по умолчанию в файл /etc/resolv.conf или обновить существующий файл /etc/make.conf 3. /usr/jails/basejail/ базовая система jail, которая монтируется в режиме "read only" и является одинаковой для всех jail, что позволяет сэкономить место на жестком диске. 4. /usr/local/etc/rc.d/ezjail.sh скрипты Stop/Start/Restart 5. /usr/local/etc/ezjail.conf конфигурационный файл ezjail, который содержит настройки для rc скрипта. Таже данный файл может быть просмотрен командой ezjail-admin. 6. /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, выполните следующую команду: # ezjail-admin create -r /jails/smtpd.nixcraft.net.in smtpd.nixcraft.net.in 202.54.1.3 Обновление файла конфигурации SMTPD Jail По умолчанию, файл конфигурации расположен в /usr/local/etc/ezjail/smtpd_nixcraft_net_in. Откройте его и добавьте следующие строки: export jail_smtpd_nixcraft_net_in_hostname="smtpd.nixcraft.net.in" export jail_smtpd_nixcraft_net_in_ip="202.54.1.3,10.21.51.12" Шаг 5: Запускаем сервис jail Добавим строку запуска в файл /etc/rc.conf: # echo 'ezjail_enable="YES"' >> /etc/rc.conf После чего можем запустить службу: # /usr/local/etc/rc.d/ezjail.sh start Для управления конкретным jail можно воспользоваться следующими командами: # /usr/local/etc/rc.d/ezjail.sh {start/stop/restart} jail-name # /usr/local/etc/rc.d/ezjail.sh start httpd # /usr/local/etc/rc.d/ezjail.sh stop smtpd.nixcraft.net.in Просмотреть список jail можно командой: # jls Или, для получения дополнительной информации, воспользуйтесь синтаксисом: # jls -v Дя того, чтобы подключиться к jail, воспользуйтесь командой: # jexec jid csh При этом jid можно получить из вывода команды jls. В данном примере мы подключаемся к jail smtpd.nixcraft.net.in с jid # 2: # jexec 2 csh После подключения к jail мы можем устанавливать необходимое нам ПО, например bash: # pkg_add -r -v bash Или сервер Apache 2.2: # cd /usr/ports/www/apache22 # make install clean Для того, чтобы подключаться к jail удаленно, необходимо внести следующие изменения в ее файл /etc/rc.conf: # echo 'sshd_enable="YES"' >> /etc/rc.conf Затем откроем файл sshd_config и укажем в нем использовать только IP адрес, назначенный данной jail. После чего запускаем сервер OpenSSH: # /etc/rc.d/sshd start # sockstat -4 Обновить FreeBSD Jail можно так: # /usr/local/etc/rc.d/ezjail.sh stop # ezjail-admin update -p -i # /usr/local/etc/rc.d/ezjail.sh start Для обновления дерева портов используйте команду: # ezjail-admin update -P Журнальные файлы jail по умолчанию хранятся в каталоге /var/log. Для того чтобы, к примеру, просмотреть логи jail smtpd.nixcraft.net.in, воспользуйтесь командой: # tail -f jail_smtpd_nixcraft_net_in_console.log # grep 'error' jail_smtpd_nixcraft_net_in_console.log Для добавления httpd jail выполните следующие действия: # ezjail-admin create -r /jails/httpd.nixcraft.net.in httpd.nixcraft.net.in 202.54.1.4 # vi /usr/local/etc/ezjail/httpd_nixcraft_net_in # /usr/local/etc/rc.d/ezjail.sh start httpd.nixcraft.net.in # jls -v # jexec id csh Для резервного копированя jail рекомендую воспользоваться командами tar, rsync и dump. Для сохранения данных на ленту, воспользуйтесь командой: # tar -zcvf /dev/sa0 /jails/smtpd.nixcraft.net.in Для сохранения всех jail, расположенных в каталоге /jails используйте: # /sbin/dump -0uLf /dev/sa0 /jails/ А для инкрементных обновлений полученного архива: # /sbin/dump -1uLf /dev/sa0 /jails/ Используемая литература: Раздел FreeBSD Jail FreeBSD handbook. man jexec, jls, jail, dump, restore

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру