通过VNC访问KVM虚拟机,而无需使用SSH进行端口转发


10

是否可以在不必将远程端口和VNC转发到本地主机的情况下访问VM?我希望能够VNC进入KVM服务器,并查看VM的显示。

Answers:


12

经过一番搜索,我找到了答案,并在 /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"

我对上面的行取消了注释,然后重新启动libvirtd,发现我仍然无法通过网络访问VNC。这次的罪魁祸首是iptables。在Centos上,我曾经system-config-firewall-tui允许VNC访问。


正是我想要的。
Heiko Rupp

例如,不要忘了解锁KVM主机(管理程序)上的防火墙端口,以便能够访问您的VNC服务器firewall-cmd --permanent --add-port=5900/tcp; firewall-cmd --reload。您可能会在命令netstat -pant或的输出中看到这些端口在KVM主机上打开(如LISTEN)ss -pant
米兰·科尔斯拉格

在将该选项修改为qemu.conf后,您将重新启动什么服务?
菲利普·加乔德

1

如果将VNC连接到KVM主机,则意味着它应该正在运行X服务器(在虚拟机管理程序上完全多余的事情,但这是您的选择)。由于您已经有了台式机,因此没有什么可以阻止您运行virt-viewervirt-manager直接访问来宾控制台。另一方面,如果qemu-kvm虚拟机运行时具有VNC支持,则可以直接直接连接到虚拟机的VNC控制台


我没有在KVM主机上运行X服务器。您可以使用vnc输出创建虚拟机,从而强制管理程序创建vnc服务器以查看虚拟机的控制台。这在Windows等非unixy操作系统中非常有用。但是默认情况下,vnc服务器仅侦听localhost。
Shoan 2011年

这正是我在帖子的第二部分中所说的。猜猜您可以更好地解决这个问题,以解决默认VNC侦听器指向localhost而不是0.0.0.0 catchall的问题。这当然是出于安全原因
dyasny 2011年

在发问时,直到找到答案,我才一直在寻找什么。您是对的,这个问题应该更好。
Shoan 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.