Windows Server 2012 出厂时有 2 条与远程桌面相关的防火墙规则 - 1 条用于 TCP,另一条用于 UDP。这两条规则均指定%SystemRoot%\system32\svchost.exe在“程序和服务”选项卡上。两个规则均已启用。
该服务器位于 Amazon EC2 上,Amazon 创建的默认安全组仅包含 1 条针对远程桌面的规则 - 端口 3389 上的 TCP。没有针对 UDP 的规则 - 为什么?
我想切换到备用 RD 端口(例如 4389)。
我尝试为端口 4389 创建新的 Windows 防火墙规则,但当我指定%SystemRoot%\system32\svchost.exe在“程序和服务/此程序”上,我收到此警告:
因此我选择了“所有符合指定条件的程序”,默认情况下其含义是“所有程序和服务”。
这是正确的选择吗(跳过 - 它符合我的要求,但我仍然不确定这是否是我应该选择的)?其他选项是(由于害怕被锁定,我没有尝试过):
1)无视警告并离开%SystemRoot%\system32\svchost.exe关于“计划和服务/此计划:”
2)按“指定服务...”旁边的“设置”,并选择“应用于此服务”,然后在列表中选择“远程桌面服务”:
然后,我将注册表中的 RD 端口号更改为 4389,在 Amazon EC2 安全规则中为端口 4389 创建了额外的 TCP 规则,重新启动了 Windows 实例,一切似乎都正常。
但是我是否还需要为 4389 的 UDP 创建 Windows 防火墙和 Amazon EC2 规则?
答案1
通常,RDP 仅使用 TCP 协议。因此您不需要为 UDP 创建规则。
但是,最新的 RDP 版本(8.0/8.1)只能使用 TCP,或者同时使用 TCP 和 UDP。
看来微软已经添加了 UDP 来改善用户体验,通过支持高延迟网络上的实时流量,或者,正如他们所说:
提高通过互联网访问服务器时的响应速度和屏幕重建时间
在 RDS 部署中,RD 网关服务器也使用 RDP 的 UDP 协议来传输内部流量。
进一步阅读:
- http://social.technet.microsoft.com/wiki/contents/articles/10973.configuring-udp-support-on-the-rd-gateway-in-windows-server-2012.aspx
- http://social.technet.microsoft.com/wiki/contents/articles/16164.what-ports-are-used-by-a-rds-deployment.aspx
干杯