因此我在 VirtualBox 上设置了 Windows 2008 Web 服务器 R2。
当前使用桥接网络。
我可以远程桌面连接到托管 VM 的机器(10.0.0.183),但无法远程桌面连接到 VM 本身(10.0.0.195)。
VM 上的远程端口设置为 5003。VM 设置为接受远程连接(Windows 端)。
我们也使用代理来上网,并且我在我们的代理盒上的 NAT(centOS 5)下添加了这些规则。
-A INPUT -p tcp --dport 3389 -j ACCEPT
-A REROUTING -i ppp0 -p tcp --dport 3389 -j REDIRECT --to-port 5003
-A FORWARD -d 10.0.0.195 --dport 5003 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
我已经尝试了好几个小时但就是无法让它工作。
我还使用了 freedns,以便我们可以使用域名通过互联网连接该虚拟机。(DNS 指向我们的外部 IP 地址)。
如果我们做不到这一点,我们将不得不从 ISP 购买 PPoE 才能远程连接到该 VM,但我知道如果我能正确完成此端口转发,那么还有另一条路线!
答案1
为了澄清情况,我将把托管虚拟机的机器作为路由器。
第二行REDIRECT
表示所有经过路由器的连接都将重定向到路由器本身。这可能不是您想要的。
如果你输入:
-A PREROUTING -i ppp0 -p tcp --dport 5003 -j DNAT --to 10.0.0.195
那么所有到 的连接10.0.0.183 port 5003
都将转发到10.0.0.195 port 5003
。您可能还需要:
-A POSTROUTING -d 10.0.0.195 -j SNAT
以确保回复数据包返回到路由器。您可能还需要一些FORWARD
条目来确保它被允许,并且可能net.ipv4.ip_forward=1