PDA

Показать полную графическую версию : Еще раз про jail


Negativ
14-08-2006, 12:35
Что есть:
Есть клетка в которой работают все сервисы. На основном сервере только ssh.
Клетка пока висит на алиасе внутреннего интерфейса.
Хотелось бы:
чтобы одна и та же клетка моталась на двух алиасах (внутреннего и внешнего интерфейса).
Возможно ли это как-то реализовать?
Будет ли работать такое:
jail /server/jail myserver.ru 192.168.1.2 /bin/sh /etc/rc
jail /server/jail myserver.ru external_ip /bin/sh /etc/rc

misher
14-08-2006, 12:57
Таким образом получится два jail, вобщем даже возможен конфликт.

Должна быть возможность редиректнуть сервисы с внешнего алиасного
интерфейса на внутренний интерфейс jail при помоши фаервола.

Вобщем рекомендую прочитать мануал на какой-нибудь фаервол (рекомендую pf),
и man rc.conf, чтобы найти переменную для разрешения прохождения пакетов между интерфейсами
(что-то вроде ip_forwarding, не точно помню)

Negativ
14-08-2006, 13:22
misher
мне нужно несколько другое.
Я хотел бы чтобы некоторые сервисы jail работали только внутри и снаружи не слушались. Как это реализовать?
ведь ifconfig в jail выдает

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:04:23:ab:f1:b8
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:04:23:bb:f1:b9
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

misher
14-08-2006, 14:02
Хотелось бы:
чтобы одна и та же клетка моталась на двух алиасах (внутреннего и внешнего интерфейса).

А эту фразу как понимать?
Ну да ладно, тогда опять в фаервол в руки и блокировать пакеты из внешней сети к jail


ifconfig не говорит что сервисы видны на интерфейсе em1...
А просто сообщает о наличии в системе такого.

Negativ
14-08-2006, 14:34
misher
Хотелось бы:
чтобы одна и та же клетка моталась на двух алиасах (внутреннего и внешнего интерфейса).
ну этого мне бы хотелось, тогда бы было бы все намного проще.

В конечном варианте будет совсем иначе:

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:04:23:ab:f1:b8
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet external_ip netmask 0xffffff00 broadcast external
ether 00:04:23:bb:f1:b9
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

тогда сервисы будут все на внешнем интерфейсе и будут доступны извне.
Соответственно, если поступать так как ты говоришь через firewall, то на основном сервере надо будет добавить правила запрещающие доступ к отдельным сервисам из-вне. И разрешить из локальной сети.
Можно пример реализации на ipfw тут нарисовать, либо дать ссылку на manual по такому варианту? Я что-то смутно как-то себе это представляю.

misher
14-08-2006, 15:02
Можно пример реализации на ipfw тут нарисовать, либо дать ссылку на manual по такому варианту? Я что-то смутно как-то себе это представляю.

Я могу помочь только попозже и с pf (ipwf давно не трогал), сейчас сижу на работе за линуксом...

Если ищешь мануал для pf то команда man pf, там внимательно читаешь про: pass, block, rdf - этого должно хватить.

Negativ
14-08-2006, 17:18
misher
pf в паре с ipfw можно юзать я так понимаю. Очередность прохода пакетов какая? ipfw -> pf или pf -> ipfw ?

тут второй вопрос родился:
можно ли рулить сервисами клетки с основного сервера, не подключаясь шеллом непосредственно к клетке?

misher
14-08-2006, 18:50
Сожительство pf и ipfw - я такого не видел,
в принципе на ipfw эту задачу тоже можно выполнить
пример конфига для pf:
jail_ip = 192.168.1.1
map_ip = 192.168.1.2

rdr from any to $map_ip -> $jail_ip

block all
block from any to $jail_ip
block from $jail_ip to any
#Тут можно открыть необходимый доступ для jail_ip
pass from any to $jail_ip

Вобщем переведи это дело с pf на ipfw,
редиректом в ipfw кажется занимается fwd

тут второй вопрос родился:
можно ли рулить сервисами клетки с основного сервера, не подключаясь шеллом непосредственно к клетке?

Всмысле?
Нет желания входить на клетку через telnet и тому подобное?
Впринципе править файлы клетки можно прямо с главного сервера, но рискуешь попутать на файлах идентификаторы пользователей, груп - вобщем так делать можно, только осторожно.
Или можно также как запускаешь jail, вместо /etc/rc указать /bin/csh.
Вобщем лучше и удобнее нормального (сетевого) входа в систему вроде как и нет...

mar
14-08-2006, 19:52
/маленькое дополнние - pf работает не вместе с, а вместо ipfw/

lehis
21-08-2006, 02:08
тут второй вопрос родился:
можно ли рулить сервисами клетки с основного сервера, не подключаясь шеллом непосредственно к клетке?

Можно глянуть в сторону jexec

Negativ
21-08-2006, 17:42
lehis
уже нагляделся. =) Но все-равно спасибо!




© OSzone.net 2001-2012