HDX™ 直连
访问 Citrix 提供的资源时,如果直接通信可行,HDX Direct 允许内部和外部客户端设备与会话主机建立安全的直接连接。
重要提示:
适用于外部用户的 HDX Direct 目前处于预览阶段。此功能不提供支持,并且尚不建议在生产环境中使用。要提交反馈或报告问题,请使用此表单。
系统必备条件
以下是使用 HDX Direct 的系统要求:
-
控制平面
- 思杰桌面即服务™
- Citrix 虚拟应用和桌面™ 2411 或更高版本
-
虚拟投递代理 (VDA)
- Windows:版本 2411 或更高版本
-
工作区应用程序
- Windows:版本 2409 或更高版本
- Linux:版本 2411 或更高版本
- Mac:版本 2411 或更高版本
-
访问层
- 思杰工作区™ 通过 思杰网关服务
- 思杰工作区 通过 NetScaler® 网关
-
其他
- 对于外部直接连接,必须启用自适应传输
网络连接要求
以下是使用 HDX Direct 的网络要求。
会话主机
如果您的会话主机具有防火墙(例如 Windows Defender 防火墙),则必须允许以下入站流量用于内部连接。
| 详细描述 | 源 | 协议 | 端口 |
|---|---|---|---|
| 内部网络的直接连接 | 客户端 | TCP | 443 |
| 直接的内部连接 | 客户端 | UDP | 443 |
注意:
VDA 安装程序会将相应的入站规则添加到 Windows Defender 防火墙。如果您使用其他防火墙,则必须添加上述规则。
客户端网络
下表详细描述了内部和外部用户的客户端网络。
内部用户
| 描述信息 | 协议 | 源 | 源端口 | 目的地 | 目标端口 |
|---|---|---|---|---|---|
| 直接的内部连接 | TCP | 客户端网络 | 1024–65535 | VDA 网络 | 443 |
| 直接的内部连接 | UDP | 客户端网络 | 1024–65535 | VDA 网络 | 443 |
外部用户
| 详细说明 | 协议 | 源 | 源端口 | 目的地 | 目标端口 |
|---|---|---|---|---|---|
| STUN(仅限外部用户) | UDP | 客户端网络 | 1024–65535 | Internet(请参阅下面的注释) | 3478, 19302 |
| 外部用户连接 | UDP | 客户端网络 | 1024–65535 | 数据中心的公共 IP 地址 | 1024–65535 |
数据中心网络
下表详细说明了内部和外部用户的数据中心网络。
内部用户
| 详细描述 | 协议 | 源 | 源端口 | 目的地 | 目标端口 |
|---|---|---|---|---|---|
| 直接的内部连接方式 | TCP | 客户端网络 | 1024–65535 | VDA 网络 | 443 |
| 直接的内部连接 | UDP | 客户端网络 | 1024–65535 | VDA 网络 | 443 |
外部用户
| 描述信息 | 协议 | 源 | 源端口 | 目的地 | 目标端口 |
|---|---|---|---|---|---|
| STUN(仅限外部用户) | UDP | VDA 网络 | 1024–65535 | 互联网(参见下文注释) | 3478, 19302 |
| 外部用户连接 | UDP | DMZ / 内部网络 | 1024–65535 | VDA 网络 | 55000–55250 |
| 外部用户连接 | UDP | VDA 网络 | 55000–55250 | 客户端的公共 IP | 1024–65535 |
注意:
VDA 和 Workspace 应用程序都尝试按以下相同顺序向以下服务器发送 STUN 请求:
- stun.cloud.com:3478
- stun.cloudflare.com:3478
- stun.l.google.com:19302
如果您使用 HDX Direct 端口范围策略设置更改外部用户连接的默认端口范围,则相应的防火墙规则必须与您的自定义端口范围匹配。
配置说明
HDX Direct 默认处于禁用状态。您可以使用 Citrix 策略中的 HDX Direct 设置配置此功能。
- HDX Direct:用于启用或禁用功能。
- HDX Direct 模式:确定 HDX Direct 仅适用于内部客户端,还是同时适用于内部和外部客户端。
- HDX Direct 端口范围:定义 VDA 用于来自外部客户端连接的端口范围。
注意事项
以下是使用 HDX Direct 的注意事项:
- 外部用户使用 HDX Direct 仅在传输协议为 EDT (UDP) 时可用。因此,必须启用 自适应传输。
- 如果您正在使用 HDX Insight,请注意,使用 HDX Direct 会阻止 HDX Insight 数据收集,因为会话将不再通过 NetScaler Gateway 进行代理。
- 当您为虚拟应用和桌面使用非持久性计算机时,Citrix 建议在会话主机上而不是在主/模板映像中启用 HDX Direct,以便每台计算机生成自己的证书。
- 目前不支持将您自己的证书与 HDX Direct 配合使用。
工作原理
当直接通信可用时,HDX Direct 允许客户端与会话主机建立直接连接。当使用 HDX Direct 建立直接连接时,将使用自签名证书通过网络级加密 (TLS/DTLS) 来保护直接连接。
内部用户
下图描绘了内部用户的 HDX Direct 连接过程概述。

