Linux Virtual Delivery Agent

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.

Übersicht HDX Direct

  1. Der Client stellt eine HDX-Sitzung über den Gateway Service her.
  2. 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.
  3. Der Client prüft die IP-Adressen, um festzustellen, ob er den VDA direkt erreichen kann.
  4. 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.
  5. 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:

HDX Direct-Verbindungsprozess

  1. Der Client stellt eine HDX-Sitzung über den Gateway Service her.
  2. Nach erfolgreicher Verbindung senden sowohl der Client als auch der VDA eine STUN-Anfrage, um ihre öffentlichen IP-Adressen und Ports zu ermitteln.
  3. Der STUN-Server antwortet dem Client und dem VDA mit ihren entsprechenden öffentlichen IP-Adressen und Ports.
  4. Ü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.
  5. 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.
  6. Nach Empfang einer Nachricht vom VDA antwortet der Client mit einer sicheren Verbindungsanfrage.
  7. 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.
  8. 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:

  1. Laden Sie das entsprechende Paket für die Zielplattform von stunprotocol.org herunter und extrahieren Sie den Inhalt.
  2. Öffnen Sie eine Terminalaufforderung und navigieren Sie zu dem Verzeichnis, in das der Inhalt extrahiert wurde.
  3. Führen Sie den folgenden Befehl aus: ./stunclient stunserver2024.stunprotocol.org --mode behavior
  4. 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:

    NAT-Erfolg

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

    NAT-Fehler

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

    NAT-Filterung

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
HDX™ Direct für Linux