VNC-basierte Interaktion mit virtuellen Maschinen
Hinweis | |
Ungesicherter TCP-Port Eingehende Verbindungen auf TCP-Port 5900 werden in diesem Beispiel nicht durch die Firewall blockiert. Richten Sie eine sichere und verschlüsselte Verbindung ein und sichern Sie den TCP-Port 5900 über SSH, sobald der Betrieb in einem ungesicherten Netzwerk stattfindet. |
Mit Virtual Network Computing (VNC) besteht die Möglichkeit eine virtuelle Maschine auf einem TwinCAT/BSD-Host über eine Netzwerkverbindung zu steuern. Dafür stellt bhyve
einen integrierten VNC-Server bereit, um mit VM-Instanzen zu interagieren.
Grafische Ausgaben der virtuellen Maschine und Benutzereingaben an die virtuelle Maschine können über den integrierten VNC-Server übertragen werden, indem die virtuelle Maschine mit einem Frame-Buffer-Gerät fbuf
konfiguriert wird. Dem Frame-Buffer-Gerät fbuf
können folgende Optionen übergeben werden, um den VNC-Server zu konfigurieren:
fbuf,[rfb=ip-and-port][,w=width][,h=height][,vga=vgaconf][,wait][,password=password]
Der folgende Aufruf startet die virtuelle Maschine samplevm
mit einem Frame-Buffer-Gerät an PCI-Slot 2. Über die Konfigurationsoptionen wird festgelegt, dass der VNC-Server auf TCP-Port 5900 des TwinCAT/BSD-Hosts auf Verbindungen lauscht. Zudem wird die Bildauflösung des Frame-Buffers auf 1024x768 Pixel festgelegt. Weitere Konfigurationsoptionen des fbuf
Geräts finden sich in den bhyve Manpages
doas bhyve \
-c sockets=1,cores=1,threads=1 \
-m 2G \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_BHF_UEFI.fd,fwcfg=qemu \
-s 0,hostbridge \
-s 2,fbuf,rfb=0.0.0.0:5900,w=1024,h=768 \
-s 31,lpc \
-A -H -P \
samplevm
Abhängig vom VNC-Client kann es vorkommen, dass Mauszeigerpositionen nicht präzise übergeben werden. Der bhyve-Aufruf kann dann um eine xhci,tablet
Gerätekonfiguration erweitert werden.
doas bhyve \
-c sockets=1,cores=1,threads=1 \
-m 2G \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_BHF_UEFI.fd,fwcfg=qemu \
-s 0,hostbridge \
-s 2,fbuf,rfb=0.0.0.0:5900,w=1024,h=768 \
-s 3,xhci,tablet \
-s 31,lpc \
-A -H -P \
samplevm
Der integrierte VNC-Server unterstützt keine Transportschichtsicherheit. Eingehende TCP-Verbindungen auf Port 5900 werden standardmäßig vom TwinCAT/BSD-Paket-Filter pf(8)
blockiert. Eingehende Verbindungen können durch die Konfiguration des Paket-Filters erlaubt werden (siehe: Firewall).