Tags: ESXi, VMware Workstation, Remote-Verwaltung
Sowohl die VMware Workstation als auch ESXi bieten mehrere Optionen, um remote auf den Bildschirm von Gastbetriebssystemen zuzugreifen. Eine davon erfolgt über das VNC-Protokoll, wobei dieses in der Standardeinstellung von VMs deaktiviert ist. Während es unter der Workstation sehr einfach ist, VNC in Betrieb zu nehmen, muss man ESXi 5.x dafür erst manuell konfigurieren.
VMware unterstützt in seinen Produkten VNC schon lange, während andere Mechanismen für den Remote-Zugriff auf VMs erst später hinzukamen. So zählt das Sharing von VMs zu den wichtigsten Neuerungen der Workstation 8. Es erlaubt Anwendern auf entfernten PCs, die freigegebenen VMs in der Workstation zu nutzen. Auf dieses Feature aufbauend führte die Workstation 9 den Zugriff auf VMs mittels HTML5-fähiger Web-Browser ein (WSX). Im Fall von ESXi besteht die Möglichkeit, vom vSphere Client das Gastsystem in der Konsole zu öffnen.
Remote-Zugriff mit den Mitteln der Gäste
Alle diese Formen des Remote-Zugriffs auf VMs laufen direkt über den Host, der die entsprechenden Mechanismen bereitstellt. Das gilt auch für VNC. Daneben kann man natürlich auch die Mittel des Gastbetriebssystems nutzen, um von einem entfernten Rechner aus mit ihm zu interagieren. Im Fall von Windows wird das in den meisten Fällen eine RDP-Verbindung sein.
Vor- und Nachteile von VNC
Angesichts der verschiedenen Optionen für den Remote-Zugriff auf VMs kann man sich fragen, warum man gerade VNC nehmen sollte. Während man etwa das neue VM-Sharing der Workstation durch ein rollenbasiertes Rechte-Management inklusive AD-Integration absichern kann, bietet VNC nur ein Passwort als Zugangsbarriere. Darüber hinaus geht die gesamte VNC-Kommunikation unverschlüsselt über das Netz.
Der Vorzug von VNC besteht vor allem darin, dass es sich um eine leichtgewichtige und flexible Lösung handelt. Man muss sich eben nicht mit einem komplexen Rechte-Management herumschlagen und bekommt zudem einen Viewer für fast jedes Betriebssystem. Mittlerweile existieren dafür sogar einige freie HTML5-Implementierungen.
VNC-Konfiguration in der VMware Workstation
In der VMware Workstation erfolgt die VNC-Konfiguration über die Einstellungen einer VM. Dort findet sich in der Registerkarte Options der Eintrag VNC Connections. Wenn man im rechten Fenster Enable VNC Connections aktiviert, dann kann man anschließend den Port für die Verbindung zu dieser VM bestimmen und ein Passwort hinterlegen. Die Portnummer sollte für jede VM verschieden sein. Das Ein- und Ausschalten des VNC-Zugriffs kann auch während der Laufzeit einer VM erfolgen und ist sofort wirksam.
Um sich mit einer VM zu verbinden, braucht man einen VNC-Client, beispielsweise das viel genutzte TightVNC. Es handelt sich dabei um eine Open-Source-Software, die auch einen VNC-Server umfasst (den man aber für diesen Zweck hier nicht installieren muss). Man baut vom VNC-Client keine Verbindung mit einer VM auf, sondern mit der Adresse des Hosts, gefolgt von der Portnummer, also zum Beispiel 192.168.10.10:5901, wenn man in der Workstation den Port 5901 für eine VM festgelegt hat.
VNC in ESXi aktivieren
Bei VMware ESXi ist die Konfiguration weniger komfortabel und VNC wird dort von VMware in produktiven Umgebungen nicht offiziell unterstützt. Sie erfolgt nicht über einen Dialog in den Einstellungen einer VM, sondern sie erfordert das Editieren der .vmx-Datei.
Dies lässt sich allerdings bei ausgeschalteter VM über den vSphere Client erledigen, und zwar unter den Einstellungen einer VM, Registerkarte Optionen => Erweitert => Allgemein. Dort findet sich im rechten Fenster die Schaltfläche Konfigurationsparameter. Hier ergänzt man über den Befehl Zeile hinzufügen folgende Einträge:
RemoteDisplay.vnc.enabled = true
RemoteDisplay.vnc.port = 5900
RemoteDisplay.vnc.password = MeinPasswort
Zusätzlich ist es erforderlich, ab ESXi 5.x eine Firewall-Regel zu definieren, um VNC-Verbindungen zuzulassen. In einigen Anleitungen von Knowledge-Base-Artikeln wird vorgeschlagen, die vorhandene service.xml zu bearbeiten. Besser ist es, eine eigene XML-Datei zu erstellen und diese auf dem Host im Verzeichnis /etc/vmware/firewall abzuspeichern. Dazu muss man die Shell auf der ESXi-Konsole oder über eine SSH-Verbindung öffnen und die Ausnahme für VNC am besten über den vi-Editor erstellen. Diese Datei könnte man vnc.xml nennen und sie würde so aussehen:
<ConfigRoot>
<service>
<id>VNC</id>
<rule id='0000'>
<direction>inbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>
<begin>5900</begin>
<end>5950</end>
</port>
</rule>
<enabled>true</enabled>
</service>
</ConfigRoot>
Zu allem Überfluss haben solche Änderungen der Firewall-Konfiguration nicht Bestand, nach dem nächsten Neustart des Hypervisors sind sie verloren. Dieser KB-Artikel von VMware erläutert, wie man auch diese Hürde überwinden kann.
Wenn man nicht unbedingt eine VNC-Verbindung benötigt, etwa weil man keinen vSphere-Client zur Verfügung hat und der Gast keine adäquaten Mittel anbietet, dann spricht alles dafür, auf diese Form des Remote-Zugriffs unter ESXi zu verzichten.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Windows 11 in einer VM auf VMware Workstation oder ESXi installieren
- ESXi mit PXE-Boot von Windows Deployment Services (WDS) installieren
- ESXi 6.0 Free Update 2 enthält Embedded Host Client
- Mehrere VMDK-Dateien zu einem virtuellen Laufwerk zusammenfassen
- ESXi-Konsole (Direct Console User Interface, DCUI) über SSH öffnen
1 Kommentar
Hallo Wolfgang,
herzlichen Dank für diesen Beitrag. Nach langer langer Suche ist dieses Tutorial unsere Rettung und wir können die alten Win2000 und Win95 Maschinen auch direkt per VNC auf dem ESXi ansprechen.
Gruß, Oliver