FreeBSD 12 + Jail
FreeBSD 12 + Jail
Из серии статей про Jail, простой пример создания из снапшота
Автозагрузка Jail:
# echo 'jail_enable="YES"' >> /etc/rc.conf
Конфигурация для jail:
# vi /etc/jail.conf
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;
mount.devfs;
path = "/data/jails/$name";
allow.raw_sockets = 1;
allow.sysvipc = 1;
test_jail_name {
host.hostname = "test_jail_name.local";
interface = "em0";
ip4.addr = 10.0.0.10;
}
Где em0 - реальный интерфейс хостовой системы
Создание файловой системы zfs для клеток:
# zfs create -o mountpoint=/data/jails zroot/jails
Создание файловой системы zfs для basejail:
# zfs create zroot/jails/basejail
Забираем сходники для клетки:
# wget https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/base.txz
# wget https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/lib32.txz
# tar -xvf base.txz -C /data/jails/basejail && tar -xvf lib32.txz -C /data/jails/basejail
# rm -rf base.txz && rm -rf lib32.txz
Обновление basejail:
# freebsd-update -b /data/jails/basejail/ fetch install
Настройка basejail:
# cd /data/jails/basejail
# echo 'sshd_enable="YES"' > ./etc/rc.conf
Делаем zfs snapshot, с которого будут клонироваться новые клетки:
# zfs snapshot zroot/jails/basejail@12.0-RELEASE && zfs list -t snapshot
Тут название 12.0-RELEASE - может быть любым
Создание клетки из zfs snapshot:
# zfs clone zroot/jails/basejail@12.0-RELEASE zroot/jails/test_jail_name
Запуск jail:
# service jail start
Список клеток:
# jls
Подключаемся:
# jexec test_jail_name
Комментарии пользователей
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
|