个人工具
登录
查看“Kvm 网络桥接方案”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Kvm 网络桥接方案”的源代码
来自Ubuntu中文
←
Kvm 网络桥接方案
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
下面介绍配置KVM桥接网络的方法: \\特别注意,大部分不能桥接无线网卡。。。只能桥接PCI网卡。。。。<br>安装桥接工具: 代码: sudo apt-get install bridge-utils 安装创建TAP界面的工具: 代码: sudo apt-get install uml-utilities 编辑网络界面配置文件 <br>代码: sudo vi /etc/network/interfaces<br> ,根据你的情况加入以下内容: 代码: auto eth0<br>iface eth0 inet static \\这里可以为DHCP<br>address 192.168.1.2<br>netmask 255.255.255.0<br>gateway 192.168.1.1 或使用最保守的eth0配置:<br> auto eth0<br>iface eth0 inet manual auto tap0<br>iface tap0 inet manual<br>up ifconfig $IFACE 0.0.0.0 up<br>down ifconfig $IFACE down<br>tunctl_user lm \\lm是我的用户名,在这里换为你的用户名 auto br0<br>iface br0 inet static \\当然这里也可以使用DHCP分配<br>bridge_ports eth0 tap0<br>address 192.168.1.3<br>netmask 255.255.255.0<br>network 192.168.1.0<br>broadcast 192.168.1.255<br>gateway 192.168.1.1 <br>激活tap0和br0: //有些时候会不奏效,但重启后就行了 代码: sudo /sbin/ifup tap0<br>sudo /sbin/ifup br0 好了以后ifconfig看一下,多了一个tap0和br0, br0上的IP地址就是你本机的IP地址。 KVM的使用方法:<br>KVM的使用方法具体可以参考 代码:<br>/usr/local/kvm/bin/qemu-system-x86_64 --help 下面具体举几个例子:<br>创建虚拟磁盘(用qemu-img命令): 代码: mkdir kvm<br>cd kvm<br>/usr/local/kvm/bin/qemu-img create -f qcow2 winxp.img 10G 创建虚拟机: 代码: sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -clock rtc -soundhw es1370 这里对各个参数说明一下: 代码: -m 512 分配512MB的内存给GUEST OS 代码: -hda /home/lm/kvm/winxp.img 使用虚拟磁盘的文件和路径 代码: -localtime 使用本地时间(一定要加这个参数,不然虚拟机时间会有问题) 代码: -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no 使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了 代码: -boot d 从光盘启动 (从硬盘启动则为 -boot c ) 代码: -cdrom /home/lm/iso/winxp.iso 使用的光盘镜像,如果要使用物理光驱的话就是 -cdrom /dev/cdrom 代码: -smp 2 smp处理器个数为2个,如果你是4核处理器,后面的数字就为4(如果不开启此选项,则只能以单核模式运行) 代码: -clock rtc 使用rtc时钟(如果不开启此选项,WINXP可能会很慢) 开始启动装系统了吧?是不是非常的快?如果你机器可以的话大概在15分钟左右就把XP装好了。<br>启动装好的虚拟机(很简单,上面的命令改两个参数就行): 代码: sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370 然后在客户端里设置好IP地址就可以使用了,但是KVM的显卡能力不行,可以通过rdesktop远程连接解决(客机转发IP设为br0指定的gw的IP) 代码1: rdesktop 192.168.1.1:3389 -u administrator -p ****** -g 1280x750 -D -r sound:local \\分辨率可以自行设定,是不是比VirtualBox的无缝连接模式要爽?? 代码2: rdesktop localhost -u 客机用户名 -p 客机用户密码 -g 1024x768 -z -D -N -k en-us -r clipboard:PRIMARYCLIPBOARD -r sound:local<br> 使用远程时给kvm加上-redir tcp:3389::3389 把客机的3389端口映射到宿主机上使用localhost即可远程连接,如:<br>sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370 -redir tcp:3389::3389<br> 注1:把用户加入uml-net组,否则有可能会遇到could not open /dev/net/tun: no virtual network emulation这是无/dev/net/tun读写权限造成的,如无tun.ko则编译内核。make menuconfig选择network device support->universal TUN/TAP device driver support;dummy network driver support;bonding driver support(同时设为M);若ls /dev/net/tun有返回信息则 sudo chmod o+rw(或0666) /dev/net/tun。<br>加入uml-net组代码:<br>$sudo useradd <userid> uml-net<br><br>这样就可以实现KVM虚拟机给宿主机做IP转发了。 补充:<br>如果同时运行多个GUEST OS ,则网络设置要改一下,在/etc/network/interfaces 里加几个tap界面就行了,每个GUEST OS单独使用一个TAP,比如说现在要同时运行3个GUEST OS ,则配置文件如下: 代码: auto tap0<br>iface tap0 inet manual<br>up ifconfig $IFACE 0.0.0.0 up<br>down ifconfig $IFACE down<br>tunctl_user lm \\lm是我的用户名,在这里换为你的用户名 auto tap1<br>iface tap1 inet manual<br>up ifconfig $IFACE 0.0.0.0 up<br>down ifconfig $IFACE down<br>tunctl_user lm \\lm是我的用户名,在这里换为你的用户名 auto tap2<br>iface tap2 inet manual<br>up ifconfig $IFACE 0.0.0.0 up<br>down ifconfig $IFACE down<br>tunctl_user lm \\lm是我的用户名,在这里换为你的用户名 auto br0<br>iface br0 inet static \\当然这里也可以使用DHCP分配<br>bridge_ports eth0 tap0 tap1 tap2<br>address 192.168.1.3<br>netmask 255.255.255.0<br>network 192.168.1.1<br>broadcast 192.168.1.255<br>gateway 192.168.1.1 <br>启动GUEST OS 代码: sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370 把ifname=tap0换为你要tap1或者tap2就行了,MAC也要改噢。。 要注意,系统重启后要重新加载kvm内核模块: 代码: sudo modprobe kvm<br>sudo modprobe kvm-amd //如果使用AMD处理器<br>sudo modprobe kvm-intel //如果是用INTEL处理器 当然,你也可以修改系统相关设置在启动时自动加载该模块。<br>同理,可以用此方法安装LINUX。装完了可以对比一下,是不是比VB和VM要爽得多呢? 其他比如像USB连接问题可以参考论坛里的帖子 但是现在KVM还有很多的缺点,我还没有成功在KVM上安装SOLARIS系统(可能时钟不同步导致),还有有些时候WINDOWS在KVM里会有系统时钟不同步的问题(会导致WINDOWS GUEST运行很慢)。 我已经在我的系统里同时运行了4个CentOS 4.6 1个winxp sp3 1个win2003 sp2 5个FreeBSD 7.0<br>速度太快了,难以置信。<br>系统配置为:Athlon X2 5000+ 4G RAM 跑的Ubuntu 8.04.1 64bit 其实KVM的安装和使用都很方便简单的,大家要理解KVM各个参数的含义。最关键的就是KVM的网络桥接的设置,参考了网上很多的东西都没有效果,最终还是参考了VIRTUALBOX的官方的用户使用文档的网络桥接设置部分才成功的,在这里大家要多看软件自身的文档,会有很大的帮助。<br>
返回至
Kvm 网络桥接方案
。