欢迎光临
我们一直在努力

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

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

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

1. 安装

最小安装Ubuntu Server 12.04,只启用OPEN SSH。装好后:

~$ sudo apt-get update ; sudo apt-get upgrade -y
~$ 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 defau
lt 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 idSTP enabledinterfaces br08000.001a64c5efb4noeth0 virbr08000.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。 双击服务器,打开详细信息,在“网络接口”部分看到这样一个提示。。。 在Centos6里面,这里可是有完整的网络配置功能的呀。 怎么弄呢?搜索了很多,没有找到合适的解决办法。这时候我们发扬了不撞南墙不回头的精神,装一个虚拟机试试!

嘿嘿,安装到第四步的时候,乐了,很简单嘛,桥已经好用了,在等着你呢。

5. 就这样按部就班,装好了一台,再把原来Centos下的磁盘镜像复制过来,直接“Import existing disk image”,齐活儿。而且,更令人欣喜的是,安装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

本文出自 “An old newbie” 博客,请务必保留此出处http://panblack.blog.51cto.com/2980687/897424

赞(0) 打赏
未经允许不得转载:NixonLi博客 » Ubuntu12.04 配置KVM,使用网卡桥接模式

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