I was missing the anchor argument in pf when listing tables.

Thank you for your insight,
Pedro Caetano

On Thu, Nov 10, 2016 at 6:16 AM, Jan Kalkus <jkal...@gmail.com> wrote:

>
> > On Nov 9, 2016, at 10:37 PM, Jan Kalkus <jkal...@gmail.com> wrote:
> >
> >> Hi,
> >>
> >> How does one use the overload state option inside an anchor?
> >>
> >> I'm running -current (7th november snapshot) 64bit, sample pf
> >> configurations follow with two different configuration attempts.
> >> Both print the following warning:
> >>
> >> pfctl: warning: namespace collision with <bruteforce> global table.
> >>
> >>
> >> sample pf configurations below:
> >>
> >> table <bruteforce>
> >> icmp_types = "{ echoreq, unreach }"
> >> ext_if=""
> >> int_if="{ em1 em2 em3 }"
> >> int_networks="{ em1:network, em2:network, em3:network }"
> >> v6broker=""
> >> v6resolver=""
> >> mediacenter=""
> >> set skip on lo
> >> set loginterface egress
> >> block drop in all
> >> antispoof quick for (egress)
> >>
> >> match proto { udp tcp } to port { domain ntp } set prio 6
> >> match proto tcp to port ssh set prio 6
> >> match in all scrub (no-df max-mss 1440)
> >> anchor "inet" on $ext_if {
> >>    block quick from <bruteforce>
> >>    block all
> >>    pass inet proto ipv6 from ($ext_if) to $v6broker tag GOOD
> >>    pass inet proto icmp all icmp-type $icmp_types tag GOOD
> >>    pass in inet proto {tcp,udp} from any to any port 45555 rdr-to
> >> $mediacenter tag GOOD
> >>    pass in inet proto tcp from any to any port {80,443} tag GOOD
> >>    pass in inet proto tcp from any to any port 22 keep state
> (max-src-conn
> >> 50, max-src-conn-rate 3/15, overload <bruteforce> flush global ) tag
> GOOD
> >>    pass out from (self) to any tag GOOD
> >>    pass out inet from $int_networks to any nat-to (egress) tag GOOD
> >>    match out inet from $int_networks to any nat-to (egress) tag GOOD
> >>    pass out inet6 from  em2:network to any tag GOOD
> >>    pass out inet6 proto udp from em2:network to $v6resolver port 53 tag
> >> GOOD
> >>    block quick inet ! tagged GOOD
> >>        }
> >>
> >> # > pfctl -f /etc/pf.conf
> >> pfctl: warning: namespace collision with <bruteforce> global table.
> >>
> >>
> >>
> >>
> >> table <bruteforce>
> >> icmp_types = "{ echoreq, unreach }"
> >> ext_if=""
> >> int_if="{ em1 em2 em3 }"
> >> int_networks="{ em1:network, em2:network, em3:network }"
> >> v6broker=""
> >> v6resolver=""
> >> mediacenter=""
> >> set skip on lo
> >> set loginterface egress
> >> block drop in all
> >> antispoof quick for (egress)
> >>
> >> match proto { udp tcp } to port { domain ntp } set prio 6
> >> match proto tcp to port ssh set prio 6
> >> match in all scrub (no-df max-mss 1440)
> >> anchor "inet" on $ext_if {
> >>    block quick from <bruteforce>
> >>    block all
> >>    pass inet proto ipv6 from ($ext_if) to $v6broker tag GOOD
> >>    pass inet proto icmp all icmp-type $icmp_types tag GOOD
> >>    pass in inet proto {tcp,udp} from any to any port 45555 rdr-to
> >> $mediacenter tag GOOD
> >>    pass in inet proto tcp from any to any port {80,443} tag GOOD
> >>    pass in inet proto tcp from any to any port 22 keep state
> (max-src-conn
> >> 50, max-src-conn-rate 3/15, overload <bruteforce> flush global ) tag
> GOOD
> >>    pass out from (self) to any tag GOOD
> >>    pass out inet from $int_networks to any nat-to (egress) tag GOOD
> >>    match out inet from $int_networks to any nat-to (egress) tag GOOD
> >>    pass out inet6 from  em2:network to any tag GOOD
> >>    pass out inet6 proto udp from em2:network to $v6resolver port 53 tag
> >> GOOD
> >>    block quick inet ! tagged GOOD
> >>        }
> >>
> >> # > pfctl -f /etc/pf.conf
> >> pfctl: warning: namespace collision with <bruteforce> global table.
> >>
> >>
> >> Thank you for your help,
> >> Pedro Caetano
> >>
> >
> > Hi Pedro,
> >
> > In my experience, you only need the `global' table from main pf.conf.
> >
> > Subsequent anchors can reference `global' tables (tables that have been
> defined in pf.conf), but not the other way around.
> >
> > - Jan
>
> Apologies, I misinterpreted your configurations.
>
> I would first compare the outputs of the following two commands:
>
>     `pfctl -s Tables’
>     `pfctl -a inet -s Tables’
>
> to make sure there are no overlapping tables between the two.
>
> I have also had trouble with table collisions when accidentally creating a
> table with an identical name inside an anchor. I usually clear out the
> duplicate table from that anchor with a reboot.
>
> - Jan

Reply via email to