diff --git a/config/action.d/nftables.conf b/config/action.d/nftables.conf index 53fbcfec..a55128e9 100644 --- a/config/action.d/nftables.conf +++ b/config/action.d/nftables.conf @@ -55,7 +55,7 @@ _nft_for_proto-multiport-done = done _nft_list = -a list chain _nft_get_handle_id = grep -oP '@\s+.*\s+\Khandle\s+(\d+)$' -_nft_add_set = add set
\{ type \; \} +_nft_add_set = add set
\{ type \; \} <_nft_for_proto--iter> add rule
%(rule_stat)s <_nft_for_proto--done> @@ -197,6 +197,11 @@ addr_set = addr-set- # Values: [ ip | ip6 ] addr_family = ip +# Option: addr_options +# Notes: Additional options for the addr-set, by default allows to store CIDR or address ranges. +# Can be set to empty value to create simple addresses set. +addr_options = flags interval\; + [Init?family=inet6] addr_family = ip6 addr_type = ipv6_addr diff --git a/fail2ban/tests/servertestcase.py b/fail2ban/tests/servertestcase.py index 347ab9e5..9f8a4cd3 100644 --- a/fail2ban/tests/servertestcase.py +++ b/fail2ban/tests/servertestcase.py @@ -1343,11 +1343,11 @@ class ServerConfigReaderTests(LogCaptureTestCase): r"`done`", ), 'ip4-start': ( - r"`nft add set inet f2b-table addr-set-j-w-nft-mp \{ type ipv4_addr\; \}`", + r"`nft add set inet f2b-table addr-set-j-w-nft-mp \{ type ipv4_addr\; flags interval\; \}`", r"`nft add rule inet f2b-table f2b-chain $proto dport \{ $(echo 'http,https' | sed s/:/-/g) \} ip saddr @addr-set-j-w-nft-mp reject`", ), 'ip6-start': ( - r"`nft add set inet f2b-table addr6-set-j-w-nft-mp \{ type ipv6_addr\; \}`", + r"`nft add set inet f2b-table addr6-set-j-w-nft-mp \{ type ipv6_addr\; flags interval\; \}`", r"`nft add rule inet f2b-table f2b-chain $proto dport \{ $(echo 'http,https' | sed s/:/-/g) \} ip6 saddr @addr6-set-j-w-nft-mp reject`", ), 'flush': ( @@ -1389,11 +1389,11 @@ class ServerConfigReaderTests(LogCaptureTestCase): r"`nft -- add chain inet f2b-table f2b-chain \{ type filter hook input priority -1 \; \}`", ), 'ip4-start': ( - r"`nft add set inet f2b-table addr-set-j-w-nft-ap \{ type ipv4_addr\; \}`", + r"`nft add set inet f2b-table addr-set-j-w-nft-ap \{ type ipv4_addr\; flags interval\; \}`", r"`nft add rule inet f2b-table f2b-chain meta l4proto \{ tcp,udp \} ip saddr @addr-set-j-w-nft-ap reject`", ), 'ip6-start': ( - r"`nft add set inet f2b-table addr6-set-j-w-nft-ap \{ type ipv6_addr\; \}`", + r"`nft add set inet f2b-table addr6-set-j-w-nft-ap \{ type ipv6_addr\; flags interval\; \}`", r"`nft add rule inet f2b-table f2b-chain meta l4proto \{ tcp,udp \} ip6 saddr @addr6-set-j-w-nft-ap reject`", ), 'flush': (