Dostęp do maszyn wirtualnych KVM przez VNC bez przekierowywania portów za pomocą SSH

10

Czy można uzyskać dostęp do maszyn wirtualnych bez konieczności przekazywania zdalnego portu i VNC do hosta lokalnego? Chciałbym móc VNC do serwera KVM i zobaczyć wyświetlanie maszyn wirtualnych.

Shoan
źródło

Odpowiedzi:

12

Znalazłem odpowiedź po kilku poszukiwaniach i znalazłem następujące w /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"

Odkomentowałem powyższą linię i uruchomiłem ponownie, libvirtdaby stwierdzić, że nadal nie mogę uzyskać dostępu do VNC przez sieć. Tym razem sprawcą był iptables. Na Centos system-config-firewall-tuipozwalałem na dostęp do VNC.

Shoan
źródło
Dokładnie tego szukałem.
Heiko Rupp
Nie zapomnij odblokować zaporowych portów na hoście KVM (hypervisor), aby na przykład uzyskać dostęp do serwera VNC firewall-cmd --permanent --add-port=5900/tcp; firewall-cmd --reload. Porty te mogą być otwarte na hoście KVM (jako LISTEN) w danych wyjściowych polecenia netstat -pantlub ss -pant.
Milan Kerslager,
po zmodyfikowaniu tej opcji w qemu.conf, którą usługę zrestartujesz?
Philippe Gachoud
1

jeśli podłączasz VNC do hosta KVM, oznacza to, że powinien on mieć uruchomiony serwer X (całkowicie redundantna czynność na hiperwizorze, ale to twój wybór). Ponieważ masz już pulpit, nic nie stoi na przeszkodzie, aby uruchomić virt-viewerlub virt-manageruzyskać bezpośredni dostęp do konsoli gościa. Z drugiej strony, jeśli maszyna wirtualna qemu-kvm działa z obsługą VNC, możesz po prostu połączyć się bezpośrednio z konsolą VNC maszyny wirtualnej

dyasny
źródło
Nie mam serwera X działającego na hoście KVM. Można tworzyć maszyny wirtualne z wyjściem vnc, zmuszając hiperwizora do utworzenia serwera vnc w celu wyświetlenia konsoli maszyny wirtualnej. Jest to bardzo przydatne w systemach operacyjnych innych niż Unixy, takich jak Windows. Ale domyślnie serwer vnc nasłuchuje tylko localhost.
Shoan,
Właśnie to miałem na myśli w drugiej części mojego postu. Chyba mógłbyś sformułować pytanie nieco lepiej, aby rozwiązać problem domyślnego nasłuchiwania VNC wskazywanego na localhost, a nie na catchall 0.0.0.0. Jest to oczywiście zrobione ze względów bezpieczeństwa
dyasny
W chwili zapytania nie było oczywiste, czego szukałem, dopóki nie znalazłem odpowiedzi. Masz rację, że pytanie powinno być lepsze.
Shoan