你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 虚拟桌面配置 RDP 短路径

重要

  • Azure 公有云和Azure 政府云中提供了通过 STUN for Azure 虚拟桌面的公共网络的 RDP 短路径。
  • 通过用于 Azure 虚拟桌面的 TURN 的公共网络的 RDP 短路径仅在 Azure 公有云中可用。

用户可以使用远程桌面协议 (RDP) 通过 UDP 或基于 TCP 的传输从 Azure 虚拟桌面连接到远程会话。 RDP 短路径在本地设备Windows App或支持的平台和会话主机上的远程桌面应用之间建立基于 UDP 的传输。

基于 UDP 的传输提供更好的连接可靠性和更一致的延迟。 基于 TCP 的反向连接传输提供与各种网络配置的最佳兼容性,并且建立 RDP 连接的成功率很高。 如果无法建立 UDP 连接,则将基于 TCP 的反向连接传输用作回退连接方法。

RDP 短路径有四个选项,可灵活地使用 UDP 将客户端设备连接到远程会话:

  • 托管网络的 RDP 短路径:使用专用连接(如 ExpressRoute 专用对等互连或虚拟专用网络 (VPN) )的客户端设备和会话主机之间的 直接 UDP 连接。 在会话主机上启用 RDP 短路径侦听器,并允许入站端口接受连接。

  • 使用 ICE/STUN 的托管网络的 RDP 短路径:使用专用连接(如 ExpressRoute 专用对等互连或虚拟专用网络 (VPN) )的客户端设备和会话主机之间的 直接 UDP 连接。 如果会话主机上未启用 RDP 短路径侦听器,并且不允许入站端口,则 ICE/STUN 用于发现可用于连接的可用 IP 地址和动态端口。 端口范围可配置。

  • 具有 ICE/STUN 的公共网络的 RDP 短路径:客户端设备和会话主机之间使用公共连接的 直接 UDP 连接。 ICE/STUN 用于发现可用于连接的可用 IP 地址和动态端口。 不需要 RDP 短路径侦听器和入站端口。 端口范围可配置。

  • 通过 TURN 的公共网络的 RDP 短路径:使用公共连接的客户端设备和会话主机之间的 中继 UDP 连接,其中 TURN 通过客户端和会话主机之间的中间服务器中继流量。 使用此选项的一个示例是连接使用对称 NAT。 动态端口用于连接;端口范围是可配置的。 有关 TURN 可用的 Azure 区域的列表,请参阅 支持具有 TURN 可用性的 Azure 区域。 来自客户端设备的连接也必须在受支持的位置内。 不需要 RDP 短路径侦听器和入站端口。

客户端设备可以使用的四个选项中的哪一个也取决于其网络配置。 若要详细了解 RDP 短路径的工作原理以及一些示例方案,请参阅 RDP 短路径

本文列出了这四个选项中的每一个选项的默认配置以及如何配置它们。 它还提供了验证 RDP 短路径是否正常工作的步骤,以及如何在需要时禁用它。

提示

如果网络和防火墙允许流量通过,并且会话主机和客户端的 Windows作系统中的 RDP 传输设置使用其默认值,则使用 STUN 或 TURN 的公共网络的 RDP 短路径将自动工作,而无需进行任何其他配置。

默认配置

需要为 RDP 短路径配置会话主机、相关主机池的网络设置和客户端设备。 需要配置的内容取决于要使用的四个 RDP 短路径选项中的哪一个,以及客户端设备的网络拓扑和配置。

下面是每个选项的默认行为以及需要配置的内容:

RDP 短路径选项 会话主机设置 主机池网络设置 客户端设备设置
托管网络的 RDP 短路径 默认情况下,在 Windows 中启用 UDP 和 TCP。

需要使用Microsoft Intune或组策略在会话主机上启用 RDP 短路径侦听器,并允许入站端口接受连接。
默认启用 () 默认情况下,在 Windows 中启用 UDP 和 TCP。
使用 ICE/STUN 的托管网络的 RDP 短路径 默认情况下,在 Windows 中启用 UDP 和 TCP。

不需要任何额外的配置,但可以限制使用的端口范围。
默认启用 () 默认情况下,在 Windows 中启用 UDP 和 TCP。
使用 ICE/STUN 的公共网络的 RDP 短路径 默认情况下,在 Windows 中启用 UDP 和 TCP。

不需要任何额外的配置,但可以限制使用的端口范围。
默认启用 () 默认情况下,在 Windows 中启用 UDP 和 TCP。
通过 TURN 的公共网络的 RDP 短路径 默认情况下,在 Windows 中启用 UDP 和 TCP。

