问题标签 [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.
server - nftables 不允许 ssh
我的服务器中有一个规则集,如下所示:
即使应该打开端口,我也无法从端口 22 上的 ssh 连接。如果我输入:
$ nft flush ruleset
,则 22 端口允许连接。
我做错了什么?
ubuntu - 运行剧本/命令以在 nftable 中创建规则时收到语法错误、意外规则
我正在为 CIS Ubuntu 20.04 安全基准创建一堆剧本。基准测试之一希望我确保为 nftables 配置环回流量。我对 Ansible 和 CIS Benchmarks 完全陌生,但我正在学习。
首先,我创建了一个剧本并运行它:
但我收到一个错误,指出存在语法错误:
然后我尝试手动运行它以查看它是否有效:
收到此错误后,它不起作用:
我不确定我去了哪里。一些论坛建议我需要升级 nftables,但是当我搜索可以做到这一点的方法时,我没有找到任何方法。
任何帮助都将不胜感激。
shell - nftables 中的规则管理
我将端口作为变量获取,我需要删除 nftables 中的规则。如果端口存在于规则中,那么我将 grep 句柄号并删除规则。但是在 nftables 中,服务名称会出现在规则中,所以我该如何删除规则。除了句柄或任何其他建议之外,有什么方法可以找到属于服务的端口或任何其他方法来删除 nftable 规则?
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 的源代码中有错字?
linux-kernel - 用于前/后路由的 WSL 内核 Netfilter 钩子不可用
我在 Windows 11、WSL2、内核 5.10.60.1-microsoft-standard-WSL2 上。
我正在使用 RHEL 发行版,并且正在尝试启用 netfilter NAT 规则。问题是如果我尝试将规则添加到 Pre 或 PostRouting 的 NAT 表中,我会收到此错误:
我的谷歌搜索让我相信我需要添加一些内核配置才能使其工作,但从我可以从 Microsoft 默认值中看出,一切似乎都已打开。如果那里有内核专家可以给我一个提示,我将不胜感激!
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
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 ^^^^^^^
这些是我得到的问题。任何帮助,将不胜感激。
iptables - 如何添加 NAPT/PAT 规则?
我的目标是使用正确的功能 NAPT 将数据包从一个接口转发到另一个接口,而不会发生源端口冲突。
我找不到如何使用iptables
and添加 NAPT 规则(网络地址端口转换或也称为 PAT) nftables
。
更有趣的是,搜索组合PAT NAPT iptables/nftables/netfilter
并没有给出任何相关信息。即使他们提到PAT/NAPT,他们也会做一个简单的 IP 伪装......
编辑
似乎 iptables 的 NAT 进行了隐式端口转换……尽管它没有写在任何地方,但对每个人来说都是显而易见的。然而,NAT 的定义非常明确,不包括第 4 层更改。任何...
linux - 使用 nftables 阻止应用程序通信(传入/TCP 端口)?
任何人都可以帮助我在 nftable 中编写规则,以使用 nftables 阻止通过特定 tcp 端口传入的数据包。(具体流程)
networking - 谁能给我任何想法 Nftable 规则
1.接受传入的 TCP 连接 ssh(端口 22),速率限制为每台主机每分钟 30 个连接,突发 5 个连接 2.记录接受的 ssh 连接。