HDX™ Direct für Linux
Beim Zugriff auf von Citrix bereitgestellte Ressourcen ermöglicht HDX Direct sowohl internen als auch externen Clientgeräten, eine sichere Direktverbindung mit dem Sitzungshost herzustellen, sofern eine direkte Kommunikation möglich ist.
-
Systemanforderungen
-
Die folgenden Systemanforderungen gelten für die Verwendung von HDX Direct:
-
Steuerungsebene
- Citrix DaaS™
- Citrix Virtual Apps and Desktops™ 2503 oder höher
-
-
Virtual Delivery Agent (VDA)
-
Linux: Version 2503 oder höher
-
Workspace-App
- Windows: Version 2503 oder höher
- Linux: Version 2411 oder höher
-
Mac: Version 2411 oder höher
-
Zugriffsebene
- Citrix Workspace™
- Citrix StoreFront™ 2503 oder höher
- Citrix Gateway Service
- Citrix NetScaler® Gateway
-
Netzwerkanforderungen
Die folgenden Netzwerkanforderungen gelten für die Verwendung von HDX Direct.
Sitzungshosts
Wenn Ihre Sitzungshosts über eine Firewall verfügen, müssen Sie den folgenden eingehenden Datenverkehr für interne Verbindungen zulassen.
| Beschreibung | Quelle | Protokoll | Port |
|---|---|---|---|
| Direkte interne Verbindung | Client | TCP | 443 |
| Direkte interne Verbindung | UDP | 443 |
Clientnetzwerk
Die folgende Tabelle beschreibt das Clientnetzwerk für interne und externe Benutzer.
Interne Benutzer
| Beschreibung | Protokoll | Quelle | Quellport | Ziel | Zielport |
|---|---|---|---|---|---|
| Direkte interne Verbindung | TCP | Clientnetzwerk | 1024–65535 | VDA-Netzwerk | 443 |
| Direkte interne Verbindung | UDP | Clientnetzwerk | 1024–65535 | VDA-Netzwerk | 443 |
Externe Benutzer
| Beschreibung | Protokoll | Quelle | Quellport | Ziel | Zielport |
|---|---|---|---|---|---|
| STUN (nur externe Benutzer) | UDP | Clientnetzwerk | 1024–65535 | Internet (siehe Hinweis unten) | 3478, 19302 |
| Verbindung externer Benutzer | UDP | Clientnetzwerk | 1024–65535 | Öffentliche IP-Adresse des Rechenzentrums | 1024–65535 |
Rechenzentrumsnetzwerk
- Die folgende Tabelle beschreibt das Rechenzentrumsnetzwerk für interne und externe Benutzer.
Interne Benutzer
-
Beschreibung Protokoll Quelle Quellport Ziel Zielport - | — | — | — | – | – | – |
-
Direkte interne Verbindung TCP Clientnetzwerk 1024–65535 VDA-Netzwerk 443 Direkte interne Verbindung UDP Clientnetzwerk 1024–65535 VDA-Netzwerk 443
Externe Benutzer
| Beschreibung | Protokoll | Quelle | Quellport | Ziel | Zielport |
|---|---|---|---|---|---|
| STUN (nur externe Benutzer) | UDP | VDA-Netzwerk | 1024–65535 | Internet (siehe Hinweis unten) | 3478, 19302 |
| Verbindung externer Benutzer | UDP | DMZ / Internes Netzwerk | 1024–65535 | VDA-Netzwerk | 55000–55250 |
| Verbindung externer Benutzer | UDP | VDA-Netzwerk | 55000–55250 | Öffentliche IP des Clients | 1024–65535 |
Hinweis:
Sowohl der VDA als auch die Workspace-App versuchen, STUN-Anfragen in der folgenden Reihenfolge an die folgenden Server zu senden:
- stun.cloud.com:3478
- stun.cloudflare.com:3478
- stun.l.google.com:19302
Wenn Sie den Standardportbereich für externe Benutzerverbindungen mithilfe der Richtlinieneinstellung HDX Direct-Portbereich ändern, müssen die entsprechenden Firewallregeln Ihrem benutzerdefinierten Portbereich entsprechen.
Konfiguration
HDX Direct ist standardmäßig deaktiviert. Sie können diese Funktion mithilfe der Einstellung HDX Direct in der Citrix-Richtlinie konfigurieren.
- HDX Direct: Zum Aktivieren oder Deaktivieren einer Funktion.
- HDX Direct-Modus: Legt fest, ob HDX Direct nur für interne Clients oder für interne und externe Clients verfügbar ist.
- HDX Direct-Portbereich: Definiert den Portbereich, den der VDA für Verbindungen von externen Clients verwendet.
Überlegungen
Die folgenden Punkte sind bei der Verwendung von HDX Direct zu beachten:
- HDX Direct für externe Benutzer ist nur mit EDT (UDP) als Transportprotokoll verfügbar. Daher muss Adaptive Transport aktiviert sein.
- Wenn Sie HDX Insight verwenden, beachten Sie, dass die Verwendung von HDX Direct die Datenerfassung von HDX Insight verhindert, da die Sitzung nicht mehr über NetScaler Gateway geleitet würde.
- Die Verwendung eigener Zertifikate mit HDX Direct wird derzeit nicht unterstützt.
Funktionsweise
HDX Direct ermöglicht Clients den Aufbau einer direkten Verbindung zum Sitzungshost, wenn eine direkte Kommunikation verfügbar ist. Wenn direkte Verbindungen über HDX Direct hergestellt werden, werden selbstsignierte Zertifikate verwendet, um die direkte Verbindung mit Netzwerkebenenverschlüsselung (TLS/DTLS) zu sichern.
Interne Benutzer
Das folgende Diagramm zeigt die Übersicht des HDX Direct-Verbindungsprozesses für interne Benutzer.

