După ce mi-am actualizat sistemul FreeBSD de la 12.2 la 13.0-p3 PF blochează tot traficul către închisorile mele.
Când dezactivați PF totul funcționează bine (cu excepția faptului că este neprotejat ;))
Am încercat să îmi dau seama ce regulă blochează acest trafic prin setarea „blochează în jurnal toate”, dar în afară de unele lucruri evidente multicast nu apare nimic care să explice de ce acest trafic este blocat.
Din nou, înainte totul a funcționat perfect sub versiunea 12.2.
Am găsit câteva articole despre v13 acum filtrarea prin VLAN în loc de lo0, dar nu folosesc niciun VLAN.
În ce direcție ar trebui să caut mai departe?
Actualizare 2021-07-15:
Din motive de claritate: iată fișierul meu pf_rules:
setați returnarea politicii de bloc
setați optimizarea agresivă
setați săriți pe { lo0, lo1, lo2, lo3, lo4, lo5 }
ext_if=hn0
ext_address="{ 192.x.x.x, 2001:981:x.x::x }"
ext_services = "{ ssh, http, https, smtp, smtps }"
tcp_services = „{ ftp, ssh, domeniu, ntp, www, smtp, smtps, trimitere, http, https,nfs}”
udp_services = "{domeniu, ntp, nfs }"
icmp6_types="{ 2, 128 }" # pachet prea mare, cerere de ecou (ping6)
icmp6_types_ext_if="{ 128, 133, 134, 135, 136, 137 }"
jail_net = „192.168.1.0/24”
jail_services = "{ mysql, http, smtp, 587, 3000 }"
tabelul <sshguard> persistă
freca în toate
nu trece $ext_if de la $jail_net la orice -> $ext_address
blocați log pe $ext_if proto tcp de la <sshguard> la orice port ssh etichetă „ssh bruteforce”
blocați în log all
treceți rapid din <pf_whitelist> semnalează starea synproxy S/SA
transmiteți pe $ext_if inet6 proto icmp6 toate icmp6-tip echoreq păstrați starea
trece pe $ext_if inet proto udp la portul 33433:33626
trece pe $ext_if inet6 proto udp la portul 33433:33626
transmiteți pe $ext_if inet6 proto ipv6-icmp icmp6-type $icmp6_types păstrați starea
treceți pe $ext_if inet6 proto ipv6-icmp de la orice la { ($ext_if ), ff02::1/16 } icmp6-type $i
cmp6_types_ext_if păstrează starea
treceți pe $ext_if proto tcp de la oricare la portul $ext_address $ext_services păstrează starea
treceți pe $ext_if inet6 proto tcp de la oricare la portul $ext_address $ext_services păstrează starea
transmite $ext_if inet proto tcp la orice port $tcp_services keep state
transmite $ext_if inet6 proto tcp către orice port $tcp_services păstrează starea
transmite $ext_if inet6 proto udp către orice port $udp_services
trece proto udp la orice port $udp_services keep state
treceți în proto tcp de la oricare la portul $jail_net $jail_services păstrează starea
transmite proto tcp de la $jail_net la orice port $jail_services keep state
trece inet proto icmp de la orice la oricare
Acest lucru a funcționat de mulți ani până la FreeBSD 13