Войти

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


kryo
13-06-2007, 13:38
Люди подскажите !!!
почему
pass out on $ext_if from 10.10.10.250 to any не пускает
а
pass out on $ext_if all пускает, но всех, а нужно разграничить доступ по IP

На этом же интерфейсе стоят еще такие правила:
nat on $ext_if from $internal_net to any -> $ext_if
block drop all (до разрешающих)

brag
13-06-2007, 15:12
pf - хороший firewall,но на пальцах не обяснишь. вобще firewall-это такая штука,где надо точно знать что ты делаешь и зачем.
pass out on $ext_if from 10.10.10.250 to any пускает весь траффик, ИСХОДЯЩИЙ с $ext_if с адресом отправителя 10.10.10.250 любому адресу.
pass out on $ext_if all пускает весь траффик, ИСХОДЯЩИЙ с $ext_if
nat on $ext_if from $internal_net to any -> $ext_if трансирует ВХОДЯЩИЙ И ИСХОДЯЩИЙ траффик по интерфейсу $ext_if с адресом отправителья $internal_net и назначения любой на $ext_if
вобще рекомендую почитать man pf.conf
http://www.opennet.ru/base/sec/pf_openbsd_altq.txt.html
http://www.opennet.ru/docs/RUS/ipfw_pf_ipfilter/
http://www.opennet.ru/search.shtml?words=pf&restrict=
еще рекомендую организовывать все правила quick, те поиск останавливается на конкретном правиле.

mar
13-06-2007, 16:15
kryo
дело в том, что первое правило задает проход пакета в одну сторону (от ip к any) . Но пакет ведь должен еще придти ответ? А вот этого правила у Вас и нет. Можно его дописать, а можно использовать конструкцию keep-state

Второй вариант обеспечивает проход в обе стороны.

kryo
13-06-2007, 18:27
Спасибо, проблема решена, NAT не ловит внутренние адреса на внешнем интерфейсе,
потому что на момент фильтрации они уже транслированы во внешние.
Перестроил правила на внутреннем интерфейсе.
mar да, keep state рулит.




© OSzone.net 2001-2012