![如何使用声明性规范来配置 nftables?](https://linux22.com/image/782612/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%A3%B0%E6%98%8E%E6%80%A7%E8%A7%84%E8%8C%83%E6%9D%A5%E9%85%8D%E7%BD%AE%20nftables%EF%BC%9F.png)
如何使用声明性规范配置 nftables?我一直在阅读有关 Firewalld、iptables 命令等的资料。我正在寻找一种以 JSON、YAML、TOML 等格式编写规则并“应用”它们的方法。
答案1
我认为常规 nft 语法与其他语法一样具有声明性。只需包括:
flush ruleset
在规则文件的开头,然后:
nft -f ruleset.nft
将准确配置您的文件中定义的规则ruleset.nft
。
用 JSON 或其他语法编写规则不会使它们更具声明性(nft 确实支持使用该-j
选项的 JSON 输入和输出,但您需要nft flush ruleset
在加载 JSON 规则之前明确刷新规则集,并且在这种情况下您将没有原子操作)。