2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Создание jail через dialog меню
Команда jcreate, jconstruct-tui
% cbsd jconstruct-tui
% cbsd jcreate jconf=/path/to/conf.jconf
Клетка создается по заранее сформированному конфигурационному файлу через cbsd jcreate jconf=path_to_cfg. Для формирования конфигурации, можно воспользоваться cbsd jconstruct (в режиме диалога вопрос-ответ), либо через dialog(1) интерфейс cbsd jconstruct-tui, либо через WEB интерфейс. При корректно настроеном pkg.conf и рабочем репозитории, есть возможность предустановить в клетку готовые пекеджи, маркировав их через pkglist меню. В целях безопасности, рекомендуется использовать официальный pkg репозиторий FreeBSD или создавать свои собственные версии сборок ПО.
Примечание: если репозиторий недоступен, пункт pkglist при cbsd jconstruct-tui диалога выбора пекеджей не выведет.
Примечание: мульти-репозитории и возможность их выбора при создании клетки пока не реализовано, используется репозиторий из основного pkg.conf.
Внимание! Поскольку список и выбор пекеджей формируется по pkg.conf мастер машины, имейте ввиду, что наполнение выбранных пекеджей по списку сработает лишь в том случае, если архитектура и версия клетки совпадает с нодой.
Если вы не пользуйтесь автоматизацией (Puppet, Ansible, собственная генерация jconf) по созданию окружений и вам приходится создавать контейнера с отличающимися параметрами, используйте возможность создать собственный профиль для переопределения значений по-умолчанию. Вы можете переопределить любой параметр - предлагаемый темплейт имени, версию, привязку к конкретному интерфейсу вместо 'auto' и т.д.
Для создания через DIALOG:
% cbsd jconstruct-tui
Это же меню для создания jail доступно при конфигурировании CBSD через bsdconfig
Пускай вас не пугает небольшое ;-) количество настроек в jconstruct-tui - здесь выведены только самые важные, подходящие для большинства людей. Если вам нужно более гибкая настройка - используйте cbsd jconfig после создания окружения
Если jconstruct-tui отработала корректно, по окончанию будет задан вопрос о создании клетки. В случае положительно ответа, jcreate будет выполнен на новую конфигурацию автоматически. В противном случае, скрипт выведет путь к конфигурационному файлу (в $workdir/tmp), по которой можно создать клетку.
Внимание!
При создании новой клетки или получения ее из репозитория, возьмите за правило ВСЕГДА перебивать пароль пользователя root в клетке, даже если не планируете запускать в ней ssh/ftp/rsh и тому подобные сервисы.
Если клетка создается с applytpl=0, то по-умолчанию файлы /etc/{passwd,master.passwd,group} в клетке соответствуют оригинальным "чистым" файлам FreeBSD, те, пароль root пуст. При applytpl=1 а также при построении клеток для репозитория используется темплейт из $workdir/share/jail-skel, в котором хеш рута соответствует паролю CBSD в инсталляции CBSD по-умолчанию. Вы можете изменить стандартный пароль рута для создаваемых новых клеток, изменив хэш в skel-файле master.passwd через команду:
% vipw -d ${workdir}/share/jail-skel/etc
либо, указывать альтернативный путь в jail-skel каталогу в .jconf (утилита jcreate) конфиге.
Вы можете переопределить параметр jailskeldir="$workdir/share/jail-skel", прописанный в $workdir/etc/defaults/jail-freebsd-default.conf для указания альтернативного каталога темплейтов, файлы в котором перезапишут оригинальные файлы базы при создании клетки. Для этого, создайте файл jail-freebsd-XXXXX.conf в каталоге $workdir/etc и впишите свое значение.
Подробнее смотрите: Профили для создания jail
Пример (заполнение jname, fqdn, ips полей + GO):
% cbsd jconstruct-tui
Если репозиторий сконфигурирован корректно, можно выбрать пекеджи на установку. Используйте первый символ названия порта для более быстрого поиска и пробел для маркировки:
Обязательное поле для заполнения: короткое (одним словом) имя клетки. Это имя будет использоваться для идентификации jail:
Обязательное поле для заполнения: полное (с доменом) имя клетки. Это имя будет использовано как hostname клетки:
Обязательное поле для заполнения: IP адрес клетки. Может иметь сетевой префикс через запись вида IP/prefix.
Для установки более одного IP адреса, воспользуйтесь редактированием файла rc.conf клетки, описанным в конфигурации клетки
При вызове пункта GO, система предложит создать клетку немедленно, автоматически запустив cbsd jcreate jconf=... В противном случае, будет выведен путь к сохраненной конфигурации для запуска команды cbsd jcreate вручную: