问题标签 [nftables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
116 浏览

nftables - nftables netdev 和 inet 钩子之间的区别

从 nftables 0.9.7 开始,我知道我可以将 inet 与入口钩子一起使用,如下所示:

这与(或者我认为是)相同:

规则是一样的:

inet 中的输出就像(使用 netdev 可以):

附言。Linux 5.10.27 nftables v0.9.8 (EDS)

我还有另一个关于优先级的问题:期望相同的链,但具有:0 表示 netdev,1 表示带有数据包元标记的 inet 钩子。据我了解,他们必须按顺序行事,但事实并非如此。

0 投票
0 回答
296 浏览

linux-kernel - nftables ipv4未加载

我对 Ubuntu 中的 nftables 有疑问。我想将 nftables 用于科学应用程序,以通过 c++ 望远镜控制程序中的 UDP/IP 从远程望远镜发送一些图像文件,有人建议使用 nftables 可能有用。所以我使用以下命令来获取 nftables:

按照 nftables wiki 的安装指南,我加载了模块:

但我无法加载家庭模块:

这与 nf_tables_ipv6 类似。我正在运行 Ubuntu 18.04 和内核 5.4.0.70。我的问题是首先我应该如何加载 nf_tables_ipv4?获取分发包并从源代码构建解决它时,这通常是一个问题吗?还是有不同的潜在问题我无法加载这些家庭模块?

其次,我的应用程序需要这些基本包吗?第三:鉴于我没有任何经验,在我的应用程序中使用 nftables 真的是个好主意吗?这是一个非常基本的问题,但我想也许有人可以告诉我我是否至少在正确的轨道上。

非常感谢

0 投票
0 回答
28 浏览

load-balancing - 带有连接跟踪的 nftables L2 负载平衡

我想在第 2 层使用 nftables 进行负载平衡。

所以基本上将相同的IP数据包转发到另一个接口。这可以通过使用标准 linux 工具与连接跟踪结合来完成吗?

Contnrack 本身似乎不太合适,因为它不存储接口/L2 信息。使用 nftables 可以设置ether daddr以及将数据包转发到另一个 iface,但我看不到将它与 conntrack 结合的方法。

0 投票
1 回答
105 浏览

nftables - nftables 集:无法在命令行上添加带有标志间隔的集

据说,这个命令失败了:

但是这个成功了:

我尝试使用标志常量,它可以工作。所以似乎不支持“间隔”,或者我错过了什么?

我正在努力实现这样的目标。

0 投票
2 回答
499 浏览

nftables - 每多秒的 nftables 速率限制

我正在尝试将一些 iptables 规则转换为 nftables 如果在 30 秒的时间跨度内尝试超过 4 次,我想制定一个阻止连接的规则

我原来的 iptables 规则是:

如何在 nftables 中执行相同(或等效)操作?

0 投票
0 回答
65 浏览

docker - nftable fib 规则与节点目标 ip 的数据包不匹配

我正在从容器发送一个数据包,目标 IP 为 node-ip。当数据包到达节点/主机时,它会通过已编程的 nftable 列表。

我希望数据包跳转到 xyz 链。但我没有看到这种情况正在发生。

hook_nat_prerouting 有什么问题?

0 投票
0 回答
120 浏览

nftables - nftables:覆盖默认配置文件

想象一下,有一些应用程序做了一件愚蠢的事情,比如配置和覆盖所有防火墙规则,/etc/nftables.conf并在每次更新时启用所述防火墙(即使主机本身已经在防火墙后面,这在很大程度上是多余的)。

而在同一台服务器上运行的其他一些东西需要从外部源访问,比如备份客户端。虽然我可以通过修改默认配置并重新启动防火墙来设置防火墙规则以允许这些其他应用程序运行,但它们会不断中断。

我发现将额外的规则放在不同的文件中可以保护它们免受破坏。现在我希望 nftables 加载这两个文件,但在我的文件优先级中给出规则。这似乎是一个简单的任务,但 nftables 是独特的拜占庭式复杂的做到这一点。以下是一些要求:

  • 知道每个服务器上实际调用的输入链是什么。它可能是inet.inputorip4.INPUTip.inputor ip4.Input。它运行的闭源代码可能来自开发人员不关心的 Windows 环境,但 linux 区分大小写。nftables 定义也区分大小写,如果命名错误,我的规则将无效。

到目前为止,我的解决方案如下:

首先,我修改/lib/systemd/system/nftables.service为指向/etc/nftables.main.conf. 然后将此文件更改为包括:

然后后一个目录包含我要在默认规则之上应用的修改。然而,如果命名正确,这样做似乎会将规则附加到链中。

  • 有没有一种简单的方法来添加这样的规则?
  • 是否有一种简单的方法来引用“ipv4 链,尽可能地在过滤过程中”,即使封闭源代码的混乱程序做了一件没有一致链名的混乱事情,它也会可靠地工作?

我想添加的示例文件:

0 投票
1 回答
56 浏览

configuration - 如何将 `0.pool.ntp.org` 放入 `/etc/nftables.conf` 没有任何错误?

/etc/nftables.conf,我有define ntp_server={ 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org }0.pool.ntp.org 从数字开始,然后我遇到错误nft -f

如何解决这个问题呢?

0 投票
2 回答
233 浏览

networking - nftables - 丢弃特定网桥上的 arp 流量

我对 nftables 语法有基本的了解,我正在尝试删除 Linux 网桥上发生的所有 arp 流量。

我正在运行 debian 并且有几个虚拟机都连接到一个网桥。对于一个项目,我需要阻止任何类型的 ARP 流量,但只能在这个网桥上。

我尝试了类似的东西

(虚拟机通过“tap2*”tap devices“自动连接到网桥)但是效果不是很好,至少我仍然可以看到每个虚拟机上的 ARP 数据包 tcpdump,请求和回复。我知道上面的配置可能不完全有意义,但我不知道什么是正确的方法。

我的配置有什么问题?

0 投票
1 回答
2338 浏览

docker - docker 的 nftables 规则

系统:RHEL 8.4 Docker 版本:20.10

RHEL 8 已从 iptables 转移到 nftables,Docker inbuild 使用 iptables 在机器上设置防火墙规则。

它似乎中断了从 docker 容器到主机服务以及与同一网络上其他托管 docker 容器的通信。

我必须与端口 5000 上容器中托管的注册表进行通信。

而且我还在容器中托管 impala 服务并打开暴露的以下端口

21000

21050

25000

25010

25020

此外,当我登录到容器时,它无法与互联网联系。

有谁知道可以设置哪些规则来与 docker 进行正确的通信。此外,容器中托管的服务必须能够联系所有相关的主机服务。

到目前为止尝试的事情:

在 /etc/docker/daemon.json 中进行了更改

并基于此链接尝试设置规则,但没有运气

仅供参考:我不知道在 linux 防火墙中设置任何类型的规则(不是使用 iptables 也不是使用 nftables)