Ubuntu12.04配置KVM,使用网卡桥接模式。

        以前因为Ubuntu Server 做 kvm 没有解决网卡桥接,就改了Centos6。Centos6配置桥接倒是比较容易,对 Virtual Machine Manager支持也很好,但是偏偏只能用root管理虚拟机,这非常不理想。

成都创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为七台河企业提供专业的成都做网站、成都网站制作,七台河网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

        现在重新尝试配置Ubuntu Server 网卡桥接,发现其实很简单

 1.  安装

最小安装Ubuntu Server 12.04,只启用OPEN SSH。装好后:
superv@kvmserver:~$ sudo apt-get update ; sudo apt-get upgrade -y
superv@kvmserver:~$ sudo apt-get install bridge-utils kvm libvirt-bin
[sudo] password for superv: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  cgroup-lite cpu-checker DNSmasq-base ebtables gawk kvm-ipxe libaio1
  libapparmor1 libasound2 libasyncns0 libavahi-client3 libavahi-common-data
  libavahi-common3 libcaca0 libflac8 libjson0 libnetfilter-conntrack3 libnspr4
  libnss3 libnuma1 libogg0 libpulse0 librados2 librbd1 libsdl1.2debian
  libsigsegv2 libsndfile1 libvirt0 libvorbis0a libvorbisenc2 libxenstore3.0
  libxml2-utils libyajl1 msr-tools qemu-common qemu-kvm qemu-utils seabios
  vgabios
建议安装的软件包:
  libasound2-plugins libasound2-python pulseaudio policykit-1 radvd
  mol-drivers-macosx openbios-sparc ubuntu-vm-builder uml-utilities
下列【新】软件包将被安装:
  bridge-utils cgroup-lite cpu-checker dnsmasq-base ebtables gawk kvm kvm-ipxe
  libaio1 libapparmor1 libasound2 libasyncns0 libavahi-client3
  libavahi-common-data libavahi-common3 libcaca0 libflac8 libjson0
  libnetfilter-conntrack3 libnspr4 libnss3 libnuma1 libogg0 libpulse0
  librados2 librbd1 libsdl1.2debian libsigsegv2 libsndfile1 libvirt-bin
  libvirt0 libvorbis0a libvorbisenc2 libxenstore3.0 libxml2-utils libyajl1
  msr-tools qemu-common qemu-kvm qemu-utils seabios vgabios
升级了 0 个软件包,新安装了 42 个软件包,要卸载 0 个软件包,有 3 个软件包未被升级。
需要下载 11.5 MB 的软件包。
解压缩后会消耗掉 39.9 MB 的额外空间。
您希望继续执行吗?[Y/n]n
 
......
 
 
 
2. 用虚拟系统管理器(Virtual Machine Manager)测试连接,得到错误提示:

Unable to connect to libvirt:

End of file while reading data: : 输入/输出错误
Verify that:
 - The 'libvirt-bin' package is installed
 - The 'libvirtd' daemon has been started
 - You are member of the 'libvirtd' group

 

检查一下,然后新建一个帐号:

 

superv@kvmserver:~$ sudo service libvirt-bin status
libvirt-bin start/running, process 2487

superv@kvmserver:~$ sudo adduser vmuser
正在添加用户"vmuser"...
正在添加新组"vmuser" (1001)...
正在添加新用户"vmuser" (1001) 到组"vmuser"...
创建主目录"/home/vmuser"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd: password updated successfully
Changing the user information for vmuser
Enter the new value, or press ENTER for the default
Full Name []: vmuser
Room Number []: 
Work Phone []: 
Home Phone []: 
Other []: 
这些信息是否正确? [Y/n] y
 
superv@kvmserver:~$ sudo usermod -aG libvirtd vmuser
 
superv@kvmserver:~$ groups vmuser
vmuser : vmuser libvirtd

 

 
3. 配置桥接
编辑 /etc/network/interfaces
将默认的eth0改为 br0,再增加几行bridge指令,编辑好的文件如下:

auto lo

iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off
dns-nameservers 202.106.196.115
 

 

 
重启网络,用brctl show 指令查询已建立的网桥,并查看ifconfig信息,我们注意到eth0已经没有IP地址了。
注意,virbr0是安装kvm时系统建立的,为NAT网络专用,跟我们要使用的桥接完全不同。

 

superv@kvmserver:~$ sudo /etc/init.d/networking restart

superv@stack3650a:~$ brctl show
bridge namebridge id STP enabledinterfaces
br0 8000.001a64c5efb4no eth0
virbr0 8000.000000000000yes

superv@kvmserver:~$ ifconfig
br0       Link encap:以太网  硬件地址 00:1a:64:c5:ef:b4  
          inet 地址:192.168.0.10  广播:10.34.67.255  掩码:255.255.255.0
          inet6 地址: fe80::21a:64ff:fec5:efb4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:3316 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:2608 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0 
          接收字节:528299 (528.2 KB)  发送字节:646207 (646.2 KB)

eth0      Link encap:以太网  硬件地址 00:1a:64:c5:ef:b4  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:27844 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:20396 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000 
          接收字节:14423283 (14.4 MB)  发送字节:3709218 (3.7 MB)
          中断:16 Memory:ce000000-ce012800 

lo        Link encap:本地环回  
          inet 地址:127.0.0.1  掩码:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  跃点数:1
          接收数据包:3 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:3 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0 
          接收字节:290 (290.0 B)  发送字节:290 (290.0 B)

virbr0    Link encap:以太网  硬件地址 fa:5b:77:83:32:0f  
          inet 地址:192.168.122.1  广播:192.168.122.255  掩码:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  跃点数:1
          接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:0 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0 
          接收字节:0 (0.0 B)  发送字节:0 (0.0 B)

 

 
 
4.我们用虚拟系统管理器打开Ubuntu Server。
Ubuntu12.04 配置KVM,使用网卡桥接模式。
 
 
 
双击服务器,打开详细信息,在“网络接口”部分看到这样一个提示。。。
Ubuntu12.04 配置KVM,使用网卡桥接模式。
 
在Centos6里面,这里可是有完整的网络配置功能的呀。
 
怎么弄呢?搜索了很多,没有找到合适的解决办法。这时候我们发扬了不撞南墙不回头的精神,装一个虚拟机试试!
嘿嘿,安装到第四步的时候,乐了,很简单嘛,桥已经好用了,在等着你呢。Ubuntu12.04 配置KVM,使用网卡桥接模式。
Ubuntu12.04 配置KVM,使用网卡桥接模式。
 
 
 
5. 就这样按部就班,装好了一台,再把原来Centos下的磁盘镜像复制过来,直接“Import existing disk p_w_picpath”,齐活儿。而且,更令人欣喜的是,安装Windows虚拟机也非常成功,控制台图形性能没有任何问题,比Centos强。
 
复制光盘、磁盘镜像指令:

superv@kvmserver:/opt/iso# sudo scp root@192.168.0.9:/isoimg/*.* .
superv@kvmserver:/opt/iso# sudo scp root@192.168.0.9:/kvmimg/*.* .

 
 

参考

https://help.ubuntu.com/12.04/serverguide/libvirt.html
https://help.ubuntu.com/12.04/serverguide/network-configuration.html#bridging
 
 
 
 
 

 


本文题目:Ubuntu12.04配置KVM,使用网卡桥接模式。
本文链接:http://scyanting.com/article/ieoege.html