Virtuelle IP und virtuelles Loopback

Wichtig:

  • Windows 10 Enterprise Multi-Session unterstützt keine Remote Desktop IP-Virtualisierung (virtuelle IP), und wir unterstützen weder Remote Desktop IP-Virtualisierung noch virtuelles Loopback unter Windows 10 Enterprise Multi-Session.
  • Remote Desktop IP-Virtualisierung (virtuelle IP) wird auf cloudgehosteten Maschinen nicht unterstützt. Weitere Informationen finden Sie in der Microsoft-Dokumentation.

Die Funktionen Remote Desktop IP-Virtualisierung und virtuelles Loopback werden auf Windows Server 2016-, Windows Server 2019- und Windows Server 2022-Maschinen unterstützt. Diese Funktionen gelten nicht für Windows-Desktop-Betriebssystemmaschinen.

Die Microsoft Remote Desktop IP-Virtualisierungsadressfunktion stellt einer veröffentlichten Anwendung für jede Sitzung eine eindeutige, dynamisch zugewiesene IP-Adresse bereit. Mit der virtuellen Loopback-Funktion von Citrix können Sie Anwendungen, die von der Kommunikation mit Localhost (standardmäßig 127.0.0.1) abhängen, so konfigurieren, dass sie eine eindeutige virtuelle Loopback-Adresse im Localhost-Bereich (127.*) verwenden.

Bestimmte Anwendungen, wie CRM und Computer Telephony Integration (CTI), verwenden eine IP-Adresse für die Adressierung, Lizenzierung, Identifizierung oder andere Zwecke, die eine eindeutige IP-Adresse oder Loopback-Adresse erfordern. Andere Anwendungen binden möglicherweise an einen statischen Port, sodass Versuche, zusätzliche Instanzen einer Anwendung in einer Mehrbenutzerumgebung zu starten, fehlschlagen, da der Port belegt ist. Damit solche Anwendungen in einer Citrix Virtual Apps™-Umgebung korrekt funktionieren, ist für jedes Gerät eine eindeutige IP-Adresse erforderlich.

Remote Desktop IP-Virtualisierung und virtuelles Loopback sind voneinander unabhängige Funktionen. Sie können eine oder beide verwenden.

Zusammenfassung der Administratoraktionen:

  • Um die Microsoft Remote Desktop IP-Virtualisierung zu verwenden, aktivieren und konfigurieren Sie sie auf dem Windows-Server. (Citrix®-Richtlinieneinstellungen sind nicht erforderlich.)
  • Um das virtuelle Loopback von Citrix zu verwenden, konfigurieren Sie zwei Einstellungen in einer Citrix-Richtlinie.

Remote Desktop IP-Virtualisierung (virtuelle IP)

Wenn die Remote Desktop IP-Virtualisierung auf dem Windows-Server aktiviert und konfiguriert ist, scheint jede konfigurierte Anwendung, die in einer Sitzung ausgeführt wird, eine eindeutige Adresse zu haben. Benutzer greifen auf diese Anwendungen auf einem Citrix Virtual Apps-Server auf die gleiche Weise zu, wie sie auf jede andere veröffentlichte Anwendung zugreifen. Ein Prozess erfordert die Remote Desktop IP-Virtualisierung in einem der folgenden Fälle:

  • Der Prozess verwendet eine fest codierte TCP-Portnummer
  • Der Prozess verwendet Windows-Sockets und erfordert eine eindeutige IP-Adresse oder eine bestimmte TCP-Portnummer

So ermitteln Sie, ob eine Anwendung Remote Desktop IP-Virtualisierungsadressen verwenden muss:

  1. Besorgen Sie sich das Tool TCPView von Microsoft. Dieses Tool listet alle Anwendungen auf, die bestimmte IP-Adressen und Ports binden. Weitere Informationen zu TCPView finden Sie in der Microsoft-Dokumentation.
  2. Deaktivieren Sie die Funktion IP-Adressen auflösen, damit Sie die Adressen anstelle von Hostnamen sehen.
  3. Starten Sie die Anwendung und verwenden Sie TCPView, um zu sehen, welche IP-Adressen und Ports die Anwendung öffnet und welche Prozessnamen diese Ports öffnen.
  4. Konfigurieren Sie alle Prozesse, die die IP-Adresse des Servers, 0.0.0.0 oder 127.0.0.1 öffnen.
  5. Um sicherzustellen, dass eine Anwendung nicht dieselbe IP-Adresse an einem anderen Port öffnet, starten Sie eine weitere Instanz der Anwendung.

