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