有没有办法可以映射127.0.0.1:3389
到192.168.1.2:3389
(使用 iptables?也就是说,所有连接都localhost:3389
将被重定向到我的 LAN 机器?
原因如下:我的 iPhone RDP 应用程序可以进行 SSH 隧道,但不提供调整 SSH 参数的选项。因此,它通过 SSH 连接到我的路由器,建立到 127.0.0.1:3389 的隧道,然后尝试连接到localhost:3389
iPhone。失败。
我不想在我的 LAN 机器上运行 SSH 服务器,而是想使用路由器的 SSH 服务器(运行 Tomato 的 Asus RT-N16)。这样可行吗?这行不通:
$ iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 3389 -j DNAT --to-destination 192.168.1.2
答案1
答案2
您的 iptables 命令有一些错误:
1)你试图在 OUTPUT 表中捕获它,但对于这样的重定向,你需要在 PREROUTING 中执行此操作
2)您也没有重定向到端口。您只是告诉 iptables 将这些数据包发送到某个 IP,而不指定端口。
因此你的命令应如下所示:
iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp --dport 3389 -j DNAT --to 192.168.1.2:3389
我的 iptables-fu 可能有点生疏,所以如果它不起作用,请尝试在 INPUT 表中运行相同的命令 (-A INPUT)。如果不起作用,请在这里留言,我们会找到解决办法。