问题标签 [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 投票
2 回答
572 浏览

server - nftables 不允许 ssh

我的服务器中有一个规则集,如下所示:

即使应该打开端口,我也无法从端口 22 上的 ssh 连接。如果我输入:

$ nft flush ruleset,则 22 端口允许连接。

我做错了什么?

0 投票
0 回答
80 浏览

ubuntu - 运行剧本/命令以在 nftable 中创建规则时收到语法错误、意外规则

我正在为 CIS Ubuntu 20.04 安全基准创建一堆剧本。基准测试之一希望我确保为 nftables 配置环回流量。我对 Ansible 和 CIS Benchmarks 完全陌生,但我正在学习。

首先,我创建了一个剧本并运行它:

但我收到一个错误,指出存在语法错误:

然后我尝试手动运行它以查看它是否有效:

收到此错误后,它不起作用:

我不确定我去了哪里。一些论坛建议我需要升级 nftables,但是当我搜索可以做到这一点的方法时,我没有找到任何方法。

任何帮助都将不胜感激。

0 投票
1 回答
65 浏览

shell - nftables 中的规则管理

我将端口作为变量获取,我需要删除 nftables 中的规则。如果端口存在于规则中,那么我将 grep 句柄号并删除规则。但是在 nftables 中,服务名称会出现在规则中,所以我该如何删除规则。除了句柄或任何其他建议之外,有什么方法可以找到属于服务的端口或任何其他方法来删除 nftable 规则?

0 投票
1 回答
49 浏览

rust - 将 `&&*const libc::foreignStruct` 转换为 `&libc::foreignStruct`

我正在使用nftnl-rs构建一个 nftables 规则表,并取得了巨大的成功。但是现在我想知道系统中是否已经存在同名的表。我在 nftnl-rs 中发现了两个nftnl/src/table.rs似乎正是为此而设计的函数:get_tables_nlmsg()get_tables_cb()。但是我无法成功使用它们。get_tables_cb()的文档字符串说它是用来处理前者的输出,但get_tables_nlmsg()返回 a Vec<u8>,显然包含创建的 nlmsghdr 的内存地址,而get_tables_cb()将 a&nlmsghdr作为参数。

具体来说,我试过:

rustc 抱怨它期望 an&nlmsghdr并得到 a &&*const nlmsghdr,而我无法将前者转换为后者。我浏览了源代码和示例,没有看到这个铸造案例出现。在源代码中来回跳转,我发现 Nomicon 的一部分谈论似乎适用于的不透明结构nlmsghdr,但也不能解决我的问题。事实上,我对函数声明有点困惑:

如果*const libc::nlmsghdr是外来的 Struct,到底能&libc::nlmsghdr是什么?会不会是 nftnl-rs 的源代码中有错字?

0 投票
1 回答
135 浏览

linux-kernel - 用于前/后路由的 WSL 内核 Netfilter 钩子不可用

我在 Windows 11、WSL2、内核 5.10.60.1-microsoft-standard-WSL2 上。

我正在使用 RHEL 发行版,并且正在尝试启用 netfilter NAT 规则。问题是如果我尝试将规则添加到 Pre 或 PostRouting 的 NAT 表中,我会收到此错误:

我的谷歌搜索让我相信我需要添加一些内核配置才能使其工作,但从我可以从 Microsoft 默认值中看出,一切似乎都已打开。如果那里有内核专家可以给我一个提示,我将不胜感激!

0 投票
2 回答
28 浏览

linux-kernel - MFT rule which filters packet by ip length

I want to create a rule which can accept only these packets which have ip length greater than 2000

so I have my table (my_table) and chain(my_chain) and I am trying something like this:

but I've got the error:

`-bash: 2000: No such file or directory

I believe that there is a problem with '<'. How can I rewrite this rule without using comparison operators? Cause this is working:

but it has different meaning

0 投票
1 回答
195 浏览

ipv6 - 如何为 IPv6 添加 NFT SNAT 规则?

我正在尝试在我的路由器中为 IPv6 添加 SNAT NFT 规则。通过接口 enp1s0 的任何传出数据包都应使用以下 IPv6 地址进行 SNAT。这些是我尝试过的规则和错误。

nft add rule inet nat postrouting oifname "enp1s0" snat ip6 to 2401:fb00:0:1ff::32d/64

错误:无法处理规则:没有这样的文件或目录添加规则 inet nat postrouting oifname enp1s0 snat ip6 to 2401:fb00:0:1ff::32d/64 ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^

nft 添加规则 nat 后路由 oifname "enp1s0" snat 到 2401:fb00:0:1ff::32d

错误:无法解析主机名:不支持主机名的地址系列将规则 nat 后路由 oifname enp1s0 snat 添加到 2401:fb00:0:1ff::32d ^^^^^^^^^^^^^^^^^^ ^

nft 添加规则 nat 后路由 ip6 oifname enp1s0 snat 到 2401:fb00:0:1ff::32d

错误:语法错误,意外的 oifname 添加规则 nat postrouting ip6 oifname enp1s0 snat to 2401:fb00:0:1ff::32d ^^^^^^^

这些是我得到的问题。任何帮助,将不胜感激。

0 投票
1 回答
64 浏览

iptables - 如何添加 NAPT/PAT 规则?

我的目标是使用正确的功能 NAPT 将数据包从一个接口转发到另一个接口,而不会发生源端口冲突。

我找不到如何使用iptablesand添加 NAPT 规则(网络地址端口转换或也称为 PAT) nftables

更有趣的是,搜索组合PAT NAPT iptables/nftables/netfilter并没有给出任何相关信息。即使他们提到PAT/NAPT,他们也会做一个简单的 IP 伪装......

编辑

似乎 iptables 的 NAT 进行了隐式端口转换……尽管它没有写在任何地方,但对每个人来说都是显而易见的。然而,NAT 的定义非常明确,不包括第 4 层更改。任何...

0 投票
0 回答
28 浏览

linux - 使用 nftables 阻止应用程序通信(传入/TCP 端口)?

任何人都可以帮助我在 nftable 中编写规则,以使用 nftables 阻止通过特定 tcp 端口传入的数据包。(具体流程)

0 投票
1 回答
41 浏览

networking - 谁能给我任何想法 Nftable 规则

1.接受传入的 TCP 连接 ssh(端口 22),速率限制为每台主机每分钟 30 个连接,突发 5 个连接 2.记录接受的 ssh 连接。