Agente de entrega virtual de Linux 2507 LTSR

HDX™ Direct para Linux

Al acceder a los recursos entregados por Citrix, HDX Direct permite que los dispositivos cliente internos y externos establezcan una conexión directa segura con el host de sesión si la comunicación directa es posible.

  • Requisitos del sistema

    • Los siguientes son los requisitos del sistema para usar HDX Direct:

    • Plano de control

    • Citrix DaaS™
    • Citrix Virtual Apps and Desktops™ 2503 o posterior
  • Virtual Delivery Agent (VDA)

    • Linux: Versión 2503 o posterior

    • Aplicación Workspace

    • Windows: versión 2503 o posterior
    • Linux: versión 2411 o posterior
    • Mac: versión 2411 o posterior

    • Nivel de acceso

    • Citrix Workspace™
    • Citrix StoreFront™ 2503 o posterior
    • Citrix Gateway Service
    • Citrix NetScaler® Gateway

Requisitos de red

Los siguientes son los requisitos de red para usar HDX Direct.

Hosts de sesión

Si tus hosts de sesión tienen un firewall, debes permitir el siguiente tráfico de entrada para las conexiones internas.

Descripción Origen Protocolo Puerto
Conexión directa interna Cliente TCP 443
Conexión directa interna Cliente UDP 443

Red del cliente

La siguiente tabla describe la red del cliente para usuarios internos y externos.

Usuarios internos

Descripción Protocolo Origen Puerto de origen Destino Puerto de destino
Conexión directa interna TCP Red del cliente 1024–65535 Red VDA 443
Conexión directa interna UDP Red del cliente 1024–65535 Red VDA 443

Usuarios externos

Descripción Protocolo Origen Puerto de origen Destino Puerto de destino
STUN (solo usuarios externos) UDP Red del cliente 1024–65535 Internet (consulta la nota a continuación) 3478, 19302
Conexión de usuario externo UDP Red del cliente 1024–65535 Dirección IP pública del centro de datos 1024–65535

Red del centro de datos

  • La siguiente tabla describe la red del centro de datos para usuarios internos y externos.

Usuarios internos

  • Descripción Protocolo Origen Puerto de origen Destino Puerto de destino
  • | — | — | — | — | – | – |
  • Conexión directa interna TCP Red del cliente 1024–65535 Red VDA 443
    Conexión directa interna UDP Red del cliente 1024–65535 Red VDA 443

Usuarios externos

Descripción Protocolo Origen Puerto de origen Destino Puerto de destino
STUN (solo usuarios externos) UDP Red VDA 1024–65535 Internet (consulta la nota a continuación) 3478, 19302
Conexión de usuario externo UDP DMZ / Red interna 1024–65535 Red VDA 55000–55250
Conexión de usuario externo UDP Red VDA 55000–55250 IP pública del cliente 1024–65535

Nota:

Tanto el VDA como la aplicación Workspace intentan enviar solicitudes STUN a los siguientes servidores en el mismo orden:

  • stun.cloud.com:3478
  • stun.cloudflare.com:3478
  • stun.l.google.com:19302

Si cambias el rango de puertos predeterminado para las conexiones de usuarios externos mediante la configuración de la directiva Rango de puertos de HDX Direct, las reglas de firewall correspondientes deben coincidir con tu rango de puertos personalizado.

Configuración

HDX Direct está deshabilitado de forma predeterminada. Puedes configurar esta función usando la configuración de HDX Direct en la directiva de Citrix.

  • HDX Direct: Para habilitar o deshabilitar una función.
  • Modo HDX Direct: Determina si HDX Direct está disponible solo para clientes internos o para clientes internos y externos.
  • Rango de puertos HDX Direct: Define el rango de puertos que el VDA usa para las conexiones de clientes externos.

Consideraciones

