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 direkte Verbindung mit dem Sitzungshost herzustellen, sofern eine direkte Kommunikation möglich ist.
Systemanforderungen
Für die Verwendung von HDX Direct gelten die folgenden Systemvoraussetzungen:
-
Steuerungsebene
- Citrix DaaS
- Citrix Virtual Apps and Desktops 2503 oder später
-
Virtual Delivery Agent (VDA)
- Linux: Version 2503 oder höher
-
Workspace-App
- Windows: Version 2503 oder später
- 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
Für die Verwendung von HDX Direct gelten die folgenden Netzwerkvoraussetzungen.
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 | Client | UDP | 443 |
Clientnetzwerk
In der folgenden Tabelle wird das Clientnetzwerk für interne und externe Benutzer beschrieben.
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 | Externe Benutzerverbindung | UDP | Clientnetzwerk | 1024–65535 | Öffentliche IP-Adresse des Datencenters | 1024–65535 |
Datencenternetzwerk
In der folgenden Tabelle wird das Datencenternetzwerk für interne und externe Benutzer beschrieben.
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 | Externe Benutzerverbindung | UDP | DMZ / Internes Netzwerk | 1024–65535 | VDA-Netzwerk | 55000–55250 | Externe Benutzerverbindung | UDP | VDA-Netzwerk | 55000–55250 | Öffentliche IP des Clients | 1024–65535 |
Hinweis
Sowohl der VDA als auch die Workspace-App versuchen, STUN-Anforderungen in derselben 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 das Feature mithilfe der HDX Direct-Einstellung der Citrix Richtlinie konfigurieren.
- HDX Direct: Zum Aktivieren oder Deaktivieren eines Features.
- HDX Direct-Modus: Legt fest, ob HDX Direct nur für interne Clients oder sowohl für interne als auch für externe Clients verfügbar ist.
- HDX Direct-Portbereich: Definiert den Portbereich, den der VDA für Verbindungen von externen Clients verwendet.
Überlegungen
Bei der Verwendung von HDX Direct ist Folgendes zu berücksichtigen:
- HDX Direct für externe Benutzer ist nur mit EDT (UDP) als Transportprotokoll verfügbar. Daher muss Adaptiver Transport aktiviert sein.
- Wenn Sie HDX Insight verwenden, beachten Sie, dass die Verwendung von HDX Direct die HDX Insight-Datenerfassung verhindert, weil die Sitzung nicht mehr über NetScaler Gateway als Proxy geleitet würde.
- Die Verwendung Ihrer eigenen Zertifikate mit HDX Direct wird derzeit nicht unterstützt.
So funktioniert es
HDX Direct ermöglicht es Clients, eine direkte Verbindung zum Sitzungshost herzustellen, wenn eine direkte Kommunikation verfügbar ist. Wenn direkte Verbindungen mit HDX Direct hergestellt werden, werden selbstsignierte Zertifikate verwendet, um die direkte Verbindung mit Verschlüsselung auf Netzwerkebene (TLS/DTLS) zu sichern.
Interne Benutzer
Das folgende Diagramm zeigt den Überblick über den HDX Direct-Verbindungsprozess interner Benutzer.
- Der Client richtet eine HDX-Sitzung über den Gateway Service ein.
- Nach einer erfolgreichen Verbindung sendet der VDA den FQDN der VDA-Maschine, eine Liste ihrer IP-Adressen und das Zertifikat der VDA-Maschine über die HDX-Verbindung an den Client.
- Der Client überprüft die IP-Adressen, um festzustellen, ob er den VDA direkt erreichen kann.
- Wenn der Client den VDA mit einer der gemeinsam genutzten IP-Adressen direkt erreichen kann, stellt der Client eine direkte Verbindung mit dem VDA her, die mit (D) TLS über ein Zertifikat gesichert ist, das dem in Schritt (2) ausgetauschten Zertifikat entspricht.
- Sobald die direkte Verbindung hergestellt ist, wird die Sitzung an sie übertragen und die Verbindung zu Gateway Service wird beendet.
Hinweis
Nach dem Herstellen der Verbindung in Schritt 2 oben ist die Sitzung aktiv. Die nachfolgenden Schritte verzögern oder beeinträchtigen nicht die Fähigkeit des Benutzers, die virtuelle Anwendung oder den Desktop zu verwenden. 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 den Überblick über den HDX Direct-Verbindungsprozess für externe Benutzer:
- Der Client richtet eine HDX-Sitzung über den Gateway Service ein.
- Nach einer erfolgreichen Verbindung senden sowohl der Client als auch der VDA eine STUN-Anforderung, 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 Erhalt einer Nachricht vom VDA antwortet der Client mit einer sicheren Verbindungsanforderung.
- 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 Direktverbindung ist jetzt hergestellt.
- Sobald die direkte Verbindung hergestellt ist, wird die Sitzung an sie übertragen und die Verbindung zu Gateway Service wird beendet.
Hinweis
Nach dem Herstellen der Verbindung in Schritt 2 oben ist die Sitzung aktiv. Die nachfolgenden Schritte verzögern oder beeinträchtigen nicht die Fähigkeit des Benutzers, die virtuelle Anwendung oder den Desktop zu verwenden. 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 NAT-Traversal und STUN, um den Austausch der öffentlichen IP-Adressen und Portzuordnungen für das Clientgerä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-Anforderungen und die HDX-Sitzungen zulassen, wird erwartet, dass HDX Direct für externe Benutzer funktioniert. Es gibt jedoch bestimmte Szenarien, in denen die NAT-Typen der Benutzer- und Sitzungshostnetzwerke zu einer inkompatiblen Kombination führen, wodurch HDX Direct ausfällt.
Validierungen
Sie können den NAT-Typ und die Filterung auf dem Client und dem Sitzungshost mit dem STUN-Clientdienstprogramm von STUNTMAN validieren:
- Laden Sie das entsprechende Paket für die Zielplattform von stunprotocol.org herunter und extrahieren Sie den Inhalt.
- Öffnen Sie eine Terminal-Eingabeaufforderung und navigieren Sie zu dem Verzeichnis, in das der Inhalt extrahiert wurde.
- Führen Sie den folgenden Befehl aus:
./stunclient stunserver2024.stunprotocol.org --Modusverhalten
-
Notieren Sie sich die Ausgabe.
Wenn die Bindungs- und Verhaltenstests erfolgreich sind, melden sowohl der Bindungstest als auch der Verhaltenstest den Erfolg und ein NAT-Verhalten wird angegeben:
Wenn die Tests fehlschlagen, melden Bindungstest und/oder Verhaltenstest den Fehler.
- Führen Sie den folgenden Befehl aus:
./stunclient stunserver2024.stunprotocol.org --Modusfilterung
-
Notieren Sie sich die Ausgabe.
Anhand der folgenden Tabelle können Sie ausgehend von den Testergebnissen des Clients und des Sitzungshosts ermitteln, ob HDX Direct für externe Benutzer voraussichtlich funktioniert: | Client-NAT-Verhalten | Client-NAT-Filterung | Sitzungshost-NAT-Verhalten | Sitzungshost-NAT-Filterung | Funktioniert voraussichtlich? | | — | — | — | — | — | | Endpunktunabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Beliebig | Ja | | Endpunktunabhängige Zuordnung | Endpunktunabhängige Filterung | Adressabhängige Zuordnung | Beliebig | Ja | | Endpunktunabhängige Zuordnung | Adressabhängige Filterung | Adressabhängige Zuordnung | Beliebig | Nein | | Endpunktunabhängige Zuordnung | Adress- und portabhängige Filterung | Adressabhängige Zuordnung | Beliebig | Nein | | Endpunktunabhängige Zuordnung | Endpunktunabhängige Filterung | Adress- und portabhängige Zuordnung | Endpunktunabhängige Filterung | Ja | | Endpunktunabhängige Zuordnung | Adressabhängige Filterung | Adressabhängige Zuordnung | Beliebig | Nein | | Endpunktunabhängige Zuordnung | Adress- und portabhängige Filterung | Adressabhängige Zuordnung | Beliebig | Nein | | Adressabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Endpunktunabhängige Filterung | Ja | | Adressabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Adressabhängige Filterung | Nein | | Adressabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Adress- und portabhängige Filterung | Nein | | Adressabhängige Zuordnung | Beliebig | Adressabhängige Zuordnung | Beliebig | Nein | | Adressabhängige Zuordnung | Beliebig | Adress- und portabhängige Zuordnung | Beliebig | Nein | | Adress- und portabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Endpunktunabhängige Filterung | Ja | | Adress- und portabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Adressabhängige Filterung | Nein | | Adress- und portabhängige Zuordnung | Beliebig | Endpunktunabhängige Zuordnung | Adress- und portabhängige Filterung | Nein | | Adress- und portabhängige Zuordnung | Beliebig | Adressabhängige Zuordnung | Beliebig | Nein | | Adress- und oortabhängige Zuordnung | Beliebig | Adress- und portabhängige Zuordnung | Beliebig | Nein | | Fehlgeschlagen | Beliebig | Beliebig | Beliebig | Nein | | Beliebig | Beliebig | Fehlgeschlagen | Beliebig | Nein | | Fehlgeschlagen | Beliebig | Fehlgeschlagen | Beliebig | Nein |