我实际上正在学习在测试环境中使用 nftables,并且我实际上正在使用 nftables 集。我使用的是 0.7 版,由于我的测试无法正常工作,我更新到 0.9.4 版,但我的问题仍然相同。
我可以毫无问题地在我的桌子上创建我的套装。而且我的集合元素必须包含 ipv4 地址。我使用 nftables 表、链和集合没有问题,我的规则有效等等......
所以我想做但找不到怎么做的是删除我所有的集合元素,而不是一一精确的ipv4地址。
假设我的表名称是test并且我的设置名称是tmp类型为 ipv4_addr,我的配置将如下所示:
table ip test {
set tmp {
type ipv4_addr
}
}
我可以使用以下命令成功地将元素添加到该集合中:
nft add element ip test tmp { 10.10.10.10 }
现在我要做的是删除我的集合中的所有元素,我查看了 nft 的手册页,它说我可以使用 flush 命令刷新集合中的所有元素:
SETS
[...]
flush Remove all elements from the specified set.
所以我尝试了这个命令从我的集合中删除我的所有元素:
nft flush set test tmp
但它返回给我这个错误:
Error: Could not process rule: Invalid argument
flush set test tmp
^^^^^^^^^^^^^^^^^^^
我以相同的方式尝试了很多命令(在设置之前添加表格,而不是精确表格),它总是返回错误,但并非每次都相同。
我想我一定做错了什么,但我不知道是什么。如果你有任何想法,请?我将非常感谢!
也许我的整体配置不好,我不能这样想套?
如果无法从集合中刷新元素,有没有办法从集合中删除所有元素(除了定义标志超时)?
抱歉,如果我的信息不清楚,我是法语,用另一种语言来描述问题有点困难......
谢谢!
问候。