Las siguientes son consideraciones para usar HDX Direct:

  • HDX Direct para usuarios externos solo está disponible con EDT (UDP) como protocolo de transporte. Por lo tanto, el Transporte adaptativo debe estar habilitado.
  • Si usas HDX Insight, ten en cuenta que el uso de HDX Direct impide la recopilación de datos de HDX Insight, ya que la sesión ya no se enviaría a través de NetScaler Gateway.
  • Actualmente no se admite el uso de tus propios certificados con HDX Direct.

Cómo funciona

HDX Direct permite a los clientes establecer una conexión directa con el host de sesión cuando la comunicación directa está disponible. Cuando se realizan conexiones directas usando HDX Direct, se usan certificados autofirmados para proteger la conexión directa con cifrado a nivel de red (TLS/DTLS).

Usuarios internos

El siguiente diagrama muestra la información general del proceso de conexión de HDX Direct para usuarios internos.

Información general de HDX Direct

  1. El cliente establece una sesión HDX a través del Servicio Gateway.
  2. Tras una conexión exitosa, el VDA envía al cliente el FQDN de la máquina VDA, una lista de sus direcciones IP y el certificado de la máquina VDA a través de la conexión HDX.
  3. El cliente sondea las direcciones IP para ver si puede llegar al VDA directamente.
  4. Si el cliente puede llegar al VDA directamente con cualquiera de las direcciones IP compartidas, el cliente establece una conexión directa con el VDA, protegida con (D)TLS usando un certificado que coincide con el intercambiado en el paso (2).
  5. Una vez que la conexión directa se establece correctamente, la sesión se transfiere a la nueva conexión y la conexión al Servicio Gateway finaliza.

Nota:

Después de establecer la conexión en el paso 2 anterior, la sesión está activa. Los pasos posteriores no retrasan ni interfieren con la capacidad del usuario para usar la aplicación o el escritorio virtual. Si alguno de los pasos posteriores falla, la conexión a través del Gateway se mantiene sin interrumpir la sesión del usuario.

Usuarios externos

El siguiente diagrama muestra la información general del proceso de conexión de HDX Direct para usuarios externos:

Proceso de conexión de HDX Direct

  1. El cliente establece una sesión HDX a través del Servicio Gateway.
  2. Tras una conexión exitosa, tanto el cliente como el VDA envían una solicitud STUN para descubrir sus direcciones IP y puertos públicos.
  3. El servidor STUN responde al cliente y al VDA con sus correspondientes direcciones IP y puertos públicos.
  4. A través de la conexión HDX, el cliente y el VDA intercambian sus direcciones IP y puertos UDP públicos, y el VDA envía su certificado al cliente.
  5. El VDA envía paquetes UDP a la dirección IP pública y al puerto UDP del cliente. El cliente envía paquetes UDP a la dirección IP pública y al puerto UDP del VDA.
  6. Al recibir un mensaje del VDA, el cliente responde con una solicitud de conexión segura.
  7. Durante el protocolo de enlace DTLS, el cliente verifica que el certificado coincide con el certificado intercambiado en el paso 4. Después de la validación, el cliente envía su token de autorización. Ahora se establece una conexión directa segura.
  8. Una vez que la conexión directa se establece correctamente, la sesión se transfiere a la nueva conexión y la conexión al Servicio Gateway finaliza.

Nota:

Después de establecer la conexión en el paso 2 anterior, la sesión está activa. Los pasos posteriores no retrasan ni interfieren con la capacidad del usuario para usar la aplicación o el escritorio virtual. Si alguno de los pasos posteriores falla, la conexión a través del Gateway se mantiene sin interrumpir la sesión del usuario.

Compatibilidad con NAT

Para establecer una conexión directa entre un dispositivo de usuario externo y el host de sesión, HDX Direct aprovecha el hole punching para el recorrido de NAT y STUN para facilitar el intercambio de la dirección IP pública y las asignaciones de puertos para el dispositivo cliente y el host de sesión. Esto es similar a cómo funcionan las soluciones de VoIP, comunicaciones unificadas y P2P.

