CentOS/Redhat:KVM桥接网络配置

时间:2020-01-09 10:43:26  来源:igfitidea点击:

通过桥接网络,您可以与KVM计算机共享实际的网络设备。
对于具有多个网卡的服务器,这是必需的,它可以为您提供良好的性能。
您可以选择将多个网段放入一个桥接网络中,也可以将其分成由路由器互连的不同网络。

拓扑

下面介绍了我们的设置使用的网络:

+------+       +-----+
LAN      -->	| eth0 |   | br0 |       -> KVM VMs connected to LAN for SAN/NFS
		+------+       +-----+
                               10.10.x.y/24 

		+------+       +-----+
Internet -->	| eth1 |   | br1 |       -> KVM VMs connected to the Inernet
		+------+       +-----+
                               123.1.2.0/28

其中:

  • 其他所有客户端都可以通过连接到公共接口的br1到达所有VM。 br1是我们的默认网关。
  • br0连接到专用LAN,以访问其他服务器,服务和存储设备,例如SAN/NAS或者NFS服务器。 br0路由是通过route-br0静态网络配置文件配置的。

关闭NetworkManager

NetworkManager(GUI)工具可能会在基于桥接的网络中造成问题,因此请按以下步骤禁用它,执行:

# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop

编辑/etc/sysconfig/network,执行:

# vi /etc/sysconfig/network

更新文件如下:

NETWORKING=yes
HOSTNAME=kvm42.theitroad.net
GATEWAY=br1

保存并关闭文件。

br0:为eth0配置桥接

编辑/etc/sysconfig/network-scripts/ifcfg-eth0,执行:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

如下更新:

 
DEVICE=eth0
ONBOOT=yes
ETHTOOL_OPTS="autoneg off speed 100 duplex full"
BRIDGE=br0
HWADDR=b8:ac:6f:65:31:e5

保存并关闭文件。
创建/etc/sysconfig/network-scripts/ifcfg-br0,执行:

# vi /etc/sysconfig/network-scripts/ifcfg-br0

如下更新(注意选项区分大小写,即Bridge和Bridge是两个不同的选项)

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.21.70
NETMASK=255.255.255.192
DELAY=0

保存并关闭文件。
最后,创建静态路由文件/etc/sysconfig/network-scripts/route-br0,执行:

# vi /etc/sysconfig/network-scripts/route-br0

对其进行如下编辑:

10.0.0.0/8 via 10.10.21.122 dev br0

保存并关闭文件。
删除旧的/etc/sysconfig/network-scripts/route-eth0(如果存在):

# rm /etc/sysconfig/network-scripts/route-eth0

br1:为eth1配置桥接

编辑/etc/sysconfig/network-scripts/ifcfg-eth1,执行:

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

如下更新:

 
DEVICE=eth1
ONBOOT=yes
ETHTOOL_OPTS="autoneg off speed 100 duplex full"
BRIDGE=br1
HWADDR=00:30:49:8c:48:ad

请注意,测试服务器设置为100Mbps全双工。
保存并关闭文件。
编辑/etc/sysconfig/network-scripts/ifcfg-br1,执行:

# vi /etc/sysconfig/network-scripts/ifcfg-br1

定义公共IP地址(包括网关),如下所示:

DEVICE=br1
BOOTPROTO=static
ONBOOT=yes
IPADDR=123.1.2.3
NETMASK=255.255.255.248
GATEWAY=123.1.2.200
TYPE=Bridge
DELAY=0

保存并关闭文件。

重新启动网络服务

执行以下命令:

# service network restart

确保一切正常:

# brctl show

输出示例:

bridge name	bridge id		STP enabled	interfaces
br0		8000.0030488e31ac	no		eth0
br1		8000.0030488e31ad	no		eth1
virbr0		8000.000000000000	yes

验证IP和路由表:

# ip addr show br0
# ip addr show br1
# ip route
# ping theitroad.local
# host google.com