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 session si une communication directe est possible.
-
Configuration système requise
-
Voici la 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
Voici la configuration réseau requise pour utiliser HDX Direct.
Hôtes de session
Si vos hôtes de session disposent d’un pare-feu, vous devez autoriser le trafic entrant suivant pour les connexions internes.
| Description | Source | Protocole | Port |
|---|---|---|---|
| Connexion interne directe | Client | TCP | 443 |
| Connexion interne directe | Client | UDP | 443 |
Réseau client
Le tableau suivant décrit le réseau client pour les utilisateurs internes et externes.
Utilisateurs internes
| Description | Protocole | Source | Port source | Destination | Port de destination |
|---|---|---|---|---|---|
| Connexion interne directe | TCP | Réseau client | 1024–65535 | Réseau VDA | 443 |
| Connexion interne directe | UDP | Réseau client | 1024–65535 | Réseau VDA | 443 |
Utilisateurs externes
| Description | Protocole | Source | Port source | Destination | Port de destination |
|---|---|---|---|---|---|
| STUN (utilisateurs externes uniquement) | UDP | Réseau client | 1024–65535 | Internet (voir la note ci-dessous) | 3478, 19302 |
| Connexion utilisateur externe | UDP | Réseau client | 1024–65535 | Adresse IP publique du centre de données | 1024–65535 |
Réseau du centre 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 Protocole Source Port source Destination Port de destination - | — | — | — | – | – | – |
-
Connexion interne directe TCP Réseau client 1024–65535 Réseau VDA 443 Connexion interne directe UDP Réseau client 1024–65535 Réseau VDA 443
Utilisateurs externes
| Description | Protocole | Source | Port source | Destination | Port de destination |
|---|---|---|---|---|---|
| STUN (utilisateurs externes uniquement) | UDP | Réseau VDA | 1024–65535 | Internet (voir la note ci-dessous) | 3478, 19302 |
| Connexion utilisateur externe | UDP | Réseau DMZ / interne | 1024–65535 | Réseau VDA | 55000–55250 |
| Connexion utilisateur externe | UDP | Réseau VDA | 55000–55250 | IP publique du client | 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 d’utilisateurs 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: Pour activer ou désactiver une fonctionnalité. -
HDX Direct mode: Détermine siHDX Directest disponible uniquement pour les clients internes ou pour les clients internes et externes. -
HDX Direct port range: Définit la plage de ports que le VDA utilise pour les connexions des clients externes.
Considérations
Voici les considérations relatives à l’utilisation de HDX Direct :
-
HDX Directpour les utilisateurs externes est uniquement disponible avecEDT (UDP)comme protocole de transport. Par conséquent,Adaptive Transportdoit être activé. - Si vous utilisez
HDX Insight, notez que l’utilisation deHDX Directempêche la collecte de données HDX Insight, car la session ne serait plus acheminée viaNetScaler Gateway. - L’utilisation de vos propres certificats avec
HDX Directn’est pas prise en charge actuellement.
Fonctionnement
HDX Direct permet aux clients d’établir une connexion directe avec l’hôte de session lorsque la 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 avec un chiffrement au niveau du réseau (TLS/DTLS).
Utilisateurs internes
Le diagramme suivant présente un aperçu du processus de connexion HDX Direct des utilisateurs internes.

- Le client établit une
session HDXvia leservice Gateway. - Une fois la connexion établie, le VDA envoie au client le
FQDNde la machine VDA, une liste de sesadresses IPet le certificat de la machine VDA via laconnexion HDX. - Le client sonde les
adresses IPpour voir s’il peut atteindre directement le VDA. - Si le client peut atteindre directement le VDA avec l’une des
adresses IPpartagées, le client établit une connexion directe avec le VDA, sécurisée avec(D)TLSà l’aide d’un certificat correspondant à celui échangé à l’étape (2). - Une fois la connexion directe établie, la session est transférée vers la nouvelle connexion et la connexion au
service Gatewayest résiliée.
Remarque :
Après l’établissement de la connexion à l’étape 2 ci-dessus, la session est active. Les étapes suivantes ne retardent ni n’interfèrent avec la capacité de l’utilisateur à utiliser l’application ou le bureau virtuel. Si l’une des étapes suivantes échoue, la connexion via la passerelle est maintenue sans interrompre la session de l’utilisateur.
Utilisateurs externes
Le diagramme suivant présente un aperçu du processus de connexion HDX Direct pour les utilisateurs externes :