Funktionsweise der Microsoft Remote Desktop (RD) IP-Virtualisierung

  • Die virtuelle IP-Adressierung muss auf dem Microsoft-Server aktiviert sein.

    In einer Windows Server 2016-Umgebung erweitern Sie beispielsweise im Server-Manager Remotedesktopdienste > RD-Sitzungshostverbindungen, um die RD-IP-Virtualisierungsfunktion zu aktivieren und die Einstellungen für die dynamische Zuweisung von IP-Adressen über den DHCP-Server (Dynamic Host Configuration Protocol) pro Sitzung oder pro Programm zu konfigurieren. Weitere Informationen zum Konfigurieren der Remote Desktop IP-Virtualisierung finden Sie in der Microsoft-Dokumentation.

  • Nachdem die Funktion aktiviert wurde, fordert der Server beim Start der Sitzung dynamisch zugewiesene IP-Adressen vom DHCP-Server an.

  • Die Funktion RD IP-Virtualisierung weist Remote-Desktop-Verbindungen IP-Adressen pro Sitzung oder pro Programm zu. Wenn Sie IP-Adressen für mehrere Programme zuweisen, teilen diese sich eine IP-Adresse pro Sitzung.

  • Nachdem einer Sitzung eine Adresse zugewiesen wurde, verwendet die Sitzung die virtuelle Adresse anstelle der primären IP-Adresse für das System, wann immer die folgenden Aufrufe getätigt werden: bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname, sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo.

Bei der Verwendung der Microsoft IP-Virtualisierungsfunktion in der Remotedesktop-Sitzungshostkonfiguration werden Anwendungen an bestimmte IP-Adressen gebunden, indem eine „Filter“-Komponente zwischen der Anwendung und den Winsock-Funktionsaufrufen eingefügt wird. Die Anwendung sieht dann nur die korrekte IP-Adresse, die verwendet werden soll. Jeder Versuch der Anwendung, auf TCP- oder UDP-Kommunikation zu lauschen, wird automatisch an ihre zugewiesene virtuelle IP-Adresse (oder Loopback-Adresse) gebunden. Alle von der Anwendung geöffneten ausgehenden Verbindungen stammen von der IP-Adresse, die an die Anwendung gebunden ist.

In Funktionen, die eine Adresse zurückgeben (wie GetAddrInfo(), die eine Windows-Richtlinie steuert), wenn die lokale Host-IP-Adresse angefordert wird, prüft die Remote Desktop IP-Virtualisierung die zurückgegebene IP-Adresse und ändert sie in die Remote Desktop IP-Virtualisierungsadresse der Sitzung. Anwendungen, die versuchen, die IP-Adresse des lokalen Servers über solche Namensfunktionen abzurufen, sehen nur die eindeutige Remote Desktop IP-Virtualisierungsadresse, die dieser Sitzung zugewiesen ist. Diese IP-Adresse wird häufig in nachfolgenden Socket-Aufrufen wie Bind oder Connect verwendet. Weitere Informationen zu Windows-Richtlinien finden Sie unter RDS IP-Virtualisierung in Windows Server.

Oft fordert eine Anwendung an, sich an einen Port zu binden, um an der Adresse 0.0.0.0 zu lauschen. Wenn eine Anwendung dies tut und einen statischen Port verwendet, können Sie nicht mehr als eine Instanz der Anwendung starten. Die Remote Desktop IP-Virtualisierungsadressfunktion sucht auch in diesen Aufruftypen nach 0.0.0.0. Sie ändert den Aufruf so, dass er an der spezifischen Remote Desktop IP-Virtualisierungsadresse lauscht, wodurch mehr als eine Anwendung am selben Port auf demselben Computer lauschen kann, da sie alle an verschiedenen Adressen lauschen. Der Aufruf wird nur geändert, wenn er sich in einer ICA-Sitzung befindet und die Remote Desktop IP-Virtualisierungsadressfunktion aktiviert ist. Wenn beispielsweise zwei Instanzen einer Anwendung, die in verschiedenen Sitzungen ausgeführt werden, versuchen, sich an alle Schnittstellen (0.0.0.0) und einen bestimmten Port (z. B. 9000) zu binden, werden sie an VIPAddress1:9000 und VIPAddress2:9000 gebunden, und es gibt keinen Konflikt.

