On 08/01/15 19:31, Jonathan Gray wrote: > On Sat, Aug 01, 2015 at 08:46:00PM +0200, Mike Belopuhov wrote: >> [... snip ...] >> You're slightly overanalyzing here: panic has caught the unhandled >> case, but it's not needed per se. >> > > The code directly after the panic assumes rpool is set. > Something is clearly wrong in the pf code if this triggers. > > Without a pf.conf it is hard to guess as to why this triggers...
I've attached a partially sanitized concatenation of pf rules, ifconfig, netstat -nr, cat /etc/hostname.$if. Please let me know what more info would be helpful. FWIW, this firewall has been operating successfully with snaps for many years. The pf configuration is not tuned as it is somewhat a testbed with an accumulation of various failed/successful experiments. Also, the urtwn interface has been removed for at least the past month so treat the associated rules accordingly.
### pfctl-sr:pfctl -a "*" -sr ### pass all flags S/SA match out on egress all set ( prio(5, 6) ) match all scrub (no-df) match out on pppoe all scrub (max-mss 1440) block drop all label "block_all" block drop in on ! int inet from 10.1.2.0/24 to any block drop in inet from 10.1.2.1 to any block drop in on ! dsl inet from 192.168.7.0/24 to any block drop in inet from 192.168.7.2 to any block drop in quick on int from any to <bogus> label "bogus_in" anchor "ext1" on pppoe0 all { block drop in on ! pppoe0 from (pppoe0:network) to any block drop in from (pppoe0) to any block drop in log quick on pppoe0 proto tcp from <sshguard> to any port = 22 label "ssh bruteforce_pppoe0" block drop in log quick on pppoe0 from <bogon> to any label "bogon_in_pppoe0" block drop out log on pppoe0 from any to <bogon> label "bogon_out_pppoe0" pass out log on pppoe0 all flags S/SA label "out_pppoe0" match in on pppoe0 inet proto tcp from any to (pppoe0) port = 80 rdr-to 10.1.2.30 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 6081 rdr-to 10.1.2.30 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 8080 rdr-to 10.1.2.30 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 9418 rdr-to 10.1.2.18 port 9418 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 119 rdr-to 10.1.2.10 port 119 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65429 rdr-to 10.1.2.18 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65428 rdr-to 10.1.2.30 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65427 rdr-to 10.1.2.31 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65426 rdr-to 10.1.2.33 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65425 rdr-to 10.1.2.11 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65424 rdr-to 10.1.2.12 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65423 rdr-to 10.1.2.15 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65420 rdr-to 10.1.2.143 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 65419 rdr-to 10.1.2.144 port 22 match in on pppoe0 inet proto tcp from any to (pppoe0) port = 46889 set ( prio 2 ) rdr-to 10.1.2.17 port 46889 match in on pppoe0 inet proto udp from any to (pppoe0) port = 46889 set ( prio 2 ) rdr-to 10.1.2.17 port 46889 match out on pppoe0 inet from <int_net> to any nat-to (pppoe0:0) pass in quick on pppoe0 inet proto tcp from any to any port = 22 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 52122 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65432 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65431 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65430 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65429 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65428 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65427 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65426 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65425 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65424 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65423 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65420 flags S/SA synproxy state reply-to pppoe0 pass in quick on pppoe0 inet proto tcp from any to any port = 65419 flags S/SA synproxy state reply-to pppoe0 pass in on pppoe0 inet proto tcp from any to any port = 119 flags S/SA reply-to pppoe0 pass in on pppoe0 inet proto tcp from any to any port = 80 flags S/SA reply-to pppoe0 pass in on pppoe0 inet proto udp from any to any port = 1194 reply-to pppoe0 pass in on pppoe0 inet proto tcp from any to any port = 46889 flags S/SA set ( prio 2 ) reply-to pppoe0 pass in on pppoe0 inet proto udp from any to any port = 46889 set ( prio 2 ) reply-to pppoe0 } anchor "ext2" on urtwn0 all { block drop in on ! urtwn0 from (urtwn0:network) to any block drop in from (urtwn0) to any block drop in log quick on urtwn0 proto tcp from <sshguard> to any port = 22 label "ssh bruteforce_urtwn0" block drop in log quick on urtwn0 from <bogon> to any label "bogon_in_urtwn0" block drop out log on urtwn0 from any to <bogon> label "bogon_out_urtwn0" pass out log on urtwn0 all flags S/SA label "out_urtwn0" match in on urtwn0 inet proto tcp from any to (urtwn0) port = 80 rdr-to 10.1.2.18 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 6081 rdr-to 10.1.2.18 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 8080 rdr-to 10.1.2.18 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 9418 rdr-to 10.1.2.18 port 9418 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 119 rdr-to 10.1.2.10 port 119 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65429 rdr-to 10.1.2.18 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65428 rdr-to 10.1.2.30 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65427 rdr-to 10.1.2.31 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65426 rdr-to 10.1.2.33 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65425 rdr-to 10.1.2.11 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65424 rdr-to 10.1.2.12 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65423 rdr-to 10.1.2.15 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65420 rdr-to 10.1.2.143 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 65419 rdr-to 10.1.2.144 port 22 match in on urtwn0 inet proto tcp from any to (urtwn0) port = 46889 rdr-to 10.1.2.17 port 46889 match in on urtwn0 inet proto udp from any to (urtwn0) port = 46889 rdr-to 10.1.2.17 port 46889 match out on urtwn0 inet from ! (urtwn0) to any nat-to (urtwn0:0) pass in quick on urtwn0 inet proto tcp from any to any port = 22 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 52122 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65432 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65431 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65430 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65429 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65428 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65427 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65426 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65425 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65424 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65423 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65420 flags S/SA synproxy state reply-to urtwn0 pass in quick on urtwn0 inet proto tcp from any to any port = 65419 flags S/SA synproxy state reply-to urtwn0 pass in on urtwn0 inet proto tcp from any to any port = 119 flags S/SA reply-to urtwn0 pass in on urtwn0 inet proto tcp from any to any port = 80 flags S/SA reply-to urtwn0 pass in on urtwn0 inet proto udp from any to any port = 1194 reply-to urtwn0 } pass out quick all flags S/SA pass in inet proto icmp all icmp-type echoreq pass in inet proto icmp all icmp-type unreach pass in quick on dsl inet from 192.168.7.0/24 to any flags S/SA pass on lo0 inet6 from fe80::1 to any flags S/SA pass inet6 from ::1 to any flags S/SA pass inet from 127.0.0.1 to any flags S/SA pass inet from 10.1.2.0/24 to any flags S/SA pass quick on tun0 inet all flags S/SA pass out on vr3 inet proto tcp from any to 192.168.7.1 port = 80 flags S/SA ### ifconfig:ifconfig ### lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768 priority: 0 groups: lo inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:00:24:c9:29:14 priority: 0 groups: int media: Ethernet autoselect (100baseTX full-duplex) status: active inet 10.1.2.1 netmask 0xffffff00 broadcast 10.1.2.255 vr1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:00:24:c9:29:15 priority: 0 media: Ethernet autoselect (none) status: no carrier vr2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:00:24:c9:29:16 priority: 0 media: Ethernet autoselect (none) status: no carrier vr3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:00:24:c9:29:17 priority: 0 groups: dsl media: Ethernet autoselect (100baseTX full-duplex) status: active inet 192.168.7.2 netmask 0xffffff00 broadcast 192.168.7.255 enc0: flags=0<> priority: 0 groups: enc status: active pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1492 description: dsl provider priority: 0 dev: vr3 state: session sid: 0x17 PADI retries: 0 PADR retries: 0 time: 21:25:34 sppp: phase network authproto pap authname "x...@yyy.zzz" groups: pppoe egress status: active inet a.class.c.194 --> a.class.c.1 netmask 0xffffffff tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 priority: 0 groups: tun status: active inet 172.16.16.6 --> 172.16.16.5 netmask 0xffffffff pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33192 priority: 0 groups: pflog ### netstat-nr:netstat -nr ### Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default a.class.c.1 UGS 1 636443 - 8 pppoe0 10.1.2/24 10.1.2.1 UC 12 0 - 8 vr0 10.1.2.1 00:00:24:c9:29:14 UHLl 2 565 - 1 lo0 10.1.2.2 ac:22:0b:74:9f:de UHLc 1 46628 - 8 vr0 10.1.2.3 12:98:e1:47:e2:99 UHLc 0 10377 - 8 vr0 10.1.2.4 7a:88:ce:70:09:8e UHLc 0 79 - 8 vr0 10.1.2.6 36:31:4d:56:db:75 UHLc 0 2 - 8 vr0 10.1.2.7 8a:2e:d1:64:f7:6b UHLc 1 3 - 8 vr0 10.1.2.10 96:5e:9d:e9:11:0b UHLc 1 210457 - 8 vr0 10.1.2.13 00:30:18:a3:1b:48 UHLc 0 377 - 8 vr0 10.1.2.17 00:11:32:2e:5b:dd UHLc 0 4948 - 8 vr0 10.1.2.22 00:11:32:40:3b:09 UHLc 0 4649 - 8 vr0 10.1.2.31 00:1b:21:2e:39:c4 UHLc 2 36285 - 8 vr0 10.1.2.33 00:50:43:00:7c:9a UHLc 6 137943 - 8 vr0 10.1.2.35 bc:ae:c5:86:d9:cb UHLc 1 611085 - 8 vr0 10.1.2.255 10.1.2.1 UHb 0 0 - 1 vr0 a.class.c.1 a.class.c.194 UH 0 0 - 8 pppoe0 a.class.c.194 a.class.c.194 UHl 0 106 - 1 lo0 127/8 127.0.0.1 UGRS 0 0 32768 8 lo0 127.0.0.1 127.0.0.1 UHl 3 118408 32768 1 lo0 172.16.16/24 172.16.16.5 UGS 0 19975 - 8 tun0 172.16.16.5 172.16.16.6 UH 2 0 - 8 tun0 172.16.16.6 172.16.16.6 UHl 0 0 - 1 lo0 192.168.1/24 172.16.16.5 UGS 0 2543 - 8 tun0 192.168.7/24 192.168.7.2 UC 0 0 - 8 vr3 192.168.7.2 00:00:24:c9:29:17 UHLl 0 0 - 1 lo0 192.168.7.255 192.168.7.2 UHb 0 0 - 1 vr3 224/4 127.0.0.1 URS 1 38 32768 8 lo0 Internet6: Destination Gateway Flags Refs Use Mtu Prio Iface ::/104 ::1 UGRS 0 0 32768 8 lo0 ::/96 ::1 UGRS 0 0 32768 8 lo0 ::1 ::1 UHl 14 0 32768 1 lo0 ::127.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::224.0.0.0/100 ::1 UGRS 0 0 32768 8 lo0 ::255.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::ffff:0.0.0.0/96 ::1 UGRS 0 0 32768 8 lo0 2002::/24 ::1 UGRS 0 0 32768 8 lo0 2002:7f00::/24 ::1 UGRS 0 0 32768 8 lo0 2002:e000::/20 ::1 UGRS 0 0 32768 8 lo0 2002:ff00::/24 ::1 UGRS 0 0 32768 8 lo0 fe80::/10 ::1 UGRS 0 0 32768 8 lo0 fe80::%lo0/64 fe80::1%lo0 U 0 0 32768 4 lo0 fe80::1%lo0 fe80::1%lo0 UHl 0 0 32768 1 lo0 fec0::/10 ::1 UGRS 0 0 32768 8 lo0 ff01::/16 ::1 UGRS 0 0 32768 8 lo0 ff01::%lo0/32 ::1 UC 0 0 32768 4 lo0 ff02::/16 ::1 UGRS 0 0 32768 8 lo0 ff02::%lo0/32 ::1 UC 0 0 32768 4 lo0 ## cat /etc/hostname.pppoe0 ## inet 0.0.0.0 255.255.255.255 NONE description "ATT - DSL Extreme" \ pppoedev vr3 authproto pap \ authname "x...@yyy.zzz" authkey "who_knows" up dest 0.0.0.1 !/usr/local/bin/cpdt -x /var/db/ddclient/ddclient.cache !/sbin/route add default -ifp pppoe0 0.0.0.1 ## cat /etc/hostname.tun0 ## up !/usr/local/sbin/openvpn --daemon --config /etc/openvpn/client.conf ## cat /etc/hostname.vr0 ## inet 10.1.2.1 255.255.255.0 10.1.2.255 group int ## cat /etc/hostname.vr3 ## inet 192.168.7.2 255.255.255.0 192.168.7.255 group dsl