Siempre que los firewalls y otros componentes de red estén configurados para permitir el tráfico UDP para las solicitudes STUN y las sesiones HDX, se espera que HDX Direct para usuarios externos funcione. Sin embargo, hay ciertos escenarios en los que los tipos de NAT de las redes del usuario y del host de sesión conducen a una combinación incompatible, lo que provoca que HDX Direct falle.

Validaciones

Puedes validar el tipo y el filtrado de NAT en el cliente y el host de sesión usando la utilidad de cliente STUN de STUNTMAN:

  1. Descarga el paquete apropiado para la plataforma de destino desde stunprotocol.org y extrae el contenido.
  2. Abre una terminal y navega al directorio donde se extrajo el contenido.
  3. Ejecuta el siguiente comando: ./stunclient stunserver2024.stunprotocol.org --mode behavior
  4. Toma nota de la salida.

    Si las pruebas de enlace y comportamiento son exitosas, tanto la prueba de enlace como la prueba de comportamiento informan el éxito y se especifica un comportamiento NAT:

    Éxito de NAT

    Si las pruebas fallan, la prueba de enlace y/o la prueba de comportamiento informan el fallo.

    Fallo de NAT

  5. Ejecuta el siguiente comando: ./stunclient stunserver2024.stunprotocol.org --mode filtering
  6. Toma nota de la salida.

    Filtrado de NAT

Consulta la siguiente tabla para determinar si se espera que HDX Direct para usuarios externos funcione según los resultados de las pruebas tanto del cliente como del host de sesión:

Comportamiento NAT del cliente Filtrado NAT del cliente Comportamiento NAT del host de sesión Filtrado NAT del host de sesión ¿Se espera que funcione?
Mapeo Independiente de Punto Final Cualquiera Mapeo Independiente de Punto Final Cualquiera
Mapeo Independiente de Punto Final Filtrado Independiente de Punto Final Mapeo Dependiente de Dirección Cualquiera
Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección Mapeo Dependiente de Dirección Cualquiera No
Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección y Puerto Mapeo Dependiente de Dirección Cualquiera No
Mapeo Independiente de Punto Final Filtrado Independiente de Punto Final Mapeo Dependiente de Dirección y Puerto Filtrado Independiente de Punto Final
Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección Mapeo Dependiente de Dirección Cualquiera No
Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección y Puerto Mapeo Dependiente de Dirección Cualquiera No
Mapeo Dependiente de Dirección Cualquiera Mapeo Independiente de Punto Final Filtrado Independiente de Punto Final
Mapeo Dependiente de Dirección Cualquiera Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección No
Mapeo Dependiente de Dirección Cualquiera Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección y Puerto No
Mapeo Dependiente de Dirección Cualquiera Mapeo Dependiente de Dirección Cualquiera No
Mapeo Dependiente de Dirección Cualquiera Mapeo Dependiente de Dirección y Puerto Cualquiera No
Mapeo Dependiente de Dirección y Puerto Cualquiera Mapeo Independiente de Punto Final Filtrado Independiente de Punto Final
Mapeo Dependiente de Dirección y Puerto Cualquiera Mapeo Independiente de Punto Final Filtrado Dependiente de Dirección No
Mapeo dependiente de dirección y puerto Cualquiera Mapeo independiente de punto final Filtrado dependiente de dirección y puerto No
Mapeo dependiente de dirección y puerto Cualquiera Mapeo dependiente de dirección Cualquiera No
Mapeo dependiente de dirección y puerto Cualquiera Mapeo dependiente de dirección y puerto Cualquiera No
Fallo Cualquiera Cualquiera Cualquiera No
Cualquiera Cualquiera Fallo Cualquiera No
Fallo Cualquiera Fallo Cualquiera No
HDX™ Direct para Linux