测试环境:vmware虚拟机,linux系统centos7.8
两块网卡 ens32 ens34
Linux 多网卡的7种bond模式原理
linux多网卡绑定聚合-Bond详细完整版

1、编辑网络配置文件

1.1、编辑bond0网卡配置

cat /etc/sysconfig/network-scripts/ifcfg-bond0

  1. BOOTPROTO=static
  2. DEVICE=bond0
  3. ONBOOT=yes
  4. TYPE=bond # 类型必须是bond
  5. NAME=bond0
  6. IPADDR=192.168.118.120
  7. NETMASK=255.255.255.0
  8. GATEWAY=192.168.118.2
  9. DNS1=192.168.118.2
  10. USERCTL=no
  11. BONDING_MASTER=yes
  12. BONDING_OPTS="miimon=200 mode=1 fail_over_mac=1" # 模式参数
  1. # 真机环境
  2. DEVICE=bond0
  3. TYPE=Bond
  4. BONDING_MASTER=yes
  5. ONBOOT=yes
  6. BOOTPROTO=static
  7. IPADDR=192.100.5.140
  8. PREFIX=24
  9. GATEWAY=192.100.5.254
  10. BONDING_OPTS="miimon=100 mode=active-backup"

配置解释: 默认failovermac=0,当发生错误时,只改slave的mac不改bond;fail_over_mac=1时,只改bond不改slave。在vmware虚拟机中配置bond时,需要加上该参数,否这down一个网卡后,bond0 ping 不同 真机环境不需要

第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N

1.2、编辑主从网卡配置文件

cat /etc/sysconfig/network-scripts/ifcfg-ens32

  1. OBOOT=yes
  2. TYPE=Ethernet
  3. BOOTPROTO=none
  4. DEVICE=ens32
  5. NAME=ens32
  6. MASTER=bond0
  7. SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-ens34

  1. OBOOT=yes
  2. TYPE=Ethernet
  3. BOOTPROTO=none
  4. DEVICE=ens34
  5. NAME=ens34
  6. MASTER=bond0
  7. SLAVE=yes

2、重启网络

  1. systemctl restart network

查看网卡信息
ifconfig
image.png
可以看到bond0网卡现在绑定的是ens34网卡,mac地址是与一样的

3、查看bond0状态

  1. cat /proc/net/bonding/bond0
  1. Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
  2. Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
  3. Primary Slave: None
  4. Currently Active Slave: ens34
  5. MII Status: up
  6. MII Polling Interval (ms): 200
  7. Up Delay (ms): 0
  8. Down Delay (ms): 0
  9. Slave Interface: ens32
  10. MII Status: up
  11. Speed: 1000 Mbps
  12. Duplex: full
  13. Link Failure Count: 2
  14. Permanent HW addr: 00:0c:29:14:4a:c4
  15. Slave queue ID: 0
  16. Slave Interface: ens34
  17. MII Status: up
  18. Speed: 1000 Mbps
  19. Duplex: full
  20. Link Failure Count: 1
  21. Permanent HW addr: 00:0c:29:14:4a:ce
  22. Slave queue ID: 0

4、测试

现在bond绑定在ens34网卡上,将ens34网卡断开,查看网络是否断开
ifconfig ens34 down