URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59319
[ Назад ]

Исходное сообщение
"Чудеса pf firewall - freebsd?!"

Отправлено boboms , 19-Авг-05 11:07 
Люди, объясните, плз., как такое может быть и что это такое?!

Как недавно писал, есть:
FreeBSD 5.4; pf-filter;
fxp0-внешяя сеть (от прова)
rl0-внутренняя сеть

Файл pf.conf:
lan_net = "192.168.0.0/24"
int_if = "rl0"
ext_if = "fxp0"
ext_ip = "192.168.11.11"
ext_gw = "192.168.11.101"

scrub in all

nat on $ext_if from $lan_net to any -> ($ext_if)

block in from any to any
block out from any to any

pass in quick on lo0 all
pass out quick on lo0 all

block in on $ext_if all
block out on $ext_if all

block in on $ext_if inet proto tcp from any to $ext_ip port 0 >< 65535
pass out on $ext_if inet proto tcp from $ext_ip to any flags S/SA modulate state
block in on $ext_if inet proto {udp, icmp} from any to $ext_ip
pass out on $ext_if inet proto {udp, icmp} from $ext_ip to any

pass in quick on $int_if from $lan_net to any
pass out quick on $int_if from any to $lan_net

ВОПРОС:
Почему траффик проходит во внутрь через $ext_ip если стоит:
block in on $ext_if all
block in on $ext_if inet proto tcp from any to $ext_ip port 0 >< 65535
block in on $ext_if inet proto {udp, icmp} from any to $ext_ip

Т.е. с этими "блоками" у меня грузятся сайты и пингуется весь инет из 192.168.0.254 (роздан ноутбуку по DHCP)??!!


Содержание

Сообщения в этом обсуждении
"Чудеса pf firewall - freebsd?!"
Отправлено boboms , 19-Авг-05 11:18 
Появилась идея, праверил на практике - дело в NAT:
nat on $ext_if from $lan_net to any -> ($ext_if)

Тогда совсем маленький вопросик - "Как применить правила фильтрации до NAT, т.е. чтобы правила обрабатывали и NAT в том числе"???

Заранее признателен!


"Чудеса pf firewall - freebsd?!"
Отправлено mc , 19-Авг-05 12:04 
>Появилась идея, праверил на практике - дело в NAT:
>nat on $ext_if from $lan_net to any -> ($ext_if)
>
>Тогда совсем маленький вопросик - "Как применить правила фильтрации до NAT, т.е.
>чтобы правила обрабатывали и NAT в том числе"???
>
>Заранее признателен!

Никак :)
Since translation occurs before filtering the filter engine will see
     packets as they look after any addresses and ports have been translated.
     Filter rules will therefore have to filter based on the translated
     address and port number.
Ты натишь на внешьнем if и можешь все отрезать на внутреннем,
пока траф не дойдет до внешнего.


"Чудеса pf firewall - freebsd?!"
Отправлено boboms , 19-Авг-05 13:05 
Стоп! Не все так просто. Предположения были ложными. Опять все пингуется и из FreeBSD. Т.е. файл pf.conf вида

lan_net = "192.168.0.0/24"
int_if = "rl0"
ext_if = "fxp0"
ext_ip = "192.168.11.11"
ext_gw = "192.168.11.101"

scrub in all

nat on $ext_if from $lan_net to any -> ($ext_if)

block in from any to any
block out from any to any

pass in quick on lo0 all
pass out quick on lo0 all

block in on $ext_if all
block out on $ext_if all

block in on $ext_if inet proto tcp from any to $ext_ip port 0 >< 65535
pass out on $ext_if inet proto tcp from $ext_ip to any flags S/SA modulate state
block in on $ext_if inet proto {udp, icmp} from any to $ext_ip
pass out on $ext_if inet proto {udp, icmp} from $ext_ip to any keep state

pass in quick on $int_if from $lan_net to any
pass out quick on $int_if from any to $lan_net

походу пропускает пакеты внутрь! Как это может быть?