Есть пару вопросиков про PF.
Упрощенная схема сети выглядит так:
net1 <--> gw1 <--> net2 <--> gw2 <--> net3
gw1 - шлюз на FreeBSD с интерфесами if1 и if2 смотрящими соответственно в сети net1 и net2.
Кусок pf.conf:
Код: Выделить всё
# Outbound on $if1
# Inbound on $if1
pass in quick on $if1 from $net1 to $net3 keep state
# Outbound on $if2
#pass out on $if2 from $net1 to $net3
# Inbound on $if2
block in log on $if2 all
pass in quick on $if2 from $net3 to $net1 keep state
Никаких блокирующих правил, кроме представленных нету. Чтобы из сети net1 мне попасть в сеть net3, мне нужно раскомментировать строчку #pass out on $if2 from $net1 to $net3.
Если я уберу все правила, то также смогу попасть в сеть net3. Т.е. default policy - pass all. Я всегда полагал, что block in log on $if2 all значит "заблокировать все входящие пакеты на интерфейсе if2". Как оно влияет на исходящий трафик? Более того, в логах я вижу заблокированные пакеты из сети 3 в 1. Как это можно объяснить?
Заранее спасибо за помощь.