IPTABLES NAT 端口转发

IPTABLES NAT 端口转发

我正在尝试设置一个 Linux 机器,使其充当一个非常简单的 2 NIC 路由器。我已阅读了 Archlinux 和 Gentoo wikis 上的说明,并得到了相同的结果,伪装有效但端口转发无效。我正在尝试将端口 6500 转发到内部机器上的端口 22。下面发布的是精简版 iptables.rules 文件。

任何帮助将不胜感激。

:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [1:64]
-A PREROUTING -p tcp -m tcp --dport 6500 -j DNAT --to-destination 172.16.1.1:22
-A POSTROUTING -s 172.16.0.0/16 -o wan0 -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [268:24945]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 172.16.1.1/16 -o lan0 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT

答案1

请尝试REDIRECT以下DNAT方法,

iptables -A PREROUTING -p tcp -m tcp --dport 6500 -j重定向–到目的地 172.16.1.1:22

希望这可以帮助!

答案2

我原来的配置是正确的。我没有在服务器上正确分配默认网关。

相关内容