首页 > 代码库 > kvm vnc的使用

kvm vnc的使用

1.宿主机的vnc(virtual Network Computing)配置

    安装rpm包

        yum install tigervnc-server -y

    为了防止干扰直接关闭防火墙和selinux

        /etc/init.d/iptables stop

        setenforce 0

    配置vnc密码和启动vncserver服务

        vncpasswd

        vncserver  


2.客户机的vnc

在qemu-kvm命令中有个参数-vnc DISPLAY,OPTION 这个参数会让qemu使用vnc而不是sdl(Simple DirectMedia Layer)

display:

    host:d 表示vnc服务监听在host:(d+5900)这个套接字上,host为空则表示监听在0.0.0.0,比如-vnc :1 则表示监听在0.0.0.0:5901上

    unix:path 用的不多,不解释(其实我也不知道..)

    none 表示vnc已经被初始化,但不启动,需要时可以在vmm中使用change vnc DISPLAY,OPTION来启动


option:

    reverse:表示反向到一个处于监听中的vnc套接字,所以,假设我们在客户端vncviewer -listen :1 ,它会告诉你它监听在某个端口,然后在宿主机上我们就可以-vnc ClientIP:port,reverse

    password:表示需要密码才能连接,具体的密码必须到vmm(qemu monitor)中使用change vnc password设置

    “tls” “x509=/path""sasl"等:安全通信相关,这里不解释

假设:

    宿主机:192.168.2.188 

    win主机:192.168.2.106

    linux主机:192.168.2.127

例子1:

在宿主机:

    qemu-system-x86_64 -m 4096 -smp 8 -net nic -net user,tftp=/root/tftp,hostfwd=tcp::5022-:22 /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.188:5907


在linux主机使用vncviewer 192.168.2.188:11807 可以正常访问

技术分享

在win主机使用vnc viewer连接会黑屏,具体原因有待研究

技术分享

例子2

在宿主机:

    qemu-system-x86_64 -m 4096 -smp 8 -net nic -net user,tftp=/root/tftp,hostfwd=tcp::5022-:22 /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.188:5907,password


在linux主机访问vncviewer 192.168.2.188:11807 提示需要密码,直接回车包认证失败错误

技术分享

解决:在宿主机的命令后面加上 -monitor stdio,然后使用change vnc password设置vnc密码

技术分享


例子3:reverse的使用

在linux主机上: vncviewer -listen :2

技术分享   

在宿主机: 

    qemu-system-x86_64  /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.127:5500,reverse

技术分享

linux主机的结果:自动弹出客户机的vnc界面

技术分享


kvm vnc的使用