故事
我有一个 VPN 线保护虚拟接口wg0
(可以是其他任何东西)和一个物理接口eth0
。我想将数据包从 VPN 路由到我的 LAN,或从一个接口路由到另一个接口。
几乎所有的博客、文章、教程都建议使用MASQUERADE
或Source NAT
仅使用:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
而且,IP masquerade
只是一个SNAT(Source NAT),它不会改变源端口。
问题
- 我认为我应该使用NAPT/PAT是不是错了?
- 为了完整起见,如何使用 iptables 和/或 nftables 添加 NAPT/PAT 规则?
想法
wg0
由主机生成并从(或任何其他虚拟/物理接口)转发的数据包之间可能存在(源端口)冲突。恕我直言,必须使用 NAPT 来避免这些冲突。