分类
vps综合利用

在Debian 中安装 KVM 并设置桥接网络

在Debian 中安装 KVM 并设置桥接网络

环境:Win 7 中安装WMWare 8.0; WMWare 中安装Debian 6.0;Debian中安装qemu-kvm; qemu-kvm中安装Gentoo (如下图所示)

桥接:桥接可以让Guest OS (KVM中的OS)和Host OS(此处是Debian)位于同一局域网内,并且可以和局域网内其他PC相互通信。

一. 加载kvm模块

  1. # modprobe kvm  
  2. # modprobe kvm_amd   #intel CPU 是 kvm_intel  

由于实验环境是WMWare,硬件(CPU)是虚拟化出来的,所以下面这条命令会出错:


不管了,无视此错误,直接跳过 !

二. 安装qemu工具

  1. # apt-get install qemu-kvm    #如下图所示  

安装过程结束时报错了,继续无视跳过!(qemu 是 KVM 在用户空间到管理工具,不安装qemu-kvm则无法使用相关命令)

三. 安装桥接网络的工具

  1. # apt-get install bridge-utils  
  2. # apt-get install uml-utilities  (命令#tunctl要使用)  


四. 配置网络

  1. # vi /etc/network/interfaces  
  2. #编辑文件内容如下  
  3. auto lo  
  4. iface lo inet loopback  
  5.   
  6. auto br0  
  7. iface br0 inet static #dhcp  
  8. bridge_ports eth0  
  9. address 192.168.1.39  
  10. netmask 255.255.255.0  
  11. gateway 192.168.1.6  
  12. #bridge_stp     off  
  13. #bridge_maxwait 0  
  14. #bridge_fd      0   (不知道这三行有何用,直接注释掉了)   

五. restart the network(重启网络看看OK不?)

  1. # /etc/init.d/networking restart  
如果和下图差不多,那就OK了 

六. 加载TUN/TAP模块并设置桥接口

  1. # modprobe tun  
  2. # tunctl   #创建虚拟网卡tapX (X代表数字0,1,2…本文使用的是tap0)  
  3.   
  4. # brctl addif br0 tap0   #将上一步创建的 tapX 加入网桥 br0  
  5. # ifconfig tap0 promisc up    #启用tapX 并设置为promisc 模式  

下图是Debian的详细网络情况


七. 创建虚拟硬盘,安装系统

  1. #kvm-img create disk.img 4G  #真实系统(非虚拟机中)可能是qemu-img命令  
  2.   
  3. #kvm -cdrom xp.iso -hda disk.img -boot d #无网络“开机”并从xp.iso启动,安装系统  
  4. 或者使用下条命令联网安装系统,非dhcp需配置网络:IP,DNS,Gateway…   
  5. #kvm -cdrom xp.iso -hda disk.img -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no -boot d  

接下来就进入安装界面了,这里不再赘述,需要自己配置网络:IP,DNS,Gateway… (下图是我的kvm启动界面)


进入kvm虚拟机(这里是Gentoo ),配置网络后可以联网(见下图,192.168.1.6是我Win 7 系统IP,整个宿舍其它PC的网关)


OK,在KVM虚拟机Gentoo中已经可以ping通baidu.com, 大功告成 !

八. 用以安装了系统的disk.img启动虚拟机,并启用桥接网络

  1. #kvm -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no disk.img  

注:tapX对应于第6步建的tapX, 如需创建多台guest OS,重复步骤6,7,8 即可。qemu-kvm 参数较多,如后台运行虚拟机,用vnc远程连接等方法请参考响应文档,例如man

总结:以前听人说过虚拟机中不可以继续虚拟机,后来google了下说是可以,今天证明了确实可以!只不过是在WMWare中KVM罢了

引自 http://blog.csdn.net/cenziboy/article/details/6957890