运行在Linux主机上较旧的KVM版本无法提供简单的创建桥接网络接口的方法。幸运的是,你可以在Red Hat Enteprise Linux 6.3中手动执行这一操作步骤。
KVM基础设施网络
大多数虚拟基础设施使用四种网络,但是KVM基础设施通常不包括这四种网络类型中的桥接网络。
第一种网络类型是网络地址转换(NAT),用于在NAT之后安装虚拟机。如果虚拟机必须访问互联网但是该虚拟机并不需要被外部访问那么NAT非常有效。如果你想在虚拟机上提供公共服务那么NAT并不是理想的选择。
第二种网络类型是路由网络,用于在专用网络上安装虚拟机。流量将会在主机网络以及虚拟网络之间进行路由。第三种类型是仅主机网络,允许你在安全以及隔离的环境中进行功能测试。
最后,桥接网络的优势是允许虚拟机访问运行该虚拟机的物理主机所在的物理网络。
如何创建桥接网络接口
在创建桥接网络接口前,首先需要准备物理主机。不同Linux发行版的配置过程有所不同,以下步骤在RHEL 6.3下经过了验证:
1. 在Linux主机上,使用service NetworkManager stop命令停止网络管理器,然后使用chkconfig NetworkManager off命令禁止网络管理器开机自动启动。
2. 修改网络配置。创建文件/etc/sysconfig/network-scripts/ifcfg-br0然后输入如下内容创建一个虚拟桥接网络接口(一定要将示例中的IP地址修改为实际网络环境中的地址):
DEVICE="br0"
TYPE=Bridge
DELAY=0
ONBOOT=YES
BOOTPROTO=static
IPADDR=10.0.0.10
NETMASK=255.255.255.0
NETWORK=10.0.0.0
GATEWAY=10.0.0.1
NM_CONTROLLED=no
DNS1=10.0.0.1
PEERDNS=yes
3. 修改控制物理网卡的配置文件。通常是/etc/sysconfig/network-scripts/ifcfg-eth0,但是该文件名取决于网络配置。如果你不确定,可以输入ip link show命令查找Linux主机正在使用的网络接口。物理网卡成为了桥接网络接口的下级,因此物理网卡的配置文件应该包括如下内容:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
输入service network restart命令重启网络。此时,输入ip link show命令将会显示虚拟桥接。你还可以使用brctl show命令显示Linux主机上的桥接拓扑。拓扑显示正常的物理网卡现在是桥接配置的一部分。然后你可以在主机上安装虚拟机,虚拟机将会自动绑定你已经创建的桥接网卡。