如何使用声明性规范配置 nftables?我一直在阅读有关 Firewalld、iptables 命令等的资料。我正在寻找一种以 JSON、YAML、TOML 等格式编写规则并“应用”它们的方法。
答案1
我认为常规 nft 语法与其他语法一样具有声明性。只需包括:
flush ruleset
在规则文件的开头,然后:
nft -f ruleset.nft
将准确配置您的文件中定义的规则ruleset.nft
。
用 JSON 或其他语法编写规则不会使它们更具声明性(nft 确实支持使用该-j
选项的 JSON 输入和输出,但您需要nft flush ruleset
在加载 JSON 规则之前明确刷新规则集,并且在这种情况下您将没有原子操作)。