如何添加 NAPT/PAT 规则?

How to add NAPT/PAT rule?

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

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

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

编辑

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

通过使用 iptables,伪装是一种选择,但可能无法实现您的目标。更好的方法是通过编写自己的 iptable 操作来扩展 netfilter 和 iptables。我几年前就这样做了,here 是我的 github 代码,希望能帮到你。