Linux Virtual Delivery Agent

HDX Direct pour Linux

Lors de l’accès aux ressources fournies par Citrix, HDX Direct permet aux périphériques clients internes et externes d’établir une connexion directe sécurisée avec l’hôte de la session si une communication directe est possible.

Configuration système requise

Configuration système requise pour utiliser HDX Direct :

  • Plan de contrôle

    • Citrix DaaS
    • Citrix Virtual Apps and Desktops 2503 ou version ultérieure
  • Virtual Delivery Agent (VDA)

    • Linux : version 2503 ou ultérieure
  • Application Workspace

    • Windows : version 2503 ou ultérieure
    • Linux : version 2411 ou ultérieure
    • Mac : version 2411 ou ultérieure
  • Niveau d’accès

    • Citrix Workspace
    • Citrix StoreFront 2503 ou version ultérieure
    • Citrix Gateway Service
    • Citrix NetScaler Gateway

Configuration réseau requise

La configuration réseau requise pour utiliser HDX Direct est la suivante :

Hôtes de sessions

Si vos hôtes de session disposent d’un pare-feu, vous devez autoriser le trafic entrant suivant pour les connexions internes. | Description | Source | Protocol | Port | | — | — | — | — | | Direct internal connection | Client | TCP | 443 | | Direct internal connection | Client | UDP | 443 |

Réseau client

Le tableau suivant décrit le réseau client pour les utilisateurs internes et externes.

Utilisateurs internes

Description Protocol Source Source port Destination Destination port     Direct internal connection TCP Client network 1024–65535 VDA network 443   Direct internal connection UDP Client network 1024–65535 VDA network 443

Utilisateurs externes

Description Protocol Source Source port Destination Destination port     STUN (external users only) UDP Client network 1024–65535 Internet (see note below) 3478, 19302   External user connection UDP Client network 1024–65535 Data center’s public IP address 1024–65535

Réseau de centres de données

Le tableau suivant décrit le réseau du centre de données pour les utilisateurs internes et externes.

Utilisateurs internes

Description Protocol Source Source port Destination Destination port     Direct internal connection TCP Client network 1024–65535 VDA network 443   Direct internal connection UDP Client network 1024–65535 VDA network 443

Utilisateurs externes

Description Protocol Source Source port Destination Destination port     STUN (external users only) UDP VDA network 1024–65535 Internet (see note below) 3478, 19302   External user connection UDP DMZ / Internal network 1024–65535 VDA network 55000–55250   External user connection UDP VDA network 55000–55250 Client’s public IP 1024–65535

Remarque

Le VDA et l’application Workspace tentent d’envoyer des requêtes STUN aux serveurs suivants dans le même ordre :

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

Si vous modifiez la plage de ports par défaut pour les connexions utilisateur externes à l’aide du paramètre de stratégie Plage de ports HDX Direct, les règles de pare-feu correspondantes doivent correspondre à votre plage de ports personnalisée.

Configuration

HDX Direct est désactivé par défaut. Vous pouvez configurer cette fonctionnalité à l’aide du paramètre HDX Direct dans la stratégie Citrix.

  • HDX Direct : permet d’activer ou de désactiver une fonctionnalité.
  • Mode HDX Direct : détermine si HDX Direct est disponible pour les clients internes uniquement ou pour les clients internes et externes.
  • Plage de ports HDX Direct : définit la plage de ports que le VDA utilise pour les connexions provenant de clients externes.

Considérations

Les points suivants sont à prendre en compte lors de l’utilisation de HDX Direct :

  • HDX Direct pour les utilisateurs externes est uniquement disponible avec EDT (UDP) comme protocole de transport. Le transport adaptatif doit donc être activé.
  • Si vous utilisez HDX Insight, notez que l’utilisation de HDX Direct empêche la collecte de données HDX Insight, car la session ne serait plus transmise par proxy via NetScaler Gateway.
  • L’utilisation de vos propres certificats avec HDX Direct n’est actuellement pas prise en charge.

Fonctionnement

HDX Direct permet aux clients d’établir une connexion directe avec l’hôte de session lorsqu’une communication directe est disponible. Lorsque des connexions directes sont établies à l’aide de HDX Direct, des certificats auto-signés sont utilisés pour sécuriser la connexion directe à l’aide du cryptage au niveau du réseau (TLS/DTLS).

Utilisateurs internes

Le schéma suivant présente une vue d’ensemble du processus de connexion HDX Direct des utilisateurs internes.

Présentation de HDX Direct

  1. Le client établit une session HDX via Gateway Service.
  2. Une fois la connexion établie, le VDA envoie au client le nom de domaine complet de la machine VDA, une liste de ses adresses IP et le certificat de la machine VDA via la connexion HDX.
  3. Le client analyse les adresses IP pour voir s’il peut accéder directement au VDA.
  4. Si le client peut accéder directement au VDA avec l’une des adresses IP partagées, il établit une connexion directe avec le VDA, sécurisée par (D)TLS à l’aide d’un certificat correspondant à celui échangé à l’étape (2).
  5. Une fois la connexion directe établie, la session est transférée vers la nouvelle connexion, mettant fin à la connexion à Gateway Service.

Remarque

Après avoir établi la connexion à l’étape 2 ci-dessus, la session est active. Les étapes suivantes ne retardent ni n’entravent pas la capacité de l’utilisateur à utiliser l’application ou le bureau virtuel. Si l’une des étapes suivantes échoue, la connexion via Gateway est maintenue sans interrompre la session de l’utilisateur.

