
Как можно настроить nftables с помощью декларативной спецификации? Я читал о Firewalld, командах iptables и т. д. Я ищу способ записать правила в JSON, YAML, TOML и т. д. и просто «применить» их.
решение1
Я думаю, что обычный синтаксис nft такой же декларативный, как и все остальное. Просто включите:
flush ruleset
В начале вашего файла правил, а затем:
nft -f ruleset.nft
Настроим именно те правила, которые определены в вашем ruleset.nft
файле.
Запись правил в формате JSON или каком-либо другом синтаксисе не делает их более декларативными (nft поддерживает ввод и вывод JSON с помощью этой -j
опции, но вам нужно будет явно очистить набор правил nft flush ruleset
перед загрузкой правил JSON, и в этом случае у вас не будет атомарной операции).