OpenBSD PF Binat

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Niki
проходил мимо

OpenBSD PF Binat

Непрочитанное сообщение Niki » 2009-05-04 19:35:26

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 но по всей видимости не могут вернуться обратно.
Как можно исправить ситуацию?
добавил Код:

Код: Выделить всё

inet alias 1.1.1.82 255.255.255.255
в настройки сетевого интерфейса, ip начал пинговаться но только из внутренней сети.
ping ya.ru по прежнему не проходит.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: OpenBSD PF Binat

Непрочитанное сообщение iZEN » 2009-05-04 22:36:46

Попробовать:

Код: Выделить всё

# Разрешить трафик из 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).
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Niki
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Niki » 2009-05-05 8:21:11

нет нет, вы неправильно поняли.
в случае с обычным натом все ок, белый 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 
пакет уходит нормально, адрес подменяется, но по всей видимости не может вернуться.

Niki
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Niki » 2009-05-05 8:56:56

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 

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: OpenBSD PF Binat

Непрочитанное сообщение iZEN » 2009-05-05 10:31:39

Я сам ещё только изучаю PF и до организации DMZ руки не дошли.

Для полной проверки нужно отменить запрет по умолчанию (убрать block all в правилах фильтрации). Возможно проблемы в маршрутизации, а не в фильтрации.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 10:44:52

пакет уходит нормально, адрес подменяется, но по всей видимости не может вернуться.
а вы уверены что ващ белый айпи провайдером вам промаршрутизирован обратно?

Niki
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Niki » 2009-05-05 12:45:34

рядом стоит шлюз с керио 1.1.1.2 (мой 1.1.1.4) через него све работало, единственное отличие в конфигурации нитерфейчов заключается в том что у меня dmz_if=192.168.2.1 а на старом шлюзе 1.1.1.65

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 12:49:15

наверное мы друг друга не поняли
наверное стоит топологию рисовать

Niki
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Niki » 2009-05-05 13:28:43

На сколько я понял выставить сервер наружу в pf можно только по средствам binat, для этого я решил сделать отдельную зону (192.168.2.2) и потом перевести все машины из старой дмз в нее. Kerio это старый шлюз, котрый все еще работает(до настройки нового маршрутизатора).
[img]
http://fotki.yandex.ru/users/nikimetall ... 55/?page=0
[/img]
может быть я что то делаю принципиально не правильно?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 13:42:42

что то я тоже уже начинаю непонимать что вы там хотите

из того что я понял
у вас есть сеть прова 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.
я понял что он работает именно так.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 13:55:15

1.1.1.82 я на семе не вижу
перерисовывай

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 13:57:04

ты точно уверен что провайдер тебе всю 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
что вы подразумеваете под "маршрутизирует"?
видимо не совсем понимаю(


paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 14:25:27

Код: Выделить всё

binat on 1.1.1.4 from 192.168.2.2 -> 1.1.1.82

Код: Выделить всё

ifconfig rl0
там алияс 1.1.1.82 есть?

если есть и все равно ничего не работает
есть вариант что нужно както специфично указывать айпишники если используються алиясы
если нет - тогда у меня идеи закончились)

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: OpenBSD PF Binat

Непрочитанное сообщение iZEN » 2009-05-05 15:14:11

Тут с маской что-то не то.
Машины с адресами из пространств
192.168.1.0/24
и
192.168.2.0/24
не будут видеть друг друга.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Гость
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Гость » 2009-05-05 15:38:56

а вот алиас то я не на тот интерфейс вешал)))
но когда повесил его на rl0 инет почему то везде кроме шлюза отвалился

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: OpenBSD PF Binat

Непрочитанное сообщение paradox » 2009-05-05 15:40:00

алияс нужно вешать на внешний интерфейс
1.1.1.4 который наскоко я понимаю

Гость
проходил мимо

Re: OpenBSD PF Binat

Непрочитанное сообщение Гость » 2009-05-05 15:53:22

да я понимаю, просто голова уже не варит.