Citrix DaaS

HDX Direct

访问 Citrix 提供的资源时,如果可以直接通信,HDX Direct 允许内部和外部客户端设备与会话主机建立安全的直接连接。

-priority

适用于外部用户的 HDX Direct 目前处于预览状态。 此功能不提供任何支持,尚不建议在生产环境中使用。 要提交反馈或报告问题,请使用此表单

系统要求

以下是使用 HDX Direct 的系统要求:

  • 控制平面

    • Citrix DaaS
    • Citrix Virtual Apps and Desktops 2411 或更高版本
  • Virtual Delivery Agent (VDA)

    • Windows:版本 2411 或更高版本
  • Workspace 应用程序

    • Windows:版本 2409 或更高版本
    • Linux:版本 2411 或更高版本
    • Mac:版本 2411 或更高版本
  • 访问层

    • 使用 Citrix Gateway 服务的 Citrix Workspace
    • 带有 NetScaler Gateway 的 Citrix Workspace
  • 其他

    • 必须为外部直接连接启用 Adaptive Transport

网络要求

以下是使用 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 互联网 (见下面的注释) 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 处于禁用状态。 您可以使用 HDX 直接 设置。

  • HDX 直接:启用或禁用功能。
  • HDX Direct 模式:确定 HDX 直接 仅适用于内部客户端,或者同时适用于内部和外部客户端。
  • HDX Direct 端口范围:定义 VDA 用于来自外部客户端的连接的端口范围。

注意事项

以下是使用 HDX Direct 的注意事项:

  • 适用于外部用户的 HDX Direct 仅适用于 EDT (UDP) 作为传输协议。 因此 自适应传输 必须启用。
  • 如果您正在使用 HDX 智能扫描,请注意,使用 HDX 直接 阻止 HDX Insight 数据收集,因为会话将不再通过 NetScaler Gateway 进行代理。
  • 将非持久性计算机用于虚拟应用程序和桌面时,Citrix 建议启用 HDX 直接 在会话主机上,而不是在主/模板映像中,以便每台计算机生成自己的证书。
  • 目前不支持将您自己的证书用于 HDX Direct。

运作方式

HDX Direct 允许客户端在直接通信可用时建立与会话主机的直接连接。 使用 HDX Direct 建立直接连接时,自签名证书用于通过网络级别加密 (TLS/DTLS) 保护直接连接。

内部用户

下图描述了内部用户的 HDX Direct 连接过程的概述。

HDX Direct 概述

  1. 客户端通过网关服务建立 HDX 会话。
  2. 成功连接后,VDA 将通过 HDX 连接向客户端发送 VDA 计算机的 FQDN、其 IP 地址列表以及 VDA 计算机的证书。
  3. 客户端会探测 IP 地址,以查看它是否可以直接访问 VDA。
  4. 如果客户端可以使用任何共享的 IP 地址直接访问 VDA,则客户端将与 VDA 建立直接连接,并使用与步骤 (2) 中交换的证书匹配的证书通过 (D)TLS 进行保护。
  5. 成功建立直接连接后,会话将转移到新连接,并终止与网关服务的连接。

注意:

在上面的步骤 2 中建立连接后,会话处于活动状态。 后续步骤不会延迟或干扰用户使用虚拟应用程序或桌面的能力。 如果任何后续步骤失败,将保持通过 Gateway 的连接,而不会中断用户的会话。

外部用户

下图描述了外部用户的 HDX Direct 连接过程概述:

HDX Direct 连接过程

  1. 客户端通过网关服务建立 HDX 会话。
  2. 成功连接后,客户端和 VDA 都会发送 STUN 请求以发现其公有 IP 地址和端口。
  3. STUN 服务器使用相应的公有 IP 地址和端口响应客户端和 VDA。
  4. 通过 HDX 连接,客户端和 VDA 交换其公有 IP 地址和 UDP 端口,VDA 将其证书发送到客户端。
  5. VDA 将 UDP 数据包发送到客户端的公有 IP 地址和 UDP 端口。 客户端将 UDP 数据包发送到 VDA 的公有 IP 地址和 UDP 端口。
  6. 收到来自 VDA 的消息后,客户端会以安全连接请求进行响应。
  7. 在 DTLS 握手期间,客户端验证证书是否与步骤 (4) 中交换的证书匹配。 验证后,客户端发送其授权令牌。 现在已经建立了一个安全的直接连接。
  8. 成功建立直接连接后,会话将转移到新连接,并终止与网关服务的连接。

注意:

在上面的步骤 2 中建立连接后,会话处于活动状态。 后续步骤不会延迟或干扰用户使用虚拟应用程序或桌面的能力。 如果任何后续步骤失败,将保持通过 Gateway 的连接,而不会中断用户的会话。

证书管理

会话主机

VDA 计算机上的以下两项服务处理证书创建和管理,这两项服务都设置为在计算机启动时自动运行:

  • Citrix ClxMtp 服务:负责 CA 证书密钥的生成和轮换。
  • Citrix Certificate Manager 服务:负责生成和管理自签名根 CA 证书和计算机证书。

以下步骤描述了证书管理过程:

  1. 这些服务从计算机启动时启动。
  2. Citrix ClxMtp 服务 如果尚未创建键,则创建 key。
  3. Citrix Certificate Manager 服务检查是否 HDX 直接 已启用。 否则,服务将自行停止。
  4. 如果 HDX 直接 启用后,Citrix Certificate Manager Service 将检查是否存在自签名根 CA 证书。 否则,将创建自签名根证书。
  5. 根 CA 证书可用后,Citrix Certificate Manager Service 将检查是否存在自签名计算机证书。 如果没有,该服务将生成密钥并使用机器的 FQDN 创建一个新证书。
  6. 如果 Citrix 证书管理器服务已创建现有机器证书,且主题名称与机器的 FQDN 不匹配,则会生成新证书。

注意:

Citrix 证书管理器服务生成利用 2048 位密钥的 RSA 证书。

客户端设备

要成功建立安全的 HDX Direct 连接,客户端必须信任用于保护会话的证书。 为了实现这一点,客户端通过 ICA 文件(由 Workspace 提供)接收会话的 CA 证书,因此无需将 CA 证书分发到客户端设备的证书存储。

HDX Direct