不需要任何额外的配置,但可以限制使用的端口范围。
默认启用 () 默认情况下,在 Windows 中启用 UDP 和 TCP。

先决条件

在启用 RDP 短路径之前,需要:

  • 运行以下应用之一的客户端设备:

    • 以下平台上Windows App:

      • Windows
      • macOS
      • iOS/iPadOS
      • Android/Chrome OS (预览版)
    • 以下平台上的远程桌面应用

      • Windows 版本 1.2.3488 或更高版本
      • macOS
      • iOS/iPadOS
      • Android/Chrome OS
  • 对于 托管网络的 RDP 短路径,需要在客户端和会话主机之间建立直接连接。 这意味着客户端可以直接连接到端口 3390 上的会话主机, (默认) ,并且不受防火墙 ((包括 Windows 防火墙) 或网络安全组)阻止。 托管网络的示例包括 ExpressRoute 专用对等互连、站点到站点或点到站点 VPN (IPsec) ,例如 Azure VPN 网关

  • 对于 公用网络的 RDP 短路径,需要:

    • 客户端和会话主机的 Internet 访问。 会话主机需要从会话主机到 Internet 的出站 UDP 连接,或连接到 STUN 和 TURN 服务器。 若要减少所需的端口数,可以 限制与 STUN 和 TURN 一起使用的端口范围

    • 确保会话主机和客户端可以连接到 STUN 和 TURN 服务器。 可以在 网络配置中找到 STUN 和 TURN 服务器使用的 IP 子网、端口和协议的详细信息。

  • 如果想要在本地使用 Azure PowerShell,请参阅使用 Azure CLI 并将Azure PowerShell与 Azure 虚拟桌面配合使用,以确保已安装 Az.DesktopVirtualization PowerShell 模块。 或者,使用 Azure Cloud Shell

  • Az.DesktopVirtualization 模块的版本 5.2.1 预览版中添加了使用 Azure PowerShell 配置 RDP Shortpath 的参数。 可以从PowerShell 库下载并安装它。

为托管网络启用 RDP 短路径侦听程序

对于 托管网络的 RDP 短路径选项,需要在会话主机上启用 RDP 短路径侦听器,并打开入站端口以接受连接。 可以在 Active Directory 域中使用Microsoft Intune或组策略执行此作。

重要

无需为其他三个 RDP 短路径选项启用 RDP 短路径侦听器,因为它们使用 ICE/STUN 或 TURN 来发现可用的 IP 地址和用于连接的动态端口。

选择方案的相关选项卡。

若要使用 Microsoft Intune在会话主机上启用 RDP 短路径侦听器,

  1. 登录到 Microsoft Intune 管理中心

  2. 使用“设置”目录配置文件类型为Windows 10及更高版本的设备创建或编辑配置文件。

  3. 在设置选取器中,浏览到 管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>Azure 虚拟桌面

    显示Microsoft Intune门户中的 Azure 虚拟桌面管理模板选项的屏幕截图。

  4. 选中“ 为托管网络启用 RDP 短路径”框,然后关闭设置选取器。

  5. 展开 “管理模板” 类别,然后将“ 为托管网络启用 RDP 短路径” 开关切换为 “已启用”。

  6. 选择 下一步

  7. 可选:在“ 作用域标记 ”选项卡上,选择范围标记以筛选配置文件。 有关范围标记的详细信息,请参阅对分布式 IT 使用基于角色的访问控制 (RBAC) 和范围标记

  8. 在“ 分配 ”选项卡上,选择包含提供要配置的远程会话的计算机的组,然后选择“ 下一步”。

  9. 在“ 查看 + 创建 ”选项卡上,查看设置,然后选择“ 创建”。

  10. 确保 Windows 防火墙和你拥有的任何其他防火墙允许你配置的端口入站到会话主机。 按照防火墙策略中的步骤在 Intune 中实现终结点安全性

  11. 策略应用于提供远程会话的计算机后,重启这些计算机,使设置生效。

检查是否在会话主机上启用了 UDP

