nft 会计支持:这个 wiki 示例有误吗?

nft 会计支持:这个 wiki 示例有误吗?

官方 nft wiki 页面会计示例查看‘nexthop’

nft add rule filter postrouting meter acct { rt nexthop timeout 600s counter }   
nft add rule ip6 filter postrouting meter acct { rt nexthop timeout 600s counter}  

我将该示例改编为:
sudo nft'添加规则 inetfirewalld nat__POSTROUTING_RULES_log meter acct {下一跳时间 600 秒计数器}'

你好,
我上面引用的 wiki 链接在命令行指向意外'}'。有什么想法吗?
感谢您的支持。

答案1

IIRC,在命令中使用括号的情况下,您需要对其进行转义,例如nft 'add chain nat prerouting { type nat hook prerouting priority -100; }',因此该示例可能确实是错误的

编辑:看起来括号不需要转义,只有分号。

编辑2:根据错误消息(Error: cannot determine ip protocol version, use "ip nexthop" or "ip6 nexthop" instead)判断,在我看来,在 inet 表的情况下,您必须在操作或匹配块中指定 ip 或 ipv6 proto:

nft 'add rule inet firewalld nat__POSTROUTING_RULES_log meter acct {rt ip nexthop timeout 600s counter}

或者在匹配块中

nft 'add rule inet firewalld nat__POSTROUTING_RULES_log ip saddr 192.168.2.0/24 meter acct {rt nexthop timeout 600s counter}'

相关内容