Плюсы ezjail:
- экономия места за счет создания базовой клетки на основе которой создаются все остальные (к примеру, директория basejail занимает 1,1 гигабайта, а вновь созданная клетка до запуска - 3 мегабайта),
- возможность легкого обновления клеток за счет обновления базовой клетки,
- возможность базовой конфигурации новых клеток за счет использования шаблонов flavours,
- автоматическое создание клеток в виртуальных дисках,
- облегчение административных задач.
Пошаговая инструкция по запуску клеток с помощью ezjail:
1. Обновляем базовую систему из исходников. Кроме того, необходимо все возможные сервисы повесить на конкретные IP-адреса чтобы в будущем не было конфликтов сервисов запущенных в базовой системе и в клетках. Такими сервисами могут быть ftpd, sshd, dhcpd, syslogd, natd и прочие.
2. Устанавливаем ezjail из портов.
cd /usr/ports/sysutils/ezjail3. Создаем шаблон из которого будут создаваться клетки.
make && make install
Тут есть два способа: скачать систему в виде бинарников или использовать, собранный в процессе обновления базовой системы, мир.
Способ первый:
ezjail-admin install -pmСкачаются бинарники с FTP и будет создана базовая клетка, в том числе система портов (-p) и страницы man (-m).
Способ второй:
ezjail-admin update -piБазовая клетка будет создана с помощью "make installworld". Это возможно в случае, если в базовой системе предварительно была выполнена команда "make buildworld", к примеру, в процессе обновления. Если же требуется собрать мир заново, то следует указать опцию -b.
Базовая клетка будет создана в директории /usr/jails/basejail/
4. Создаем необходимые клетки.
Минимальным набором параметров для создания клетки является имя клетки и IP-адрес. Клетка создается в директории с именем совпадающем с именем клетки в директории /usr/jails/. Также при создании производится проверка, добавлен ли указанный IP в систему. Используется команда вида:
ezjail-admin create name ipК примеру:
ezjail-admin create japache 192.168.0.1015. Запускаем систему jail.
Для автоматического старта после перезапуска добавляем необходимую строку в rc.conf:
echo 'ezjail_enable="YES"' >> /etc/rc.confПосле этого запускаем службу следующей командой:
/usr/local/etc/rc.d/ezjail startТакже мы можем запустить конкретную клетку:
/usr/local/etc/rc.d/ezjail start japacheТакже остановить/перезапустить командами stop/restart.
Узнать список запущенных клеток можно командой jls. Подключиться к клетке - командой jexec jid csh.
Вот и всё, что нужно для старта клетки. Однако есть ряд других возможностей.
Удаление клеток.
ezjail-admin delete [-w] nameЕсли Вы просто удаляете клетку, то её файлы сохраняются. Это можно использовать для того, чтобы пересоздать клетку с другим именем или IP-адресом, к примеру.
Параметр -w не обязательный, его необходимо использовать если вы хотите удалить клетку безвозвратно вместе с файлами.
Для того, чтобы пересоздать клетку с имеющимися файлами, используйте команду вида:
ezjail-admin create -x [-r jaildir] name ipПараметр -x говорит о том, что клетку нужно пересоздать с заданными параметрами.
Параметр -r jaildir не обязательный. Его можно использовать, если вы хотите создать пересоздать клетку с новым именем в старой директории. jaildir - имя директории, содержащей клетку, в директории /usr/jails/ (по умолчанию).
Flavours.
Данная система позволяет при создании клетки добавить в неё конфигурационные файлы из заранее созданного шаблона в директории /usr/jails/flavours. Шаблон представляет собой набор директорий и файлов, которые будут добавлены в клетку. Также можно создать файл ezjail.flavours который запустится при первом запуске клетки и произведет некоторые действия, к примеру, добавит нужных пользователей или установить нужные пакеты. Почерпнуть информацию о нем можно в файле-примере, который располагается в директории /usr/jails/flavours/example/etc/rc.d
Чтобы применить flavour при создании клетки необхоимо использовать параметр -f flavour
Что ещё.
Файлы конфигураций клеток, созданных ezjail, хранятся в директории /usr/local/etc/ezjail
Ezjail позволяет создавать клетки на основе виртуальных дисков заданного объема.
Ezjail позволяет использовать файловую систему ZFS для каждой клетки в отдельности.
Существует конфигурационный файл ezjail.conf в директории /usr/local/etc/ в котором содержатся основные настройки системы ezjail.
Смотрите также остальные статьи про jail:
Создание и настройка jail окружения в FeeBSD
Настройка и управление jail в FreeBSD.
Ограничение ресурсов jail в FreeBSD (память, процессор, жесткий диск)
0 коммент.:
Отправить комментарий