
Ich habe einen Windows Server 2012-Rechner (nicht R2), der innerhalb der Hyper-V-Virtualisierung gehostet wird und auf dem RD Session Host und RD Gateway installiert sind. Er wird zum Ausführen einer Desktop-GIS-Anwendung verwendet.
Die Leistung über WAN ist ziemlich schlecht. Ich habe NAT einen UDP-Port hinzugefügt, um die Leistung zu verbessern, aber die UDP-Verbindung wird immer noch nicht verwendet.
In der LAN-Testumgebung (um NAT-/Firewall-Fehlkonfigurationen zu vermeiden) verbinde ich mich von einem Win10-Rechner aus. Die Verbindungsinfoleiste zeigt „hervorragende Qualität“, erwähnt aber nichts über UDP. Bei der umgekehrten Verbindung (Windows Server => Windows 10) zeigt die Verbindungsinfoleiste an, dass UDP aktiviert ist.
Ich habe die auf dem Windows Server installierte Windows-Firewall vollständig deaktiviert. Ich habe doppelt überprüft, dass UDP-Transport im RD-Gateway aktiviert ist. Es macht keinen Unterschied, ob ich mich über Gateway (443+3391) oder Direct (3389+3389) verbinde. Ich habe die ganze Maschine zweimal neu gestartet und alle Links auf den ersten drei Google-Ergebnisseiten durchgeblättert.
Haben Sie eine Idee, was nicht in Ordnung sein könnte?
Antwort1
Ich vermute einen Routing-Fehler. Führen Sie Wireshark aus, um sicherzugehen, dass das UDP-Paket empfangen wird. Wie ich gesehen habe, läuft es über ein WAN, und der Router lässt die Pakete normalerweise nicht gut durch.
1.5 Voraussetzungen/Voraussetzungen
Zum Aufbau der Protokollendpunkte ist eine UDP-Konnektivität erforderlich. Der Netzwerkpfad zwischen den Endpunkten sollte die Übertragung von UDP-Datagrammen in beide Richtungen ermöglichen.
Die Voraussetzungen für dieses Protokoll sind identisch mit denen für das UDP-Protokoll.
1.3.2.1
Initialisierung der UDP-Verbindung In dieser Phase werden beide Endpunkte mit für beide Seiten akzeptablen Parametern für die Verbindung initialisiert. Der Terminalclient initiiert die Verbindung durch Senden eines SYN-Datagramms. Der Terminalclient bestimmt auch den Betriebsmodus, RDP-UDP-R oder RDP-UDP-L, wie in Abschnitt 1.3.1 beschrieben. Der Terminalserver antwortet mit einem Datagramm mit gesetztem SYN-Flag und einem ACK-Flag, um den Empfang des SYN-Datagramms zu bestätigen. Der Terminalclient bestätigt das SYN-Datagramm durch Senden eines ACK. Der Terminalclient kann die codierten Pakete zusammen mit dem ACK-Datagramm anhängen. Dieses Datagramm zeigt an, dass eine Verbindung hergestellt wurde und Daten ausgetauscht werden können. Alle Datagramme in dieser Phase – SYN, SYN+ACK und ACK – werden zuverlässig durch dauerhafte Neuübertragungen zugestellt, unabhängig vom Modus, in dem der Transport betrieben wird.
Antwort2
Haben Sie überprüft, ob UDP den Hyper-V-Hostserver passieren kann?
Versuchen Sie nach Möglichkeit, im virtuellen Switch-Manager und/oder in den Konfigurationseinstellungen des physischen Netzwerkadapters einen alternativen virtuellen Netzwerkadaptertyp zu verwenden, um eventuell deaktivierte UDP-bezogene Einstellungen zu ermitteln.
Antwort3
Ich bin diesem Problem eine ganze Weile nachgegangen und konnte nirgendwo anders eine Lösung finden. Dieselbe Situation wie bei Ihnen, die direkte Verbindung zum RDS-Server funktionierte nicht mit UDP-Transport. UDP 3391 hörte zu und wurde nicht von der Firewall blockiert. Andere Nicht-RDS-Server funktionierten mit UDP-Transport.
Habe das folgende GPO konfiguriert, ausgeführt gpupdate /target:Computer /force
und voilà, es funktioniert.
Computer Configuration > Remote Desktop Services > Remote Desktop Session Host > Security > Require use of specific security layer for remote (RDP) connections
Auf Aktiviert (SSL) setzen