Быстрое создание jail-машины во FreeBSD

Ответить
admin
Администратор
Сообщения: 199
Зарегистрирован: 05 янв 2011, 04:19

Быстрое создание jail-машины во FreeBSD

Сообщение admin »

Быстрое создание jail-машины во FreeBSD

Нам понадобится первый установочный диск FreeBSD 6.2 и немного свободного времени.
Предполагается что наша jail-машина будет размещена в директории /var/jail.

Список действий:

1. Создать директорию /var/jail/machine для jail-машины;

2. Смонтировать установочный диск и распаковать базовые файлы в директорию jail-машины:

# mount /cdrom

для bash:

# DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh

для csh:

# env DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh

3. Создать пустой файл /var/jail/machine/etc/fstab:

# touch /var/jail/machine/etc/fstab

4. Создать файл /var/jail/machine/etc/rc.conf со следующим содержанием:

# Запускаем sshd
sshd_enable="YES"
sendmail_enable="NONE"
syslogd_flags="-ss"
rpcbind_enable="NO"
network_interfaces=""

5. Теперь требуется создать непривилегированного пользователя и изменить
пароль пользователя root.
Входим в каталог jail-машины

# chroot /var/jail/machine /bin/csh

Создаем пользователя

# adduser

Меняем пароль пользователя root

# passwd
# exit

6. В файл /etc/rc.conf основной системы добавить:

# Разрешаем запуск jail-машин
jail_enable="YES"
# Запрещаем им менять свое имя jail_set_hostname_allow="NO"
# Перечисляем jail-машины в системе.
jail_list="machine"

# Jail-машина "machine"
# Корневая директория jail_machine_rootdir="/var/jail/machine"
# Имя jail_machine_hostname="machine.local"
# IP-адрес jail_machine_ip="192.168.0.10"
# На какой сетевой интерфейс будет цепляться jail-машина
jail_machine_interface="ed0"
# монтируем файловую систему devfs внутри jail-машины.
jail_machine_devfs_enable="YES"
# Скрипты запуска и останова
jail_machine_exec_start="/bin/sh /etc/rc"
jail_machine_exec_stop="/bin/sh /etc/rc.shutdown"

7. Кроме того требуется все запускаемые сервисы основной системы привязать к его ip-адресам
(не должны слушаться порты на ip-адресах jail-машин).
Например, в rc.conf:

# Супер-сервер inetd
inetd_enable="YES"
# Слушает порт только на 192.168.0.1
inetd_flags="-wW -a 192.168.0.1"
# Syslogd
syslogd_enable="YES"
# Не слушать порты
syslogd_flags="-ss"

8. Запускаем созданную jail-машину:

# /etc/rc.d/jail start
Ответить