> 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