Citrix DaaS™

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 funcione para los usuarios externos. Sin embargo, hay ciertos escenarios en los que los tipos de NAT de las redes del usuario y del host de sesión dan lugar a una combinación incompatible, lo que provoca que HDX Direct falle.

Validaciones

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

  1. Descarga el paquete adecuado para la plataforma de destino desde stunprotocol.org y extrae el contenido.
  2. Abre un símbolo del sistema o terminal y navega hasta el directorio donde se extrajo el contenido.
  3. Ejecuta el siguiente comando: .\stunclient.exe stunserver.stunprotocol.org ---mode behavior
  4. Toma nota de la salida.

    Si las pruebas de enlace (binding) y comportamiento son correctas, tanto la prueba de enlace como la prueba de comportamiento informan del éxito y se especifica un comportamiento de NAT:

    Éxito de NAT

    Si las pruebas fallan, tanto la prueba de enlace como la prueba de comportamiento informan del fallo.

    Fallo de NAT

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

Consulta la siguiente tabla para determinar si se espera que HDX Direct funcione para usuarios externos 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? | |—-|—|—|—|—| | Asignación independiente del punto final | Cualquiera | Asignación independiente del punto final | Cualquiera | Sí | | Asignación independiente del punto final | Filtrado independiente del punto final | Asignación dependiente de la dirección | Cualquiera | Sí | | Asignación independiente del punto final | Filtrado dependiente de la dirección | Asignación dependiente de la dirección | Cualquiera | No | | Asignación independiente del punto final | Filtrado dependiente de la dirección y el puerto | Asignación dependiente de la dirección | Cualquiera | No | | Asignación independiente del punto final | Filtrado independiente del punto final | Asignación dependiente de la dirección y el puerto | Filtrado independiente del punto final | Sí | | Asignación independiente del punto final | Filtrado dependiente de la dirección | Asignación dependiente de la dirección | Cualquiera | No | | Asignación independiente del punto final | Filtrado dependiente de la dirección y el puerto | Asignación dependiente de la dirección | Cualquiera | No | | Asignación dependiente de la dirección | Cualquiera | Asignación independiente del punto final | Filtrado independiente del punto final | Sí | | Asignación dependiente de la dirección | Cualquiera | Asignación independiente del punto final | Filtrado dependiente de la dirección | No | | Asignación dependiente de la dirección | Cualquiera | Asignación independiente del punto final | Filtrado dependiente de la dirección y el puerto | No | | Asignación dependiente de la dirección | Cualquiera | Asignación dependiente de la dirección | Cualquiera | No | | Asignación dependiente de la dirección | Cualquiera | Asignación dependiente de la dirección y el puerto | Cualquiera | No | | Asignación dependiente de la dirección y el puerto | Cualquiera | Asignación independiente del punto final | Filtrado independiente del punto final | Sí | | Asignación dependiente de la dirección y el puerto | Cualquiera | Asignación independiente del punto final | Filtrado dependiente de la dirección | No | | Asignación dependiente de la dirección y el puerto | Cualquiera | Asignación independiente del punto final | Filtrado dependiente de la dirección y el puerto | No | | Asignación dependiente de la dirección y el puerto | Cualquiera | Asignación dependiente de la dirección | Cualquiera | No | | Asignación dependiente de la dirección y el puerto | Cualquiera | Asignación dependiente de la dirección y el puerto | Cualquiera | No | | Fallo | Cualquiera | Cualquiera | Cualquiera | No | | Cualquiera | Cualquiera | Fallo | Cualquiera | No | | Fallo | Cualquiera | Fallo | Cualquiera | No |

Compatibilidad con NAT

En este artículo