hello world!
分类: LINUX
2013-05-28 15:39:34
原文路径:http://blog.sina.com.cn/s/blog_53923f940100x1b1.html
使用 virt-manager 图形工具创建 kvm guests 时,会发现无法使用桥接网络(bridged networking)。看完这篇文章将帮你搞定这个问题。
1. 配置桥接
对于使用 virt-manager 安装 qemu/kvm 实例, 缺省桥接网卡缺省应命名为 vnet0 vnet1 ,首先安装需要的包,并启动 libvirtd 服务:
yum install kvm qemu python-virtinst libvirt libvirt-python virt-manager
service libvirtd start
然后执行以下命令,会看到
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
接下来是配置 vnet0 作为桥接网卡
vi /etc/sysconfig/network-scripts/ifcfg-vnet0
内容应该类似如下
DEVICE=vnet0
BOOTPROTO=none
ONBOOT=yes
IPADDR=221.248.48.215
NETMASK=255.255.255.192
GATEWAY=221.248.48.193
TYPE=Bridge
注意,vnet0里边的ip、netmask、gateway应当与 eth0 中的完全相同,这是因为马上 vnet0 将会替代 eth0 作为对外的网络接口,而eth0仅仅会被当做桥接,失去对外网络接口的作用。然后,请启动 vnet0 接口:
ifup vnet0
2. 将物理接口添加到桥接中
接下来,要让物理接口(eth0)使用vnet0作为桥接。运行如下命令
# brctl addif vnet0 eth0
然后验证一下是否成功,再次运行 brctl show:
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
vnet0 8000.0019b97ec863 yes eth0
接下来要修改 eth0 的配置文件。这个配置文件应该一早就存在,编辑一下。
vi /etc/sysconfig/network-scripts/ifcfg-vnet0
只需要增加一行 BRIDGE=vnet0 看起来应该如下
# Intel Corporation82574LGigabit Network Connection
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:25:90:62:02:86
ONBOOT=yes
IPADDR=221.248.48.215
NETMASK=255.255.255.192
GATEWAY=221.248.48.193
TYPE=Ethernet
BRIDGE=vnet0
3. 重新启动网络服务
# service network restart
Shutting down interface vnet0: [ OK ]
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
Bringing up interface vnet0: [ OK ]
执行完毕后,eth0的桥接就完成了. 现在再看看 brctl show
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
vnet0 8000.002590620286 no vnet1
eth0
4. 在 Virt-Manager 中使用桥接服务
运行 virt-manager 到了网络那一步的时候,就可以使用桥接网卡了。下面是你会看到的屏幕截图。不需要指定 MAC 地址,除非需要做某些类型的静态绑定。
接下来安装并启动 kvm guest 你就可以使用跟宿主机一样的网络去配置了.
总结
在 virt-manager 中直接使用桥接网络比通过命令行以及启动脚本去配置要简单得多。除了以上的步骤之外,由 virt-manager 搞定一切细节。