对于会话主机,默认情况下在 Windows 中启用 UDP。 若要检查 Windows 注册表中的 RDP 传输协议设置,以验证是否启用了 UDP,请执行以下作:

  1. 在会话主机上打开 PowerShell 提示符。

  2. 运行以下命令,这些命令检查注册表并输出当前的 RDP 传输协议设置:

    $regKey = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
    
    If ($regKey.PSObject.Properties.name -contains "SelectTransport" -eq "True") {
        If (($regkey | Select-Object -ExpandProperty "SelectTransport") -eq 1) {
            Write-Output "The RDP transport protocols setting has changed. Its value is: Use only TCP."
        } elseif (($regkey | Select-Object -ExpandProperty "SelectTransport") -eq 2) {
            Write-Output "The default RDP transport protocols setting has changed. Its value is: Use either UDP or TCP."
        }
    } else {
        Write-Output "The RDP transport protocols setting hasn't been changed from its default value. UDP is enabled."
    }
    

    输出应类似于以下示例:

    The RDP transport protocols setting hasn't been changed from its default value.
    

    如果输出指出该值为“仅使用 TCP”,则该值很可能已被 Active Directory 域中Microsoft Intune或组策略更改。 需要通过以下方式之一启用 UDP:

    1. 编辑面向会话主机的现有Microsoft Intune策略或 Active Directory 组策略。 策略设置位于以下位置之一:

      • 对于Intune策略:管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>Connections>选择 RDP 传输协议

      • 对于组策略:计算机配置>策略>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>Connections>选择 RDP 传输协议

    2. 将设置设置为 “未配置”,或将其设置为 “已启用”,然后对于 “选择传输类型”,请选择“ 使用 UDP 和 TCP”。

    3. 更新会话主机上的策略,然后重启这些策略,使设置生效。

配置主机池网络设置

通过使用Azure 门户或Azure PowerShell配置主机池的网络设置,可以精细控制 RDP 短路径的使用方式。 通过配置主机池上的 RDP 短路径,可以选择性地设置四个 RDP 短路径选项中的哪一个,并且与会话主机配置一起使用。

如果主机池与会话主机配置之间存在冲突,则使用最严格的设置。 例如,如果配置了用于管理网络的 RDP 短路径,其中在会话主机上启用了侦听器,并且主机池设置为禁用,则托管网络的 RDP 短路径将不起作用。

选择方案的相关选项卡。

下面介绍如何使用 Azure 门户在主机池网络设置中配置 RDP 短路径:

  1. 登录 Azure 门户

  2. 在搜索栏中,键入 Azure 虚拟桌面 并选择匹配的服务条目。

  3. 选择“ 主机池”,然后选择要配置的主机池。

  4. “设置”下,选择“ 网络”,然后选择“ RDP 短路径”。

    显示主机池网络属性的“RDP 短路径”选项卡的屏幕截图。

  5. 对于每个选项,请根据要求从每个下拉列表中选择一个值。 默认值 对应于每个选项的 “已启用 ”。

  6. 选择“保存”

检查是否在 Windows 客户端设备上启用了 UDP

对于 Windows 客户端设备,默认启用 UDP。 若要在 Windows 注册表中检查以验证是否启用了 UDP,请执行以下作:

  1. 在 Windows 客户端设备上打开 PowerShell 提示符。

  2. 运行以下命令,这些命令检查注册表并输出当前设置:

    $regKey = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client"
    
    If ($regKey.PSObject.Properties.name -contains "fClientDisableUDP" -eq "True") {
        If (($regkey | Select-Object -ExpandProperty "fClientDisableUDP") -eq 1) {
            Write-Output "The default setting has changed. UDP is disabled."
        } elseif (($regkey | Select-Object -ExpandProperty "fClientDisableUDP") -eq 0) {
            Write-Output "The default setting has changed, but UDP is enabled."
        }
    } else {
        Write-Output "The default setting hasn't been changed from its default value. UDP is enabled."
    }
    

    输出应类似于以下示例:

    The default setting hasn't been changed from its default value. UDP is enabled.
    

    如果输出指出 UDP 已禁用,则可能是 active Directory 域中Microsoft Intune或组策略更改了该值。 需要通过以下方式之一启用 UDP:

    1. 编辑面向会话主机的现有Microsoft Intune策略或 Active Directory 组策略。 策略设置位于以下位置之一:

      • 对于Intune策略:管理模板>Windows 组件>远程桌面服务>远程桌面连接客户端>关闭客户端上的 UDP

      • 对于组策略:计算机配置>策略>管理模板>Windows 组件>远程桌面服务>远程桌面连接客户端>关闭客户端上的 UDP

    2. 将设置设置为 “未配置”,或将其设置为 “已禁用”。

    3. 更新客户端设备上的策略,然后重启这些策略,使设置生效。

检查客户端设备 STUN/TURN 服务器连接和 NAT 类型

可以验证客户端设备是否可以连接到 STUN/TURN 终结点、NAT 是否正在使用及其类型,并通过运行可执行 avdnettest.exe来验证基本 UDP 功能是否正常工作。 下面是指向 最新版本 avdnettest.exe的下载链接

可以通过双击文件或从命令行运行它来运行 avdnettest.exe 。 如果连接成功,输出将类似于以下输出:

