XEN VNC设置

1使用VNC的优势

        在使用VNC进行远程连接之前,我们尝试过使用windows自带的远程连接程序mstsc.exemstsc.exe由于是windows自带,所以当连接双方均是windows时,不需要使用任何的第三方工具,只要进行正确的设置,即可进行远程连接。但使用mstsc.exe程序存在很多的不足,主要是如下几个方面:

⑴连接的双方必须都是windows系统。

mstsc.exe是不开源的程序。

⑶使用mstsc.exe要进行比较复杂的防火墙、杀毒软件等的设置。

⑷当有用户远程连接了一台电脑后,被连接的电脑将被挤出登陆。这样被连接方,不能看到远程连接用户对自己的电脑做了什么。

而对于我们设计的系统而言,它的不足体现在下面的几个方面:

⑴无法看到domU的开机画面和关机画面,因为mstsc.exe只有在domU开机后才能运行,关机前会关闭。

⑵使用mstsc.exe会使我们的服务器端的代理程序变得复杂,因为必须另写程序通知代理程序domU已经开机完毕。

 

对于以上的这些问题。使用VNC进行远程连接,均可解决。具体而言,vnc的优势如下:

VNC通用性强,几乎可运行在所有的操作系统上,无论是windowslinuxunix,还是macVNC都有其对应的版本。

VNC是开源可控的程序。VNC由由著名的 AT&T的欧洲研究实验室开发的,并开源了十多年,经过各方修改和发生,保证了VNC的安全性和稳定性。

⑶使用VNC不需要经过复杂的设置,被连接方打开VNCServer,并为其设置密码和端口,连接方使用VNCViewer,输入IP端口和密码后即可进行连接。

⑷画面实时同步显示,双方可同时对电脑进行操作,可以看到对方对电脑做了什么,任何时候,任一方均可断开连接。

VNC自带了数据的传输加密功能,不过该功能我们的系统没有用到,我们使用的是我们自己的代理程序进行的可控的传输加密。

对于我们的系统,我们使用VNC可以得到如下的好处:

⑴客户端可以看到domU的开机画面和关机画面。

⑵使服务器的代理程序变得简单,只要连接建立后,就进行加密转发,而不再需要判断domU是否开启完毕。

domU可以安装任何的操作系统,而不仅限于windows,我们的程序都不需要做任何的更改。做到了domU操作系统无关性。

 

2  VNC使用方法及其配置

VNC按功能分成两类,VNCServerVNCViewer,使用时被连接方打开VNCServer并为其设置端口的密码,连接方打开VNCViewer输入正确的IP、端口和密码后即可建立连接。

由于Xen集成了VNCServer的功能,它为VNC提供了相应的接口,这里我们将其命名为XenVNC。要想使用VNCViewer连接XenVNC我们只需要对Xen及其相应domU的配置文件进行修改即可。

在相应domU配置文件中加入如下的两句话:

vnc=1

vfb= ['type=vnc,vncdisplay=95,vnclisten=0.0.0.0']

在这里我们设置连接domU时使用的端口号为95,由于XenVNC是从5900开

始的,所以远程连接时,VNCViewer实际要使用5995端口。这里我们没有设置密码,使用下面的语句可为其设置密码123456:

vfb= ['type=vnc,vncdisplay=95,vncpasswd=123456,vnclisten=0.0.0.0']

 

要想使用Xen的VNC功能,必须修改Xen的配置文件使其支持VNC。

使用命令:vim /etc/xen/xend-config.sxp打开该配置文件,也可以使用其它编辑器。

找到下面三行,修改或取消其解释(删掉该行前面的‘#’),也可以直接在其中加入下面两行:

(vnc-listen '0.0.0.0')

(vnc-passwd 'goodluck')

修改保存退出后,重启xen服务即可生效,重启使用命令:

service xend start

这里我们设置'0.0.0.0'表示,任何IP的VNCViewer都可连接domU,如果domU没有设置密码,使用默认密码'goodluck'。

服务器完成这些设置后,则可以进行远程连接了。VNC的版本有很多,经过多次测试,最终选择tightVNV进行远程连接。连接方打开VNCViewer,单击选项后,设置首远编码为RAW,输入正确的IP和端口(在上面的配置文件中应该是IP:5995)后,若有密码会提示输入。都输入正确后,远程连接就建立了。

 

最后附上一个我能够使用的配置文件的例子:

import os, re
 arch = os.uname()[4]
 if re.search('64', arch):
    arch_libdir = 'lib'
 #    arch_libdir = 'lib64'
 else:
    arch_libdir = 'lib'
 
kernel = '/usr/'+ arch_libdir +'/xen/boot/hvmloader'
 builder='hvm'
 memory=512
 shadow_memory = 8
 name="test_program"
 vif = ['bridge=virbr0']
 #vif = [ 'mac=00:16:36:60:56:30,ip=192.168.122.6' ]
 dhcp="off"
 disk = [
 'tap:aio:/home/xen/images/test_program.img,hda,w'
 ]
 boot = "c"
 #boot = "dc"
 device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
 vnc=1
 vfb = [ 'type=vnc,vncdisplay=90,vncpasswd=123456' ]
 #vnc=1
 #vncviewer=0
 #vncunused=1
 #vncpasswd='123456'
 #vnclisten='0.0.0.0'
 #vncdisplay=90
 serial='pty'
 sdl=1
 usb=1
 usbdevice='tablet'
 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值