在我的一个工作地点,我们有一组 Linux 服务器,其中一台充当主路由器。在网络内的另一台 Linux 服务器上,我在虚拟机中运行 Server 2012。虚拟机的远程桌面已打开,我可以从网络内部使用 RDP。我的目标是从网络外部使用 RDP,通过路由器(Linux 机箱),然后转到另一台 Linux 服务器上的端口 3389。
所有服务器都使用 IPTABLES 作为防火墙,并且都运行 Debian Wheezy x64。
我的 iptables 列表中有以下规则:-A PREROUTING -p tcp --dport 9999 -j DNAT --to-destination 192.168.0.15:3389
。虚拟机托管在 0.15 地址上,我想通过端口 9999 从外部世界进行连接。在我的测试中,远程桌面连接似乎无缘无故地断开了连接。我还能寻找什么?
答案1
因此,我以错误的方式处理此事。
首先,如果我将端口发送到:3389
,它需要指向虚拟机自己的 IP 地址。如果我指向虚拟机的 IP 地址主持人,我需要将它放到该 VM 实例的 VirtualBox RDP 端口(即:5050
)。
我所做的是尝试直接连接到虚拟机的 RDP 端口,而不是 VirtualBox RDP 端口。我这样做是为了让虚拟机知道它正在被远程控制。我将这行放入我的 iptables 配置文件中:
-A PREROUTING -p tcp -m tcp --dport 5555 -j DNAT --to-destination 192.168.0.6:3389
我重启了 iptables,然后就可以正常连接了。不过,根据我得到的建议,它很快就被关闭了。我将调查 VPN 解决方案,以确保它更安全,免受 RDP 攻击者的攻击。