Accedi alle macchine virtuali KVM tramite VNC senza port forwarding con SSH


10

È possibile accedere alle macchine virtuali senza inoltrare la porta remota e VNC all'host locale? Mi piacerebbe essere in grado di VNC nel server KVM e vedere il display delle VM.

Risposte:


12

Ho trovato la risposta dopo alcune ricerche e ho trovato quanto segue 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"

Ho decommentato la riga precedente e libvirtdho riavviato per scoprire che non ero ancora in grado di accedere a VNC sulla rete. Questa volta il colpevole era iptables. Su Centos, system-config-firewall-tuiconsentivo l'accesso a VNC.


Esattamente quello che stavo cercando.
Heiko Rupp,

Non dimenticare di sbloccare le porte firewall sull'host KVM (hypervisor) per poter accedere al tuo server VNC, ad esempio firewall-cmd --permanent --add-port=5900/tcp; firewall-cmd --reload. Potresti vedere queste porte aperte sull'host KVM (come ASCOLTA) nell'output di un comando netstat -panto ss -pant.
Milan Kerslager,

dopo aver modificato quell'opzione in qemu.conf quale servizio riavvieresti?
Philippe Gachoud,

1

se esegui il VNC sull'host KVM, significa che dovrebbe avere un server X in esecuzione (cosa completamente ridondante da fare su un hypervisor, ma questa è la tua scelta). Dal momento che hai già un desktop, non c'è nulla che ti impedisca di eseguire virt-viewero virt-managerdi accedere direttamente a una console ospite. D'altra parte, se la VM qemu-kvm è in esecuzione con supporto VNC, puoi semplicemente connetterti direttamente alla console VNC della VM


Non ho un server X in esecuzione sull'host KVM. È possibile creare VM con output vnc forzando l'hypervisor a creare un server vnc per visualizzare la console della VM. Questo è molto utile in sistemi operativi non unxy come Windows. Ma per impostazione predefinita il server vnc ascolta solo localhost.
Shoan,

Questo è esattamente ciò che intendevo nella seconda parte del mio post. Immagino che avresti potuto formulare la domanda un po 'meglio, per affrontare il problema del listener VNC predefinito indirizzato a localhost e non alla catchall 0.0.0.0. Questo è ovviamente fatto per motivi di sicurezza
dyasny il

Al momento della domanda, non era ovvio quello che stavo cercando fino a quando non ho trovato la risposta. Hai ragione, che la domanda avrebbe dovuto essere migliore.
Shoan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.