Virtuelles Loopback

Durch Aktivieren der Richtlinieneinstellungen für Citrix Remote Desktop IP Virtualization Loopback kann jede Sitzung eine eigene Loopback-Adresse für die Kommunikation haben. Wenn eine Anwendung die Localhost-Adresse (Standard = 127.0.0.1) in einem Winsock-Aufruf verwendet, ersetzt die virtuelle Loopback-Funktion 127.0.0.1 einfach durch 127.X.X.X, wobei X.X.X eine Darstellung der Sitzungs-ID + 1 ist. Eine Sitzungs-ID von 7 ist beispielsweise 127.0.0.8. In dem unwahrscheinlichen Fall, dass die Sitzungs-ID das vierte Oktett (mehr als 255) überschreitet, wird die Adresse auf das nächste Oktett (127.0.1.0) bis maximal 127.255.255.255 umgestellt.

Ein Prozess erfordert in einem der folgenden Fälle ein virtuelles Loopback:

  • Der Prozess verwendet die Windows Socket Loopback-Adresse (localhost) (127.0.0.1).
  • Der Prozess verwendet eine fest codierte TCP-Portnummer.

Verwenden Sie die Richtlinieneinstellungen für virtuelles Loopback für Anwendungen, die eine Loopback-Adresse für die Interprozesskommunikation verwenden. Es ist keine zusätzliche Konfiguration erforderlich. Virtuelles Loopback ist nicht von Virtual IP abhängig, sodass Sie den Microsoft-Server nicht konfigurieren müssen.

  • Unterstützung für virtuelles IP-Loopback. Wenn diese Richtlinieneinstellung aktiviert ist, kann jede Sitzung eine eigene virtuelle Loopback-Adresse haben. Diese Einstellung ist standardmäßig deaktiviert. Die Funktion gilt nur für Anwendungen, die mit der Richtlinieneinstellung „Liste der virtuellen IP-Loopback-Programme“ angegeben sind.
  • Liste der virtuellen IP-Loopback-Programme. Diese Richtlinieneinstellung gibt die Anwendungen an, die die virtuelle IP-Loopback-Funktion verwenden. Diese Einstellung gilt nur, wenn die Richtlinieneinstellung „Unterstützung für virtuelles IP-Loopback“ aktiviert ist.
  • Ausschluss von virtuellen IP-Loopback-Ports. Wenn eine Anwendung die Loopback-Adresse an den in dieser Einstellung angegebenen Ports aufruft, ändert das virtuelle Loopback den Aufruf an die sitzungsspezifische Loopback-Adresse nicht.

Verwandte Funktion

Sie können die folgenden Registrierungseinstellungen verwenden, um sicherzustellen, dass virtuelles Loopback gegenüber virtuellem IP bevorzugt wird. Diese Funktion wird als bevorzugtes Loopback bezeichnet. Gehen Sie jedoch mit Vorsicht vor:

  • Verwenden Sie bevorzugtes Loopback nur, wenn sowohl Virtual IP als auch virtuelles Loopback aktiviert sind. Andernfalls kann es zu unbeabsichtigten Ergebnissen kommen.
  • Eine falsche Bearbeitung der Registrierung kann schwerwiegende Probleme verursachen, die möglicherweise eine Neuinstallation Ihres Betriebssystems erfordern. Citrix kann nicht garantieren, dass Probleme, die aus der falschen Verwendung des Registrierungs-Editors resultieren, gelöst werden können. Verwenden Sie den Registrierungs-Editor auf eigenes Risiko. Sichern Sie die Registrierung, bevor Sie sie bearbeiten.

Führen Sie regedit auf den Servern aus, auf denen sich die Anwendungen befinden.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP
  • Name: PreferLoopback, Typ: REG_DWORD, Daten: 1
  • Name: PreferLoopbackProcesses, Typ: REG_MULTI_SZ, Daten: <list of processes>
Virtuelle IP und virtuelles Loopback