Здравствуйте! Проблема такая: есть сеть 192.168.1.0/24, шлюз 192.168.1.1 с pf на freebsd 7.0, который натит и пускает в инет. Делаю фильтрацию в pf с помощью тэгов. Выделяю подобно iptables пакеты которые форвардятся с локалки в инет и пакеты идущие непосредственно со шлюза в инет:block drop in on rl1 inet from 192.168.1.0/24 to ! 192.168.1.1 tag fwd_int_to_ext
block drop out on rl0 inet from xx.xx.xx.xx to any tag out_ext ! tagged fwd_int_to_extпотом фильтрую по разным признакам, например:
pass quick inet proto tcp from any to 217.112.42.215 port = pop3 flags S/SA modulate state tagged fwd_int_to_ext
pass quick inet proto tcp from any to 217.112.42.215 port = smtp flags S/SA modulate state tagged fwd_int_to_ext
pass quick inet proto icmp all icmp-type echoreq keep state tagged fwd_int_to_extвсе что не нужно блочится, нужное ходит на ура, но захотелось мне пустить в инет по 123 udp порту только одну машинку 192.168.1.2, пишу:
pass quick inet proto udp from 192.168.1.2 to any port = ntp keep state tagged fwd_int_to_ext
в итоге под правило не попадает ни один udp пакет с 192.168.1.2 на 123 порт...
хотя так:pass quick inet proto udp from any to any port = ntp keep state tagged fwd_int_to_ext
все работает, но доступ есть у всех, а это плохо...
я так понимаю pf просто не понимает что 192.168.1.2 содержится в 192.168.1.0/24 когда обрабатывает тэгированные пакеты... можно ли как-нибудь это обойти? или что-то не так я написал? спасибо
самое интересное, когда делаю на 192.168.1.2$ ntpdate -q ru.pool.ntp.org
server 193.124.11.11, stratum 0, offset 0.000000, delay 0.00000
26 Jun 16:00:08 ntpdate[48431]: no server suitable for synchronization foundчто значит до сервака не достучатся...
а на 192.168.1.1 при выводе команды pfctl -sr -v нахожу:pass quick inet proto udp from 192.168.1.2 to any port = ntp keep state tagged fwd_int_to_ext
[ Evaluations: 7111 Packets: 100 Bytes: 6600 States: 1 ]
[ Inserted: uid 0 pid 4449 ]то есть пакеты попадают под правило, состояние тоже сохраняется (States: 1)... непонятно
вобщем, кому интересно, проблема решилась + родился конфиг удобный для администрирования. см. http://www.bsdportal.ru/viewtopic.php?t=18189
>http://www.bsdportal.ru/viewtopic.php?t=18189Ага, полезный конфиг. Вот бы еще прозрачное проксирование прикрутить и ограничение скорости на основе ALTQ ;)
>Ага, полезный конфиг. Вот бы еще прозрачное проксирование прикрутить и ограничение скорости
>на основе ALTQ ;)читаем рецепт в том же месте...