Chris
2021-Apr-14 16:26 UTC
using interface groups in pf tables stopped working in 13.0-RELEASE
On 2021-04-14 07:16, Peter Ankerst?l wrote:> In pf I use the interface group syntax alot to make the configuration more > readable. All interfaces are assigned to a group representing its use/vlan > name. > > For example: > > ifconfig_igb1_102="172.22.0.1/24 group iot description 'iot vlan' up" > ifconfig_igb1_102_ipv6="inet6 2001:470:de59:22::1/64" > > ifconfig_igb1_300="172.26.0.1/24 group mgmt description 'mgmt vlan? up" > ifconfig_igb1_300_ipv6="inet6 2001:470:de59:26::1/64? > > in pf.conf I use these group names all over the place. But since I upgraded > to > 13.0-RELEASE it no longer works to define a table using the :network syntax > and > interface groups: > > table <nat_addresses> const { trusted:network mgmt:network dmz:network > guest:network edmz:network \ > admin:network iot:network client:network } > > If I reload the configuration I get the following: > # pfctl -f /etc/pf.conf > /etc/pf.conf:12: cannot create address buffer: Invalid argument > pfctl: Syntax error in config file: pf rules not loadedSome changes in the pf source have been made over the last couple of months. The error returned appears to be related. It appears that your running into a table size/count and memory allocation related error. The first change moved/changed memory allocation to kernel space, requiring one to increase allocation via loader.conf(5). It was recently moved back to userspace allowing one to make changes to a running system via sysctl.conf(5) or the commandline. IOW if your on the recent change you should be able to simply increase your table count by executing something like: # echo "set limit table-entries <larger-table-count>" | pfctl -m -f - OTOH if your stuck with the change in kernelspace, increase net.pf.request_maxcountby some amount in loader.conf(5). If you are on the newer userspace change, you can issue the sysctl(8) command at your terminal for net.pf.request_maxcountas well. HTH --Chris> > I have tried to use just one network, double check the interface group > setting and > so on, but with no luck. > > to use actual interface works just fine: > > table <nat_addresses> { igb1.300:network } > > but using the group fails: > > # ifconfig -g mgmt > igb1.300 > > table <nat_addresses> { mgmt:network } > > # pfctl -f /etc/pf.conf > /etc/pf.conf:12: cannot create address buffer: Invalid argument > pfctl: Syntax error in config file: pf rules not loaded > > Any ideas? > > Thanks! > > /Peter. > _______________________________________________ > freebsd-stable at freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
Peter Ankerstål
2021-Apr-14 17:44 UTC
using interface groups in pf tables stopped working in 13.0-RELEASE
const { trusted:network mgmt:network dmz:network>> guest:network edmz:network \
>> admin:network iot:network client:network }
>> If I reload the configuration I get the following:
>> # pfctl -f /etc/pf.conf
>> /etc/pf.conf:12: cannot create address buffer: Invalid argument
>> pfctl: Syntax error in config file: pf rules not loaded
> Some changes in the pf source have been made over the last couple
> of months. The error returned appears to be related. It appears
> that your running into a table size/count and memory allocation
> related error. The first change moved/changed memory allocation to
> kernel space, requiring one to increase allocation via loader.conf(5).
> It was recently moved back to userspace allowing one to make changes
> to a running system via sysctl.conf(5) or the commandline.
> IOW if your on the recent change you should be able to simply
> increase your table count by executing something like:
> # echo "set limit table-entries <larger-table-count>" |
pfctl -m -f -
> OTOH if your stuck with the change in kernelspace, increase
> net.pf.request_maxcount> by some amount in loader.conf(5). If you are on
the newer userspace
> change, you can issue the sysctl(8) command at your terminal for
> net.pf.request_maxcount> as well.
I dont think so. Everything works normally if I switch from group name to
interface name
in the config.
It seems to me that pf for some reason changed how it interprets group names
differently from
12.2-RELEASE-p4 and 13.0-RELEASE.
I dont really get how "anchor in from trusted:network? can resolve to
"anchor in inet6 all?
/Peter.