网络接口配置-bonding
Bonding就是 将多块网卡绑定同一IP 地址对外提供服务,可以实现高
可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址
是不可能的。通过bonding ,虚拟一块网卡对外提供连接,
物理网卡的被修改为相同的MAC 地址。
Bonding 工作模式
1. Mode 0 (balance-rr)
轮转(Round-robin )策略:从头到尾顺序的在每一个slave
接口上面发送数据包。本模式提供负载均衡和容错的能力
2. Mode 1 (active-backup)
活动- 备份(主备)策略:只有 一个slave被激活,当且仅当活动
的slave 接口失败时才会激活其他slave。 。 为了避免交换机发生混
乱此时绑定的MAC 地址只有一个外部端口上可见
3. Mode 3 (broadcast)
广播策略:在 所有的slave 接口上传送所有的 报文, 提供容错能力
4. active-backup 、balance-tlb 和 和 balance-alb 模式不需要
交换机的任何特殊配置。其他绑定模式 需要配置 交换机以便
整合链接 。如:Cisco 式 交换机需要在模式 0 、2 和 和 3 中使用
EtherChannel ,但在 模式4中 中要 需要 LACP和 和 EtherChannel
Mode 1 (active-backup) 实验
步骤一:添加两台主机,一台centos7.3做测试,网卡模式为仅主机。一台centos6.9做服务端,两张网卡,为了能够让两台主机通讯,也设置成仅主机模式。
步骤二:为centos7.3设置仅主机模式
步骤三:设置centos6.9两块网卡为仅主机模式
步骤四:配置centos6.9主机的模式1
- cd /etc/sysconfig/network-scripts/目录,新建一个ifcfg-bond0网卡,配置如下:
- 分别配置网卡ifcfg-eth0和ifcfg-eth1
步骤四:设置完成后,重启服务:service network restart
步骤五:测试网络是否通ping 192.168.100.100
步骤六:断开其中一块网卡eth0,查看网络是否通。
网络正常
步骤七:查看bond0状态:/proc/net/bonding/bond0
三块网络的MAC一致
步骤八:删除bond0 ,先停止服务,再删除。
ifconfig bond0 down
rmmod bonding
Mode 3 (broadcast) 实验
步骤一:模式1和模式3基本上是一样,只需要把bond0中的1改成3即可,其他设置我就不一一列出了。
步骤二:重启服务:service network restart
步骤三:测试网络连通性ping 192.16.100.100
DUP说明有重复包,即有两块网卡同时工作。断开其中一块网卡,DUP就不会出现。
步骤三:查看bond0的状态:/proc/net/bonding/bond0
步骤四:查看网卡信息
ip地址只工作在bond0接口上
步骤五:删除bond0 ,先停止服务,再删除,删除后再重启网络服务,即可恢复。
ifconfig bond0 down
rmmod bonding
service network restart
注意:在做实验的过程中,记得要关闭防火墙和网络管理工具,否则bond无法获取IP地址
#iptables -F
#serviec NetworkManager stop (centos 6)
#systemcl stop NetworkManager (centos 7)
bond0的配置说明:
miimon 是用来进行链路监测的。如果miimon=100 ,那
么系统每100ms 监测一次链路连接状态,如果有一条线
路不通就转入另一条线路
bonding的一些参考资料:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt
nmcli 实验:实现bonding
步骤一:添加bonding 接口 并配置ip地址
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
nmcli con modify bond0 ipv4.method manual ipv4.address 192.168.100.100/24
步骤二:添加从属接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0
注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
步骤三:要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
步骤四:启动绑定
nmcli con up bond0
步骤五:查看bond0状态
cat /proc/net/bonding/bond0
步骤五:删除bond0
nmcli connection down bond0
rm -rf ifcfg-bond*
nmcli connection reload