Категорії
FreeBSD

Некоторые особенности работы с jail

Расскажу о работе с jail. Недавно в качестве теста столкнулся с этой системой виртуализации. Сами-то клетки вроде бы полноценные системы, но не совсем. Например, маршрутизацией можно управлять только из родительской системы. То есть, добавлять, удалять изменять таблицу напрямую из самой клетки нельзя. Только из родительской.

По дефолту в jail не работают pingtraceroute. Что бы заработали делаем следующее:

#sysctl security.jail.allow_raw_sockets=1

Что бы разрешить работать tcpdump – создаём файл /etc/devfs.rules и пишем такое:

[devfsrules_jail=4]
add path 'bpf*' unhide

Так же в jail нельзя изменять таблицу маршрутизации непосредственно из самой клетки, но можно изменять из гостевой ОС. Можно так же использовать множественные таблицы маршрутизации (для каждой jail своя таблица) и изменять таблицу через setfib. Делается это так: в гостевой ОС в/etc/rc.conf пишем такую строку:

jail_${NAME_OF_JAIL}_fib="1"                           # Routing table for setfib(1)

А далее уже в вручуную или в скрипте писать такое:

setfib 1 route add default 1.1.1.1

После любого обновления или пересборки мира на гостевой ОС нужно обязательно выполнить команду:

#ezjail-admin update -i

иначе, во первых будут глючить сами клетки, а вто вторых может не запустится вообще ezjail, выдавая сообщение, наподобии такого:

/libexec/ld-elf.so.1: Shared object "libc.so.7" not found

А теперь о том, что может работать в jail, а что нет. Работать может apache, nginx, mysql, postgresql, postfix, exim, dovecot, mailman, asterisk,…

Что не может работать. Это приложения, которые используют на низком уровне сетевые протоколы, а так же те, которым требуется изменять таблицу маршрутизации. В частности quagga, файервол.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff