在 nftables 中我有这个
table inet my_table {
chain badips {
ip saddr 185.165.190.17 counter packets 0 bytes 0 drop
}
type filter hook input priority filter; policy drop;
# Block badips
counter packets 0 bytes 0 jump badips
}
计划将一长串 IP 放入badips
链中。如何只添加唯一的IP?有什么可以避免添加相同IP的吗?
现在我跑
nft add rule inet my_table badips "ip saddr <IP> counter packets 0 bytes 0 drop"
在nft规则中,我看到没有什么nft create rule
不同的链。
不要为每个 ip 添加一条规则。只需创建一个规则并使用一组即可。例如:
有了这些规则,您可以通过将 IP 添加到适当的集合来阻止它:
如果多次运行该语句,它不会将多个项目添加到
set
-- aset
是唯一项目的集合,因此如果 中已存在项目set
,则再次添加它是无操作的。