我需要哪些 Iptables 规则来转发 Windows 远程桌面连接?

我需要哪些 Iptables 规则来转发 Windows 远程桌面连接?

我有这种情况:

网络掩码。255.255.255.0

  • 路由器/网关:Ubuntu 服务器(仅命令行,无 GUI),内部 LAN IP 为 192.168.0.2,外部 IP 为动态 DNS

  • 192.168.0.1 上的 Windows PC 在 3389 上启用了 RDP(远程桌面连接)

我想转发外部地址上的 RDP 服务:我该怎么做?

我需要哪些 iptables 规则才能从外界连接到我的 Windows PC?

答案1

所以仅仅给你这条规则可能还不够。原因如下:我不确定(A)它可以正常工作(尚未测试过)并且(二)如果它确实有效,那么它的作用将不止于工作 - 它可能会将 RDP 数据包转发到您网络中的任何机器。难题在于,如何为 -d nnn.nnn.nnn.nnn/nnn 参数获取正确的 IP 地址。所以...买家要小心;如果 0/0 有效,那么它可能对路由器后面的所有机器都有效。

无论如何,以下是:

iptables -A FORWARD -p tcp -s 0/0 -d 0/0 --destination-port 3389 -j ACCEPT

这里有一些关于 iptables 的好文章:http://oceanpark.com/notes/firewall_example.html

问候,
-pbr

答案2

您需要创建一个目标 NAT (DNAT) 规则,以将互联网连接 IP 地址上的 RDP (3389) 映射到内部系统的 IP 地址。如下所示:

iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 3389 -j DNAT --to 192.168.0.1:3389

将 $EXTIF 替换为您的外部以太网适配器(eth0、etc1、...)。您可以阅读了解更多信息(或者如果我在这个例子中犯了错误,我没有测试它)

答案3

只需将 3389 tcp 和 udp 端口​​转发到启用了远程桌面的计算机即可。然后通过访问速度测试网站找出您的外部 IP。完成后,您只需在远程桌面终端中输入您的外部或全局 IP 地址即可进入桌面。用户/密码。完成。

要转发端口 3389,您需要进入您的路由器并添加该规则。您不需要添加路由表。只需要添加那条规则。

答案4

我还建议使用外部的随机端口号...这是通过模糊性来实现的安全性,但是如果您在家用路由器外部打开了端口 3389,攻击者将很容易看到这一点并试图强行进入您的系统。

任何大于 1024 的端口都可以工作。

相关内容