- Der Client stellt eine HDX-Sitzung über den Gateway Service her.
- Nach erfolgreicher Verbindung sendet der VDA dem Client den FQDN des VDA-Computers, eine Liste seiner IP-Adressen und das Zertifikat des VDA-Computers über die HDX-Verbindung.
- Der Client prüft die IP-Adressen, um festzustellen, ob er den VDA direkt erreichen kann.
- Wenn der Client den VDA direkt über eine der freigegebenen IP-Adressen erreichen kann, stellt der Client eine direkte Verbindung mit dem VDA her, die mit (D)TLS unter Verwendung eines Zertifikats gesichert ist, das mit dem in Schritt (2) ausgetauschten übereinstimmt.
- Sobald die direkte Verbindung erfolgreich hergestellt wurde, wird die Sitzung auf die neue Verbindung übertragen und die Verbindung zum Gateway Service beendet.
Hinweis:
Nachdem die Verbindung in Schritt 2 oben hergestellt wurde, ist die Sitzung aktiv. Die nachfolgenden Schritte verzögern oder beeinträchtigen die Fähigkeit des Benutzers, die virtuelle Anwendung oder den Desktop zu verwenden, nicht. Wenn einer der nachfolgenden Schritte fehlschlägt, wird die Verbindung über das Gateway aufrechterhalten, ohne die Benutzersitzung zu unterbrechen.
Externe Benutzer
Das folgende Diagramm zeigt die Übersicht des HDX Direct-Verbindungsprozesses für externe Benutzer:

- Der Client stellt eine HDX-Sitzung über den Gateway Service her.
- Nach erfolgreicher Verbindung senden sowohl der Client als auch der VDA eine STUN-Anfrage, um ihre öffentlichen IP-Adressen und Ports zu ermitteln.
- Der STUN-Server antwortet dem Client und dem VDA mit ihren entsprechenden öffentlichen IP-Adressen und Ports.
- Über die HDX-Verbindung tauschen der Client und der VDA ihre öffentlichen IP-Adressen und UDP-Ports aus, und der VDA sendet sein Zertifikat an den Client.
- Der VDA sendet UDP-Pakete an die öffentliche IP-Adresse und den UDP-Port des Clients. Der Client sendet UDP-Pakete an die öffentliche IP-Adresse und den UDP-Port des VDA.
- Nach Empfang einer Nachricht vom VDA antwortet der Client mit einer sicheren Verbindungsanfrage.
- Während des DTLS-Handshakes überprüft der Client, ob das Zertifikat mit dem in Schritt 4 ausgetauschten Zertifikat übereinstimmt. Nach der Validierung sendet der Client sein Autorisierungstoken. Eine sichere direkte Verbindung ist nun hergestellt.
- Sobald die direkte Verbindung erfolgreich hergestellt wurde, wird die Sitzung auf die neue Verbindung übertragen und die Verbindung zum Gateway Service beendet.
Hinweis:
Nachdem die Verbindung in Schritt 2 oben hergestellt wurde, ist die Sitzung aktiv. Die nachfolgenden Schritte verzögern oder beeinträchtigen die Fähigkeit des Benutzers, die virtuelle Anwendung oder den Desktop zu verwenden, nicht. Wenn einer der nachfolgenden Schritte fehlschlägt, wird die Verbindung über das Gateway aufrechterhalten, ohne die Benutzersitzung zu unterbrechen.
NAT-Kompatibilität
Um eine direkte Verbindung zwischen einem externen Benutzergerät und dem Sitzungshost herzustellen, nutzt HDX Direct Hole Punching für die NAT-Traversal und STUN, um den Austausch der öffentlichen IP-Adresse und Port-Mappings für das Client-Gerät und den Sitzungshost zu erleichtern. Dies ähnelt der Funktionsweise von VoIP-, Unified Communications- und P2P-Lösungen.
Solange Firewalls und andere Netzwerkkomponenten so konfiguriert sind, dass sie den UDP-Verkehr für die STUN-Anfragen und die HDX-Sitzungen zulassen, sollte HDX Direct für externe Benutzer funktionieren. Es gibt jedoch bestimmte Szenarien, in denen die NAT-Typen der Benutzer- und Sitzungshostnetzwerke zu einer inkompatiblen Kombination führen, wodurch HDX Direct fehlschlägt.
Validierungen
Sie können den NAT-Typ und die Filterung auf dem Client und dem Sitzungshost mithilfe des STUNTMANs STUN-Client-Dienstprogramms validieren:
- Laden Sie das entsprechende Paket für die Zielplattform von stunprotocol.org herunter und extrahieren Sie den Inhalt.
- Öffnen Sie eine Terminalaufforderung und navigieren Sie zu dem Verzeichnis, in das der Inhalt extrahiert wurde.
- Führen Sie den folgenden Befehl aus:
./stunclient stunserver2024.stunprotocol.org --mode behavior -
Beachten Sie die Ausgabe.
Wenn die Binding- und Behavior-Tests erfolgreich sind, melden sowohl der Binding-Test als auch der Behavior-Test den Erfolg und ein NAT-Verhalten wird angegeben:

