Date: Thu, 15 Apr 2010 17:28:46 +0100 (IST) From: James Raftery <james@now.ie> To: FreeBSD-gnats-submit@FreeBSD.org Subject: conf/145727: pf rules not applied on boot if using inet6 :network modifier Message-ID: <20100415162846.493D11708D@a.mx.now.ie> Resent-Message-ID: <201004151630.o3FGU4TR037977@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 145727 >Category: conf >Synopsis: pf rules not applied on boot if using inet6 :network modifier >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Apr 15 16:30:04 UTC 2010 >Closed-Date: >Last-Modified: >Originator: James Raftery >Release: FreeBSD 7.2-RELEASE-p7 i386 >Organization: >Environment: System: FreeBSD a.mx.now.ie 7.2-RELEASE-p7 FreeBSD 7.2-RELEASE-p7 #0: Fri Feb 26 19:51:57 UTC 2010 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386 >Description: After reboot, no pf rules are applied if the :network interface modifier is used in any inet6 rules. The net result is no firewall! The following is logged to syslog: Apr 10 17:23:11 a kernel: /etc/pf.conf:52: Apr 10 17:23:11 a kernel: rule expands to no valid combination Apr 10 17:23:11 a kernel: Apr 10 17:23:11 a kernel: /etc/pf.conf:70: Apr 10 17:23:11 a kernel: rule expands to no valid combination Apr 10 17:23:11 a kernel: Apr 10 17:23:11 a kernel: /etc/pf.conf:71: Apr 10 17:23:11 a kernel: rule expands to no valid combination Apr 10 17:23:11 a kernel: Apr 10 17:23:11 a kernel: /etc/pf.conf:72: Apr 10 17:23:11 a kernel: rule expands to no valid combination Apr 10 17:23:11 a kernel: Apr 10 17:23:11 a kernel: pfctl: Apr 10 17:23:11 a kernel: Syntax error in config file: pf rules not loaded pf rules are applied before the IPv6 network config is applied, so pf is unable to expand the :network modifier in the inet6 rule statements. The relevant lines from pf.conf are: 52: pass in log on fxp0 inet6 proto tcp from fxp0:network to fxp0 port ssh 70: pass in on fxp0 inet6 proto icmp6 from fxp0:network to fxp0 icmp6-type $ipv6_nbr_icmp 71: pass in on fxp0 inet6 proto icmp6 from fxp0:network to ff02::/8 icmp6-type $ipv6_nbr_icmp 72: pass in on fxp0 inet6 proto icmp6 from fe80::/10 to fxp0:network icmp6-type $ipv6_nbr_icmp >How-To-Repeat: Add inet6 rule statements which include the :network modifier to pf.conf. Ensure there are no active IPv6 addresses on the relevant network interfaces. Run `/etc/rc.d/pf start' (with pf_enable=YES in rc.conf). >Fix: Re-order rc start-up to apply the IPv6 network config. before pf rules are applied. That's in theory, obviously. I don't have enough knowledge of boot ordering to say with any confidence that there won't be some nasty side-effects of such a change. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100415162846.493D11708D>