mytable
我在表链中有许多规则mychain
:
> sudo nft -a list table mytable
table ip mytable { # handle 8
chain mychain { # handle 1
type filter hook input priority filter; policy accept;
tcp dport 5550 accept # handle 18
tcp dport 5551 accept # handle 19
tcp dport 5552 accept # handle 20
tcp dport 5553 accept # handle 21
tcp dport 5554 accept # handle 22
}
}
根据nftables wiki,应该可以从指定的链中删除所有规则。但是以下命令返回错误:
> sudo nft delete rule mytable mychain
Error: syntax error, unexpected newline, expecting handle
delete rule mytable mychain
^
mychain
在不迭代规则句柄的情况下删除所有规则的正确命令是什么?
nftables wiki 中仍然存在一些错误。实际的语法非常合乎逻辑:
删除一切
清空一个表(
ip
如果未指定,默认为家庭)。例如对于my table
删除一个表(这也先清空它)。例如对于
mytable
清空链条(同上)。例如对于
mytable mychain
删除链(同上)。例如对于
mytable mychain
删除规则(这仍然只能通过句柄引用来完成)。例如对于
tcp dport 5550 accept # handle 18
要记住的是该动作是做什么的。如果你想在链级别做一个操作,那很正常,有
chain
关键字。如有疑问,
nft
手册页通常更准确,但当然必须提前知道信息位于CHAINS部分而不是RULES部分: