ext_if = "iwm0"
vmd_if = "vether0"
match in all scrub (no-df random-id)
set reassemble yes
set state-defaults pflow
set block-policy return
set skip on { lo, pflog0, $vmd_if }
set fingerprints "/etc/pf.os"
block log (all) all
pass proto { esp, ah, ipencap, igmp, icmp, ipv6-icmp }
pass in on pppx
pass in to
224.0.0.0/4 allow-opts
pass in to
239.0.0.0/8 allow-opts
# incoming avahi (multicast) traffic
pass proto udp from any to
224.0.0.251 port mdns allow-opts
pass inet6 proto udp from any to ff02::fb port mdns allow-opts
# for SSDP
pass proto udp from any to
239.255.255.250 port ssdp allow-opts
pass inet6 proto udp from any to { ff02::c, ff05::c, ff08::c } port ssdp allow-opts
block return in on ! lo0 proto tcp to port 6000:6010
match out on $ext_if inet from !( $ext_if:network ) nat-to ($ext_if:0)
pass out allow-opts
Правила отлаживать с помощью
tcpdump -n -e -ttt -i pflog0