<div dir="auto">Вангую, это из-за "the last matching rule wins" (цитата из man, pf не использую).</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 9, 2019, 06:27 Victor Sudakov <<a href="mailto:vas@sibptus.ru">vas@sibptus.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Уважаемые коллеги!<br>
<br>
Есть вопрос по pf и states в нём. Пробовал задавать в freebsd-pf, но там<br>
или меня не понимают, или я их не понимаю, начинаю думать, что мой<br>
английский плох.<br>
<br>
Может тут есть знатоки pf, прокомментируют?<br>
<br>
Простейшая конфигурация на роутере из трех правил:<br>
<br>
# DMZ <a href="http://172.16.1.0/24" rel="noreferrer noreferrer" target="_blank">172.16.1.0/24</a><br>
pass in on $dmz<br>
block in on $dmz from any to <a href="http://192.168.0.0/16" rel="noreferrer noreferrer" target="_blank">192.168.0.0/16</a><br>
# Inside <a href="http://192.168.10.0/24" rel="noreferrer noreferrer" target="_blank">192.168.10.0/24</a><br>
pass in on $inside<br>
<br>
Пингуем хост 172.16.1.10 с хоста 192.168.10.3 через этот роутер.<br>
Эти пинги создают state:<br>
<br>
root@fw:~ # pfctl -vvs state<br>
No ALTQ support in kernel<br>
ALTQ related functions disabled<br>
all icmp <a href="http://172.16.1.10:62211" rel="noreferrer noreferrer" target="_blank">172.16.1.10:62211</a> <- <a href="http://192.168.10.3:62211" rel="noreferrer noreferrer" target="_blank">192.168.10.3:62211</a>       0:0<br>
   age 00:09:17, expires in 00:00:10, 531:0 pkts, 44604:0 bytes, rule 2<br>
   id: 000000005de8b503 creatorid: e8f0f0df<br>
root@fw:~ #<br>
<br>
Однако почему-то ответы на пинг (идущие с 172.16.1.10 на 192.168.10.3)<br>
режутся на правиле "block in on $dmz from any to <a href="http://192.168.0.0/16" rel="noreferrer noreferrer" target="_blank">192.168.0.0/16</a>", хотя<br>
я ожидаю, что созданный state (приведен выше) должен их пропускать<br>
независимо от блокирующего правила "block in on $dmz ..."<br>
<br>
Почему так?<br>
<br>
По умолчанию state-policy=floating, т.е. по идее вышеприведенный state<br>
не привязан к интерфейсу и значит должен пропускать обратный трафик<br>
(echo reply с 172.16.1.10 на 192.168.10.3). Ан нет.<br>
<br>
-- <br>
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN<br>
2:5005/49@fidonet <a href="http://vas.tomsk.ru/" rel="noreferrer noreferrer" target="_blank">http://vas.tomsk.ru/</a><br>
_______________________________________________<br>
freebsd mailing list<br>
<a href="mailto:freebsd@uafug.org.ua" target="_blank" rel="noreferrer">freebsd@uafug.org.ua</a><br>
<a href="http://mailman.uafug.org.ua/mailman/listinfo/freebsd" rel="noreferrer noreferrer" target="_blank">http://mailman.uafug.org.ua/mailman/listinfo/freebsd</a><br>
</blockquote></div>