Utilisateurs externes

Le schéma suivant présente une vue d’ensemble du processus de connexion HDX Direct pour les utilisateurs externes :

Processus de connexion HDX Direct

  1. Le client établit une session HDX via Gateway Service.
  2. Une fois la connexion établie, le client et le VDA envoient une requête STUN pour découvrir leurs adresses IP et ports publics.
  3. Le serveur STUN répond au client et au VDA avec leurs adresses IP et ports publics correspondants.
  4. Par le biais de la connexion HDX, le client et le VDA échangent leurs adresses IP publiques et leurs ports UDP, et le VDA envoie son certificat au client.
  5. Le VDA envoie des paquets UDP à l’adresse IP publique et au port UDP du client. Le client envoie des paquets UDP à l’adresse IP publique et au port UDP du VDA.
  6. À la réception d’un message du VDA, le client répond par une demande de connexion sécurisée.
  7. Lors de la négociation DTLS, le client vérifie que le certificat correspond au certificat échangé à l’étape 4. Après validation, le client envoie son jeton d’autorisation. Une connexion directe sécurisée est désormais établie.
  8. Une fois la connexion directe établie, la session est transférée vers la nouvelle connexion, mettant fin à la connexion à Gateway Service.

Remarque

Après avoir établi la connexion à l’étape 2 ci-dessus, la session est active. Les étapes suivantes ne retardent ni n’entravent pas la capacité de l’utilisateur à utiliser l’application ou le bureau virtuel. Si l’une des étapes suivantes échoue, la connexion via Gateway est maintenue sans interrompre la session de l’utilisateur.

Compatibilité NAT

Pour établir une connexion directe entre un périphérique utilisateur externe et l’hôte de session, HDX Direct utilise la perforation pour la traversée NAT et le STUN pour faciliter l’échange de l’adresse IP publique et des cartographies de ports pour la machine cliente et l’hôte de session. Ceci est similaire au fonctionnement des solutions VoIP, de communications unifiées et de P2P.

Tant que les pare-feux et autres composants réseau sont configurés pour autoriser le trafic UDP pour les requêtes STUN et les sessions HDX, HDX Direct pour les utilisateurs externes devrait fonctionner. Cependant, dans certains scénarios, les types NAT des réseaux utilisateur et hôte de session entraînent une combinaison incompatible, entraînant ainsi l’échec de HDX Direct.

Validations

Vous pouvez valider le type NAT et le filtrage sur le client et l’hôte de session en utilisant l’utilitaire client STUN de STUNTMAN :

  1. Téléchargez le package approprié pour la plate-forme cible depuis stunprotocol.orget extrayez le contenu.
  2. Ouvrez une invite de terminal et accédez au répertoire dans lequel le contenu a été extrait.
  3. Exécutez la commande suivante : ./stunclient stunserver2024.stunprotocol.org --mode behavior
  4. Prenez note de la sortie.

    Si les tests de liaison et de comportement sont réussis, le test de liaison et le test de comportement l’indiquent et un comportement NAT est spécifié :

    NAT -succès

    Si les tests échouent, test de liaison et/ou test de comportement l’indiquent.

    NAT - échec

  5. Exécutez la commande suivante : ./stunclient stunserver2024.stunprotocol.org --mode filtering
  6. Prenez note de la sortie.

    Filtrage NAT

Consultez le tableau suivant pour déterminer si HDX Direct pour utilisateurs externes est censé fonctionner sur la base des résultats des tests du client et de l’hôte de session : | Comportement NAT du client | Filtrage NAT du client | Comportement NAT de l’hôte de session | Filtrage NAT de l’hôte de session | Devrait-il fonctionner ? | | — | — | — | — | — | | Mappage indépendant du point de terminaison | Quelconque | Mappage indépendant du point de terminaison | Quelconque | Oui | | Mappage indépendant du point de terminaison | Filtrage indépendant du point de terminaison | Mappage dépendant de l’adresse | Quelconque | Oui | | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse et du port | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage indépendant des points de terminaison | Filtrage indépendant des points de terminaison | Mappage dépendant des adresses et des ports | Filtrage indépendant des points de terminaison | Oui | | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse et du port | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage dépendant de l’adresse | Quelconque | Mappage indépendant du point de terminaison | Filtrage indépendant du point de terminaison | Oui | | Mappage dépendant de l’adresse | Quelconque | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse | Non | | Mappage dépendant de l’adresse | Quelconque | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse et du port | Non | | Mappage dépendant de l’adresse | Quelconque | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage dépendant de l’adresse | Quelconque | Mappage dépendant de l’adresse et du port | Quelconque | Non | | Mappage dépendant de l’adresse et du port | Quelconque | Mappage indépendant du point de terminaison | Filtrage indépendant du point de terminaison | Oui | | Mappage dépendant de l’adresse et du port | Quelconque | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse | Non | | Mappage dépendant de l’adresse et du port | Quelconque | Mappage indépendant du point de terminaison | Filtrage dépendant de l’adresse et du port | Non | | Mappage dépendant de l’adresse et du port | Quelconque | Mappage dépendant de l’adresse | Quelconque | Non | | Mappage dépendant de l’adresse et du port | Quelconque | Mappage dépendant de l’adresse et du port | Quelconque | Non | | Échec | Quelconque | Quelconque | Quelconque | Non | | Quelconque | Quelconque | Échec | Quelconque | Non | | Échec | Quelconque | Échec | Quelconque | Non |

HDX Direct pour Linux