Checking DNS service ... OK
Checking TURN support ... OK
Checking ACS server 20.202.68.109:3478 ... OK
Checking ACS server 20.202.21.66:3478 ... OK

You have access to TURN servers and your NAT type appears to be 'cone shaped'.
Shortpath for public networks is very likely to work on this host.

如果环境使用对称 NAT,则可以将中继连接与 TURN 配合使用。 有关可用于配置防火墙和网络安全组的详细信息,请参阅 RDP 短路径的网络配置

可选:启用 Teredo 支持

虽然 RDP 短路径不需要,但 Teredo 会添加额外的 NAT 遍历候选项,并增加了在仅限 IPv4 的网络中成功建立 RDP 短路径连接的机会。 可以使用 PowerShell 在会话主机和客户端上启用 Teredo:

  1. 以管理员身份打开 PowerShell 提示符。

  2. 运行以下命令:

    Set-NetTeredoConfiguration -Type Enterpriseclient
    
  3. 重启会话主机和客户端设备,使设置生效。

限制与 STUN 和 TURN 一起使用的端口范围

默认情况下,使用 STUN 或 TURN 的 RDP 短路径选项使用 从 49152 到 65535 的临时端口范围在服务器和客户端之间建立直接路径。 但是,你可能希望将会话主机配置为使用更小的可预测端口范围。

可以将较小的默认端口范围 38300 设置为 39299,也可以指定要使用的自己的端口范围。 在会话主机上启用后,Windows App或远程桌面应用会从为每个连接指定的范围中随机选择端口。 如果此范围已用尽,则连接回退到使用默认端口范围 (49152-65535) 。

选择基本大小和池大小时,请考虑所需的端口数。 范围必须介于 1024 和 49151 之间,在此之后,临时端口范围开始。

可以使用 Active Directory 域中Microsoft Intune或组策略来限制端口范围。 选择方案的相关选项卡。

若要使用 Microsoft Intune限制 STUN 和 TURN 使用的端口范围:

  1. 登录到 Microsoft Intune 管理中心

  2. 使用“设置”目录配置文件类型为Windows 10及更高版本的设备创建或编辑配置文件。

  3. 在设置选取器中,浏览到 管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>Azure 虚拟桌面

    显示Microsoft Intune门户中的 Azure 虚拟桌面管理模板选项的屏幕截图。

  4. 选中“ 为非托管网络使用 RDP 短路径的端口范围”框,然后关闭设置选取器。

  5. 展开 “管理模板” 类别,然后将“ 为非托管网络使用 RDP 短路径的端口范围 ”开关切换为 “已启用”。

  6. 输入 端口池大小 (设备) UDP 基本端口 (设备) 的值。 默认值分别为 100038300

  7. 选择 下一步

  8. 可选:在“ 作用域标记 ”选项卡上,选择范围标记以筛选配置文件。 有关范围标记的详细信息,请参阅对分布式 IT 使用基于角色的访问控制 (RBAC) 和范围标记

  9. 在“ 分配 ”选项卡上,选择包含提供要配置的远程会话的计算机的组,然后选择“ 下一步”。

  10. 在“ 查看 + 创建 ”选项卡上,查看设置,然后选择“ 创建”。

  11. 策略应用于提供远程会话的计算机后,重启这些计算机,使设置生效。

验证 RDP 短路径是否正常工作

配置 RDP 短路径后,从客户端设备连接到远程会话,检查连接使用 UDP。 可以通过 Windows App 或远程桌面应用中的“连接信息”对话框、事件查看器客户端设备上的日志或使用 Azure 门户 中的 Log Analytics 来验证传输是否正在使用。

选择方案的相关选项卡。

若要确保连接使用 RDP 短路径,可以在客户端上检查连接信息:

  1. 连接到远程会话。

  2. 转到屏幕顶部的“连接”工具栏,然后选择信号强度图标,打开“连接信息”对话框,如以下屏幕截图所示:

    远程桌面客户端的远程桌面连接栏的屏幕截图。

  3. 可以在输出中验证是否已启用 UDP,如以下屏幕截图所示:

    • 如果使用与托管网络的 RDP 短路径的直接连接,则传输协议具有 UDP (专用网络) 值:

      对托管网络使用 RDP 短路径时远程桌面连接信息对话框的屏幕截图。

    • 如果使用 STUN,则传输协议具有值 UDP

      使用 STUN 时的“远程桌面连接信息”对话框的屏幕截图。

    • 如果使用 TURN,则传输协议具有 UDP (中继) 的值:

      使用 TURN 时的“远程桌面连接信息”对话框的屏幕截图。

如果在为公用网络使用 RDP 短路径传输建立连接时遇到问题,请参阅 RDP 短路径故障排除