首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向nftables.conf添加规则

如何向nftables.conf添加规则
EN

Unix & Linux用户
提问于 2022-07-04 16:42:57
回答 2查看 1.7K关注 0票数 0

在我的终端里,我写道:

sudo nft add table inet f2b-table

systemctl reload nftables.service

然后:

sudo nft list ruleset

结果在终点站(ok):

table inet f2b-table { }

但是当我打开nftables.conf时,为什么表内f2b没有出现

为什么它在终端而不是nftables.conf中显示表(这是两个不同的文件吗?)

应该做些什么来更新nftables.conf?

EN

回答 2

Unix & Linux用户

发布于 2022-07-04 18:52:13

您已经更新了内核中的表(不是文件)。如果您更新该文件,那么它将在文件中。如果然后告诉nft重新读取文件,那么它将被复制到内核中。

所有Unix配置文件,只是文件。在某个时候,它们被读取并加载到正在配置的内核或程序中。nftables.conf将在系统启动时加载,很可能是在重新启动nft时加载,或者告诉它重新加载其配置。

可能有一种方法可以让内核转储可以复制到文件中的数据。但是,这也将包括更改之前已经存在的数据。

票数 0
EN

Unix & Linux用户

发布于 2022-07-04 19:12:44

当我查看nftables时,我发现只有这个页面处理从文件:https://wiki.nftables.org/wiki-nftables/index.php/Scripting加载表的问题。

该页描述了nft -f filename命令如何从文件加载表配置,但没有匹配的命令将配置保存到文件中。

这里简短地提到,"nft list“命令的输出是文件的可接受的语法之一。这意味着nft list ruleset > filename将创建一个可由"nft -f“读取的文件。

为什么systemctl reload nftables.service命令不这样做?显然,由包维护人员创建的systemctl配置没有执行保存到文件的操作。也许它只执行从文件读取的操作。我没有更详细的信息,因为我没有一台带有NFT数据包过滤的计算机,而且您也没有提到您正在使用哪个Linux/Unix。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/708591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档