![将公共 IP 端口转发到不同接口上的内部服务器](https://linux22.com/image/728341/%E5%B0%86%E5%85%AC%E5%85%B1%20IP%20%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%88%B0%E4%B8%8D%E5%90%8C%E6%8E%A5%E5%8F%A3%E4%B8%8A%E7%9A%84%E5%86%85%E9%83%A8%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
你好,我正在尝试将 WAN 接口上的公共 IP:端口转发到 LAN 上的服务器
我的服务器有两个接口
- ens19 [广域网]
- ens18 [局域网]
然后我有另一台服务器连接到同一个 LAN。
我正在尝试将该 wan ip:port 转发到我的第二台服务器 lan ip:port
我已经尝试过以下命令
iptables -t nat -A POSTROUTING --out-interface ens18 -j MASQUERADE
iptables -A FORWARD --in-interface ens19 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i ens19 -m tcp --dport 1522 -j DNAT --to-destination 10.74.72.52:22
当我尝试 ssh 我的 wanip:1522 时,连接超时
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 203.0.113.1 0.0.0.0 UG 0 0 0 ens19
localnet * 255.255.255.0 U 0 0 0 ens18
203.0.113.92 * 255.255.255.224 U 0 0 0 ens19
我已在 systemctl 中启用了 ipv4 转发
答案1
用于tcpdump
观察路由器和接收服务器上接口上的流量。
确保接收服务器的默认路由指向路由器。
您对输出接口 ens18 (LAN) 执行 MASQUERADE,并允许 ens19 (WAN) 上的所有内容进入。您是否切换了接口的描述?另一方面,传入请求将来自 WAN,因此将 ens19 设置为 WAN 是正确的。