- Le client établit une
session HDXvia leservice Gateway. - Une fois la connexion établie, le client et le VDA envoient une
requête STUNpour découvrir leursadresses IPetports UDPpublics. - Le
serveur STUNrépond au client et au VDA avec leursadresses IPetports UDPpublics correspondants. - Via la
connexion HDX, le client et le VDA échangent leursadresses IPpubliques et leursports UDP, et le VDA envoie son certificat au client. - Le VDA envoie des
paquets UDPà l’adresse IPpublique et auport UDPdu client. Le client envoie despaquets UDPà l’adresse IPpublique et auport UDPdu VDA. - Dès réception d’un message du VDA, le client répond par une demande de connexion sécurisée.
- Pendant l’
établissement de la liaison 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 alors établie. - Une fois la connexion directe établie, la session est transférée vers la nouvelle connexion et la connexion au
service Gatewayest résiliée.
Remarque :
Après l’établissement de la connexion à l’étape 2 ci-dessus, la session est active. Les étapes suivantes ne retardent ni n’interfèrent avec la capacité de l’utilisateur à utiliser l’application ou le bureau virtuel. Si l’une des étapes suivantes échoue, la connexion via la passerelle 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 le hole punching pour la traversée NAT et STUN pour faciliter l’échange des mappages d’adresse IP et de port publics pour le périphérique client et l’hôte de session. Ceci est similaire au fonctionnement des solutions VoIP, de communications unifiées et P2P.
Tant que les pare-feu 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, il existe certains scénarios où les types NAT des réseaux de l’utilisateur et de l’hôte de session conduisent à une combinaison incompatible, ce qui entraîne l’échec de HDX Direct.
Validations
Vous pouvez valider le type NAT et le filtrage NAT sur le client et l’hôte de session à l’aide de l’utilitaire client STUN de STUNTMAN :
- Téléchargez le package approprié pour la plate-forme cible depuis https://stunprotocol.org/ et extrayez le contenu.
- Ouvrez une invite de terminal et accédez au répertoire où le contenu a été extrait.
- Exécutez la commande suivante :
./stunclient stunserver2024.stunprotocol.org --mode behavior -
Prenez note de la sortie.
Si les tests de liaison et de comportement réussissent, les deux
test de liaisonettest de comportementsignalent le succès et un comportement NAT est spécifié :
Si les tests échouent,
test de liaisonet/outest de comportementsignalent l’échec.
- Exécutez la commande suivante :
./stunclient stunserver2024.stunprotocol.org --mode filtering -
Prenez note de la sortie.

Consultez le tableau suivant pour déterminer si HDX Direct pour les utilisateurs externes devrait fonctionner en fonction des résultats des tests du client et de l’hôte de session :
| Client NAT Behavior | Client NAT Filtering | Session Host NAT Behavior | Session Host NAT Filtering | Fonctionnera ? |
|---|---|---|---|---|
Endpoint Independent Mapping |
Any |
Endpoint Independent Mapping |
Any |
Oui |
Endpoint Independent Mapping |
Endpoint Independent Filtering |
Address Dependent Mapping |
Any |
Oui |
Endpoint Independent Mapping |
Address Dependent Filtering |
Address Dependent Mapping |
Any |
Non |
Endpoint Independent Mapping |
Address and Port Dependent Filtering |
Address Dependent Mapping |
Any |
Non |
Endpoint Independent Mapping |
Endpoint Independent Filtering |
Address and Port Dependent Mapping |
Endpoint Independent Filtering |
Oui |
Endpoint Independent Mapping |
Address Dependent Filtering |
Address Dependent Mapping |
Any |
Non |
Endpoint Independent Mapping |
Address and Port Dependent Filtering |
Address Dependent Mapping |
Any |
Non |
Address Dependent Mapping |
Any |
Endpoint Independent Mapping |
Endpoint Independent Filtering |
Oui |
Address Dependent Mapping |
Any |
Endpoint Independent Mapping |
Address Dependent Filtering |
Non |
Address Dependent Mapping |
Any |
Endpoint Independent Mapping |
Address and Port Dependent Filtering |
Non |
Address Dependent Mapping |
Any |
Address Dependent Mapping |
Any |
Non |
Address Dependent Mapping |
Any |
Address and Port Dependent Mapping |
Any |
Non |
Address and Port Dependent Mapping |
Any |
Endpoint Independent Mapping |
Endpoint Independent Filtering |
Oui |
Address and Port Dependent Mapping |
Any |
Endpoint Independent Mapping |
Address Dependent Filtering |
Non |
| Mappage dépendant de l’adresse et du port | Tout | 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 | Tout | Mappage dépendant de l’adresse | Tout | Non |
| Mappage dépendant de l’adresse et du port | Tout | Mappage dépendant de l’adresse et du port | Tout | Non |
| Échec | Tout | Tout | Tout | Non |
| Tout | Tout | Échec | Tout | Non |
| Échec | Tout | Échec | Tout | Non |