Home > FreeBSD > Установка jail во FreeBSD

Установка jail во FreeBSD

July 20th, 2009

Сначала скачиваем исходники системы.
Внимание на тэг обновления! Он обязательно должен совпадать с веткой установленной системы. Например, для системы FreeBSD 7.2-RELEASE-p2 тэг должен быть tag=RELENG_7_2.

cd /usr/share/examples/cvsup

Правим хост в standard-supfile на *default host=cvsup5.FreeBSD.org и запускаем:

csup ./standard-supfile

Затем:

mkdir /home/jail_sample
setenv D /home/jail_sample
mkdir -p $D
cd /usr/src
make buildworld
make installworld DESTDIR=$D
cd etc/ [1]
make distribution DESTDIR=$D
mount -t devfs devfs $D/dev

В rc.conf :

ifconfig_bge0="inet 1.2.3.1  netmask 255.255.255.0"
ifconfig_bge0_alias0="inet 1.2.3.2 netmask 255.255.255.255"

jail_enable="YES"
jail_list="sample"

jail_sample_rootdir="/home/jail_sample"
jail_sample_hostname="www.sample.com"
jail_sample_ip="1.2.3.2"
jail_sample_devfs_enable="YES"
jail_sample_sysvips_allow="YES"

Убедиться, что демоны на хост-машине и в jail не пересекаются по используемым IP-адресам.

Команды для управления jail-ом:

/etc/rc.d/jail start/stop/restart sample
jls # список запущенных jail
jexec 2 tcsh # запустить шелл внутри jail с ID=2

Возможно, потребуется поправить некоторые sysctl на хост-машине:

  • security.jail.set_hostname_allowed – если 1, то внутри jail можно поменять имя хоста;
  • security.jail.socket_unixiproute_only – если 1 , то сокет в jail можно создать только для доменов PF_LOCAL, PF_INET или PF_ROUTE, иначе, возвращается ошибка;
  • security.jail.sysvipc_allowed – если 1, то то в jail можно получить доступ к глобальному System V IPC;
  • security.jail.getfsstatroot_only – если 1, то в jail можно получить информацию (df)только о той файловой системе на которой создан jail;
  • security.jail.allow_raw_sockets – если 1, то в jail можно создавать raw sockets;
  • security.jail.chflags_allow – если 1, то процессы в jail могут модифицировать флаги ФС.

FreeBSD ,

  1. Oops
    December 28th, 2009 at 13:37 | #1

    ну кто ж пользуется cvsup? ну что за бред!!! уже много лет в базовой системе идет csup написанный на C!!!!!!!!! Ну просто детский сад! Поправьте статью, а то стыдно такое писать в общий доступ!

  2. admin
    December 28th, 2009 at 14:22 | #2

    Спасибо за замечание. Поправил. Просто как то по привычке использовал cvsup 😉

  3. Oops
    December 28th, 2009 at 18:02 | #3

    извините что так резко написал.
    по-моему csup идет еще с версии FreeBSD 5.
    Вы напишите, что если фря старее, то ставьте cvsup.

  4. admin
    December 28th, 2009 at 18:08 | #4

    Вроде бы с шестерки. Но в любом случае уже очень давно.

  5. Алекс
    February 18th, 2011 at 11:55 | #5

    ну кто ж пользуется cvsup?
    Очень да же пользуемся
    Дело привычки у любой проге есть и плюс и минус
    Зачем на чела сразу бочки катить/

  6. May 28th, 2011 at 20:24 | #6

    Описано коротко и ясно, по вашей статье все получилось, а то кругом копипаст, а у лисяры как-то путанно расписано. вынес веб-сервер на клетку, что бы безопаснее было.
    Жаль jail не позволяет нормально ограничивать ресурсы..

  1. No trackbacks yet.