- 客户端通过网关服务建立 HDX 会话。
- 成功连接后,VDA 通过 HDX 连接向客户端发送 VDA 计算机的 FQDN、其 IP 地址列表以及 VDA 计算机的证书。
- 客户端探测 IP 地址,以查看是否可以直接访问 VDA。
- 如果客户端可以使用共享的任何 IP 地址直接访问 VDA,则客户端将与 VDA 建立直接连接,并使用与步骤 (2) 中交换的证书匹配的证书通过 (D)TLS 进行保护。
- 一旦直接连接已经成功建立,该会话就会被转移到新的连接上,并且与网关服务的连接将被终止。
注意:
在上述步骤 2 中建立连接后,会话处于活动状态。后续步骤不会延迟或干扰用户使用虚拟应用程序或桌面的能力。如果后续任何步骤失败,通过网关的连接将保持不变,而不会中断用户会话。
外部用户
下图描绘了外部用户的 HDX Direct 连接过程概述:
HDX 直连连接过程图(/zh-cn/citrix-virtual-apps-desktops/2411/media/hdx-direct-connection-process.png)
- 客户端通过网关服务建立 HDX 会话。
- 连接成功后,客户端和 VDA 都会发送 STUN 请求以发现其公共 IP 地址和端口。
- STUN 服务器向客户端和 VDA 响应其相应的公共 IP 地址和端口。
- 通过 HDX 连接,客户端和 VDA 交换其公共 IP 地址和 UDP 端口,并且 VDA 将其证书发送给客户端。
- VDA 将 UDP 数据包发送到客户端的公共 IP 地址和 UDP 端口。客户端将 UDP 数据包发送到 VDA 的公共 IP 地址和 UDP 端口。
- 收到来自 VDA 的消息后,客户端会响应一个安全连接请求。
- 在 DTLS 握手期间,客户端会验证证书是否与步骤 (4) 中交换的证书匹配。验证后,客户端会发送其授权令牌。此时已建立安全的直接连接。
- 一旦直接连接成功建立后,会话便会转移到新的连接上,并且与网关服务的连接也会随之终止。
注意:
在完成上述第 2 步中的连接建立后,会话处于活动状态。后续步骤不会延迟或干扰用户使用虚拟应用程序或桌面的能力。如果后续任何步骤失败,通过网关的连接将保持不变,而不会中断用户会话。
证书管理工作
会话主机
VDA 计算机上的以下两项服务负责证书的创建和管理,这两项服务都设置为在计算机启动时自动运行:
- Citrix ClxMtp 服务:负责 CA 证书密钥的生成和轮换。
- Citrix Certificate Manager 服务:负责生成和管理自签名根 CA 证书以及计算机证书。
以下步骤详细阐述了证书管理过程:
- 服务在计算机启动时启动。
-
Citrix ClxMtp Service如果尚未创建任何密钥,则创建密钥。 - Citrix 证书管理器服务检查是否启用了 HDX Direct。如果未启用,该服务将自行停止。
- 如果启用了 HDX Direct,Citrix Certificate Manager Service 会检查是否存在自签名根 CA 证书。如果不存在,则会创建一个自签名根证书。
- 一旦根 CA 证书可用,Citrix Certificate Manager Service 会检查是否存在自签名计算机证书。如果不存在,服务将生成密钥并使用计算机的 FQDN 创建新证书。
- 如果存在由 Citrix Certificate Manager Service 创建的现有计算机证书,并且主题名称与计算机的 FQDN 不匹配,则会生成一个新证书。
注意:
Citrix 证书管理器服务 生成利用 2048 位密钥的 RSA 证书。
客户端设备
要成功建立安全的 HDX Direct 连接,客户端必须信任用于保护会话的证书。为此,客户端通过 ICA® 文件(由 Workspace 提供)接收会话的 CA 证书,因此无需将 CA 证书分发到客户端设备的证书存储中。