[freebsd] Вопрос по pf и keep state

Victor Sudakov vas at sibptus.ru
Mon Dec 9 06:27:14 EET 2019


Уважаемые коллеги!

Есть вопрос по pf и states в нём. Пробовал задавать в freebsd-pf, но там
или меня не понимают, или я их не понимаю, начинаю думать, что мой
английский плох.

Может тут есть знатоки pf, прокомментируют?

Простейшая конфигурация на роутере из трех правил:

# DMZ 172.16.1.0/24
pass in on $dmz
block in on $dmz from any to 192.168.0.0/16
# Inside 192.168.10.0/24
pass in on $inside

Пингуем хост 172.16.1.10 с хоста 192.168.10.3 через этот роутер.
Эти пинги создают state:

root at fw:~ # pfctl -vvs state
No ALTQ support in kernel
ALTQ related functions disabled
all icmp 172.16.1.10:62211 <- 192.168.10.3:62211       0:0
   age 00:09:17, expires in 00:00:10, 531:0 pkts, 44604:0 bytes, rule 2
   id: 000000005de8b503 creatorid: e8f0f0df
root at fw:~ #

Однако почему-то ответы на пинг (идущие с 172.16.1.10 на 192.168.10.3)
режутся на правиле "block in on $dmz from any to 192.168.0.0/16", хотя
я ожидаю, что созданный state (приведен выше) должен их пропускать
независимо от блокирующего правила "block in on $dmz ..."

Почему так?

По умолчанию state-policy=floating, т.е. по идее вышеприведенный state
не привязан к интерфейсу и значит должен пропускать обратный трафик
(echo reply с 172.16.1.10 на 192.168.10.3). Ан нет.

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
2:5005/49 at fidonet http://vas.tomsk.ru/


More information about the freebsd mailing list