我遇到了一个有关端口转发的问题。我的情况非常简单。我想连接到远程服务器,但存在 IP 限制。只有我的主服务器才允许连接。我希望能够使用第三台计算机连接到远程服务器:
第三台计算机(10.10.0.2)====> 主服务器(172.16.15.3)====> 远程服务器(192.168.10.5:80)
实际上我使用 SSH 端口转发:
ssh -L 12345:192.168.10.5:80 [email protected]
wget 127.0.0.1:12345
但我必须管理 SSH 连接并始终检查隧道是否已启动。这就是我想使用 NAT 的原因,但它根本不起作用!主服务器在 Fedora 上。
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
我尝试这样做:
iptables -A PREROUTING -t nat -i enp3s0 -p tcp --dport 81 -j DNAT --to-destination 192.168.10.5:80
iptables -A FORWARD -p tcp -d 192.168.10.5 --dport 80 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.10.5 -o enp3s0 -j MASQUERADE
但是当我尝试连接时,我用 tcpdump 看到了传入的数据包,但没有传出的数据包
telnet 172.16.15.3 81
您知道如何修复它吗?
此致