Date: Tue, 13 Feb 2007 14:07:36 -0600 (CST) From: "Jeremy C. Reed" <reed@reedmedia.net> To: freebsd-pf@freebsd.org Subject: Re: pf starts, but no rules Message-ID: <Pine.NEB.4.64.0702131407110.815@glacier.reedmedia.net> In-Reply-To: <45D1B27B.5615.291E28A7@dan.langille.org> References: <45CDED58.2056.1A642A00@dan.langille.org>, <200702131321.18333.max@love2party.net> <45D1B27B.5615.291E28A7@dan.langille.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > One possible sollution that has been suggested would be to use a simple > > deny all but ssh/dns ruleset in the first stage and load the real ruleset > > once all interfaces are there and the resolver is working. I'm willing > > to commit patches, though this is probably something best discussed on > > freebsd-rc@ By the way, NetBSD and OpenBSD do that. NetBSD has an /etc/rc.d/pf_boot that is BEFORE network that loads the /etc/pf.boot.conf (if exists) or /etc/defaults/pf.boot.conf which contains: # Default deny. block all # Don't block loopback. pass on lo0 # Allow outgoing dns, needed by pfctl to resolve names. pass out proto { tcp, udp } from any to any port 53 keep state # Allow outgoing ping request, might be needed by dhclient to validate # old (but valid) leases in /var/db/dhclient.leases in case it needs to # fall back to such a lease (the dhcp server can be down or not responding). pass out inet proto icmp all icmp-type echoreq keep state # Allow IPv6 router/neighbor solicitation and advertisement. pass out inet6 proto icmp6 all icmp6-type neighbrsol pass in inet6 proto icmp6 all icmp6-type neighbradv pass out inet6 proto icmp6 all icmp6-type routersol pass in inet6 proto icmp6 all icmp6-type routeradv The regular /etc/rc.d/pf requires networking to be done first. On OpenBSD, it loads rules like: block all pass on lo0 pass in proto tcp from any to any port 22 keep state pass out proto { tcp, udp } from any to any port 53 keep state pass out inet proto icmp all icmp-type echoreq keep state pass out inet6 proto icmp6 all icmp6-type neighbrsol pass in inet6 proto icmp6 all icmp6-type neighbradv pass out inet6 proto icmp6 all icmp6-type routersol pass in inet6 proto icmp6 all icmp6-type routeradv pass proto { pfsync, carp } scrub in all no-df pass in proto udp from any port { 111, 2049 } to any pass out proto udp from any to any port { 111, 2049 } (Note it only loads some of these if the inet6 and if NFS is enabled.) Jeremy C. Reed
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.4.64.0702131407110.815>