Страница 1 из 1
OpenBSD PF Binat
Добавлено: 2009-05-04 19:35:26
Niki
ext_if_os="rl0"
int_if="rl2"
dmz_if="rl3"
задача: выставить наружу сервер из сети привязанной к dmz_if, при обычном нате все работает, но нет "белого ip".
как только добавляю правило Код:
Код: Выделить всё
binat on $ext_if_os from $mail_server_internal to any -> $mail_server_external
при ping ya.ru tcpdump показывает Код:
Код: Выделить всё
tcpdump -n -e -ttt -i pflog0 host 1.1.1.82
tcpdump: listening on pflog0, link-type PFLOG
May 04 22:30:59.388963 rule 3/(match) pass out on rl0: 1.1.1.82 > 213.180.204.8: icmp: echo request
т.е. пакеты уходят с подмененным ip но по всей видимости не могут вернуться обратно.
Как можно исправить ситуацию?
добавил Код:
в настройки сетевого интерфейса, ip начал пинговаться но только из внутренней сети.
ping ya.ru по прежнему не проходит.
Re: OpenBSD PF Binat
Добавлено: 2009-05-04 22:36:46
iZEN
Попробовать:
Код: Выделить всё
# Разрешить трафик из DMZ без дальнейшей фильтрации
pass out quick on $dmz_if proto { tcp, udp } all modulate state
# Разрешить исходящий трафик
pass out on $ext_if_os proto { tcp, udp, icmp } all modulate state
Что значит нет "белого" IP?
На внешнем интерфейсе $ext_if_os адрес присваивается динамически? Тогда его в "скобки" брать нужно: ($ext_if_os).
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 8:21:11
Niki
нет нет, вы неправильно поняли.
в случае с обычным натом все ок, белый ip есть.
проблема вот в чем
$ext_if_os="1.1.1.4"
$dmz_if="192.168.2.1"
host="192.168.2.2"
после нат исходящий пакет имеет адрес источника 1.1.1.4, но мне нужно чтобы он имел адрес 1.1.1.82(в данном случае)
соответственно я пишу
Код: Выделить всё
binat on $ext_if_os from 192.168.2.2 -> 1.1.1.82
пакет уходит нормально, адрес подменяется, но по всей видимости не может вернуться.
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 8:56:56
Niki
iZEN писал(а):Попробовать:
Код: Выделить всё
# Разрешить трафик из DMZ без дальнейшей фильтрации
pass out quick on $dmz_if proto { tcp, udp } all modulate state
# Разрешить исходящий трафик
pass out on $ext_if_os proto { tcp, udp, icmp } all modulate state
Что значит нет "белого" IP?
На внешнем интерфейсе $ext_if_os адрес присваивается динамически? Тогда его в "скобки" брать нужно: ($ext_if_os).
не помогло.
tcpdump показывает что и без этих правил пакеты пропускаются на обоих интерфейсах
Код: Выделить всё
tcpdump -n -e -ttt -i pflog0 host 1.1.1.82
tcpdump: listening on pflog0, link-type PFLOG
May 04 22:30:59.388963 rule 3/(match) pass out on rl0: 1.1.1.82 > 213.180.204.8: icmp: echo request
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 10:31:39
iZEN
Я сам ещё только изучаю PF и до организации DMZ руки не дошли.
Для полной проверки нужно отменить запрет по умолчанию (убрать block all в правилах фильтрации). Возможно проблемы в маршрутизации, а не в фильтрации.
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 10:44:52
paradox
пакет уходит нормально, адрес подменяется, но по всей видимости не может вернуться.
а вы уверены что ващ белый айпи провайдером вам промаршрутизирован обратно?
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 12:45:34
Niki
рядом стоит шлюз с керио 1.1.1.2 (мой 1.1.1.4) через него све работало, единственное отличие в конфигурации нитерфейчов заключается в том что у меня dmz_if=192.168.2.1 а на старом шлюзе 1.1.1.65
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 12:49:15
paradox
наверное мы друг друга не поняли
наверное стоит топологию рисовать
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 13:28:43
Niki
На сколько я понял выставить сервер наружу в pf можно только по средствам binat, для этого я решил сделать отдельную зону (192.168.2.2) и потом перевести все машины из старой дмз в нее. Kerio это старый шлюз, котрый все еще работает(до настройки нового маршрутизатора).
[img]
http://fotki.yandex.ru/users/nikimetall ... 55/?page=0
[/img]
может быть я что то делаю принципиально не правильно?
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 13:42:42
paradox
что то я тоже уже начинаю непонимать что вы там хотите
из того что я понял
у вас есть сеть прова 1.1.1.0/24 к примеру (может и больше)
и была страя dmz(1.1.1.65/26) которую вывыставляли наружу
теперь вы хотите в другой dmz выставить наружу (192.168.2.1/24)? так сети провайдера ничего не известно о вашей 2.1
выставить можно токо (1.1.1.65/26)
причем я думаю что нужно потушить керио 1.1.1.2 и повесить этот айпи на openbsd
поскоку хз конечно как у вас там дальше накручено
но у прова может быть завязано имено на керио
потому у вас пакет и не возращаеться обтано( он уходит обратно на керио а не на опенбсд)
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 13:52:44
Гость
paradox писал(а):теперь вы хотите в другой dmz выставить наружу (192.168.2.1/24)? так сети провайдера ничего не известно о вашей 2.1
выставлять наружу 192.168.2.1/24 я естественно не собираюсь.
есть сервер с адресом 192.168.2.2 он подключен к OpenBSD, я хочу с помощью binat заменять адрес источника на 1.1.1.82, принимать пакеты приходящие на 1.1.1.82 на шлюзе и все их переправлять на 192.168.2.2.
т.е. сделать двухстороннее соответствие между ip адресами, собственно говоря binat.
я понял что он работает именно так.
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 13:55:15
paradox
1.1.1.82 я на семе не вижу
перерисовывай
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 13:57:04
paradox
ты точно уверен что провайдер тебе всю 1.1.1.65/26 маршрутизирует?
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 14:11:34
Гость
paradox писал(а):ты точно уверен что провайдер тебе всю 1.1.1.65/26 маршрутизирует?
когда сервер с этим ip я подключал к Kerio, размещая его в старой ДМЗ все работало нормально.
провайдер дал нам всю сеть 1.1.1.1/24
что вы подразумеваете под "маршрутизирует"?
видимо не совсем понимаю(
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 14:12:29
Niki
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 14:25:27
paradox
Код: Выделить всё
binat on 1.1.1.4 from 192.168.2.2 -> 1.1.1.82
там алияс 1.1.1.82 есть?
если есть и все равно ничего не работает
есть вариант что нужно както специфично указывать айпишники если используються алиясы
если нет - тогда у меня идеи закончились)
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 15:14:11
iZEN
Тут с маской что-то не то.
Машины с адресами из пространств
192.168.1.0/24
и
192.168.2.0/24
не будут видеть друг друга.
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 15:38:56
Гость
а вот алиас то я не на тот интерфейс вешал)))
но когда повесил его на rl0 инет почему то везде кроме шлюза отвалился
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 15:40:00
paradox
алияс нужно вешать на внешний интерфейс
1.1.1.4 который наскоко я понимаю
Re: OpenBSD PF Binat
Добавлено: 2009-05-05 15:53:22
Гость
да я понимаю, просто голова уже не варит.