规则集层次的操作

使用原生的 nft 语法

Linux 内核 3.18 包括一些优化,包括允许你使规则集作为一个整体进行操作。

列出

列出完整的规则集:

% nft list ruleset

列出每个地址族的规则集:

% nft list ruleset arp
% nft list ruleset ip
% nft list ruleset ip6
% nft list ruleset bridge
% nft list ruleset inet

这些命令会输出给定地址族的所有表/链/集合/规则。

清空

除此之外,你还可以清空整个规则集:

% nft flush ruleset

也可以是每个地址族:

% nft flush ruleset arp
% nft flush ruleset ip
% nft flush ruleset ip6
% nft flush ruleset bridge
% nft flush ruleset inet

备份/恢复

你可以使用这两个命令备份你的规则集:

% echo "nft flush ruleset" > backup.nft
% nft list ruleset >> backup.nft

然后原子性:的加载它:

% nft -f backup.nft

在 XML 或 JSON 格式中

你也可以把规则集导出成 XML 或 JSON 格式。

这种情况下,你需要使用 export 命令:

% nft export xml > ruleset.xml
% nft export json > ruleset.json

注意导出操作会输出所有表,所有地址族(ipip6inetarpbridge)。

我们正在设法使用 import 操作导入 XML 和 JSON。