Wenn die Tests fehlschlagen, melden der Binding-Test und/oder der Behavior-Test den Fehler.

- Führen Sie den folgenden Befehl aus:
./stunclient stunserver2024.stunprotocol.org --mode filtering -
Beachten Sie die Ausgabe.

In der folgenden Tabelle können Sie anhand der Testergebnisse von Client und Sitzungshost feststellen, ob HDX Direct für externe Benutzer voraussichtlich funktioniert:
| Client-NAT-Verhalten | Client-NAT-Filterung | Sitzungshost-NAT-Verhalten | Sitzungshost-NAT-Filterung | Erwartet, dass es funktioniert? |
|---|---|---|---|---|
| Endpunktunabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Beliebig | Ja |
| Endpunktunabhängiges Mapping | Endpunktunabhängige Filterung | Adressabhängiges Mapping | Beliebig | Ja |
| Endpunktunabhängiges Mapping | Adressabhängige Filterung | Adressabhängiges Mapping | Beliebig | Nein |
| Endpunktunabhängiges Mapping | Adress- und Portabhängige Filterung | Adressabhängiges Mapping | Beliebig | Nein |
| Endpunktunabhängiges Mapping | Endpunktunabhängige Filterung | Adress- und Portabhängiges Mapping | Endpunktunabhängige Filterung | Ja |
| Endpunktunabhängiges Mapping | Adressabhängige Filterung | Adressabhängiges Mapping | Beliebig | Nein |
| Endpunktunabhängiges Mapping | Adress- und Portabhängige Filterung | Adressabhängiges Mapping | Beliebig | Nein |
| Adressabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Endpunktunabhängige Filterung | Ja |
| Adressabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Adressabhängige Filterung | Nein |
| Adressabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Adress- und Portabhängige Filterung | Nein |
| Adressabhängiges Mapping | Beliebig | Adressabhängiges Mapping | Beliebig | Nein |
| Adressabhängiges Mapping | Beliebig | Adress- und Portabhängiges Mapping | Beliebig | Nein |
| Adress- und Portabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Endpunktunabhängige Filterung | Ja |
| Adress- und Portabhängiges Mapping | Beliebig | Endpunktunabhängiges Mapping | Adressabhängige Filterung | Nein |
| Adress- und Port-abhängiges Mapping | Beliebig | Endpunkt-unabhängiges Mapping | Adress- und Port-abhängiges Filtern | Nein |
| Adress- und Port-abhängiges Mapping | Beliebig | Adress-abhängiges Mapping | Beliebig | Nein |
| Adress- und Port-abhängiges Mapping | Beliebig | Adress- und Port-abhängiges Mapping | Beliebig | Nein |
| Fehler | Beliebig | Beliebig | Beliebig | Nein |
| Beliebig | Beliebig | Fehler | Beliebig | Nein |
| Fehler | Beliebig | Fehler | Beliebig | Nein |