Greifen Sie über VNC auf virtuelle KVM-Maschinen zu, ohne die Portweiterleitung mit SSH durchzuführen

10

Ist es möglich, auf die VMs zuzugreifen, ohne den Remote-Port und die VNC an den lokalen Host weiterleiten zu müssen? Ich möchte in der Lage sein, VNC in den KVM-Server einzubinden und die VMs anzuzeigen.

Shoan
quelle

Antworten:

12

Ich fand die Antwort nach einigem Suchen und fand das Folgende in /etc/libvirt/qemu.conf

# VNC is configured to listen on 127.0.0.1 by default.
# To make it listen on all public interfaces, uncomment
# this next option.
#
# NB, strong recommendation to enable TLS + x509 certificate
# verification when allowing public access
#
vnc_listen = "0.0.0.0"

Ich habe die obige Zeile auskommentiert und neu gestartet, libvirtdum festzustellen, dass ich immer noch nicht über das Netzwerk auf VNC zugreifen konnte. Diesmal war der Täter iptables. Auf Centos habe ich system-config-firewall-tuiden VNC-Zugriff zugelassen.

Shoan
quelle
Genau das, wonach ich gesucht habe.
Heiko Rupp
Vergessen Sie nicht, Firewall-Ports auf dem KVM-Host (Hypervisor) zu entsperren, um beispielsweise auf Ihren VNC-Server zugreifen zu können firewall-cmd --permanent --add-port=5900/tcp; firewall-cmd --reload. Möglicherweise werden diese Ports auf dem KVM-Host (als LISTEN) in der Ausgabe eines Befehls netstat -pantoder geöffnet ss -pant.
Milan Kerslager
Welchen Dienst würden Sie nach dem Ändern dieser Option in qemu.conf neu starten?
Philippe Gachoud
1

Wenn Sie eine VNC an den KVM-Host senden, bedeutet dies, dass auf diesem ein X-Server ausgeführt werden sollte (auf einem Hypervisor ist dies völlig redundant, aber Sie haben die Wahl). Da Sie bereits über einen Desktop verfügen, hindert Sie nichts daran, ausgeführt zu werden virt-vieweroder virt-managerdirekt auf eine Gastkonsole zuzugreifen. Wenn die qemu-kvm-VM hingegen mit VNC-Unterstützung ausgeführt wird, können Sie einfach direkt eine Verbindung zur VNC-Konsole der VM herstellen

dyasny
quelle
Ich habe keinen X-Server auf dem KVM-Host. Sie können VMs mit vnc-Ausgabe erstellen, die den Hypervisor zwingen, einen vnc-Server zum Anzeigen der Konsole der VM zu erstellen. Dies ist sehr nützlich in Nicht-Unixy-Betriebssystemen wie Windows. Standardmäßig hört der vnc-Server jedoch nur localhost ab.
Shoan
Genau das habe ich im zweiten Teil meines Beitrags gemeint. Vermutlich hätten Sie die Frage etwas besser formulieren können, um das Problem zu lösen, dass der Standard-VNC-Listener auf localhost und nicht auf den 0.0.0.0-Catchall verweist. Dies geschieht natürlich aus Sicherheitsgründen
dyasny
Zum Zeitpunkt der Frage war es nicht offensichtlich, wonach ich suchte, bis ich die Antwort fand. Sie haben Recht, dass die Frage besser hätte sein sollen.
Shoan