Linux双网卡绑定

  • A+
所属分类:基础知识

网卡绑定是非常实用的Linux内核功能之一,通过绑定多网卡便能提供网络高可用性和负载均衡服务。分享一篇在CentOS/RHEL 6.x、7.x操作系统下的双网卡绑定教程给有需要的朋友们。

CentOS/RHEL 6.X

第一步 创建绑定配置文件

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0  
  2.     
  3. DEVICE=bond0  
  4. TYPE=Bond  
  5. ONBOOT=yes  
  6. BOOTPROTO=static  
  7. IPADDR=192.168.1.200  
  8. NETMASK=255.255.255.0  
  9. GATEWAY=192.168.1.1  

第二步 绑定第一张网卡

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0  
  2.   
  3. MASTER=bond0  
  4. SLAVE=yes  
  5. DEVICE=eth0  
  6. TYPE=Ethernet  
  7. ONBOOT=yes  

第三步 绑定第二张网卡

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1  
  2.   
  3. MASTER=bond0  
  4. SLAVE=yes  
  5. DEVICE=eth1  
  6. TYPE=Ethernet  
  7. ONBOOT=yes  

第四步 配置绑定模式

  1. [root@wanghualang ~]# vim /etc/modprobe.d/bonding.conf  
  2.    
  3. alias bond0 bonding    
  4. options bond0 mode=1 miimon=100  

扩展阅读展开

目前共有七种绑定模式,不同的模式提供不同的服务。

  1. mode0:Balance-rr,用于容错和负载平衡的循环模式;  
  2. mode1:active-backup,设置用于容错的活动备份模式;  
  3. mode2:balance-xor,为容错和负载平衡设置异或(异或)模式;  
  4. mode3:broadcast,设置容错的广播模式,所有传输都在所有的从接口上发送;  
  5. mode4:802.3ad,设置IEEE 802.3ad动态链接聚合模式,共享相同速度和双工设置;  
  6. mode5:balance-tlb,设置传输负载平衡(TLB)模式以实现容错和负载平衡;   
  7. mode6:balance-alb,为容错和负载平衡设置活动负载平衡(ALB)模式。  

若需要使用多张网卡分别绑定组成bond0、bond1,配置如下:

  1. [root@wanghualang ~]# vim /etc/modprobe.d/bonding.conf  
  2.   
  3. alias bond0 bonding    
  4. alias bond1 bonding    
  5. options bonding max_bonds=2 mode=1 miimon=100   

第五步 重启网络

  1. [root@wanghualang ~]#service network restart  

扩展阅读展开

重启网络时有一定几率会出现报错:RTNETLINK answers: File exists,解决方案如下:

1.检查网卡设备名称和物理地址的对应关系

  1. [root@wanghualang ~]# vim /etc/udev/rules.d/70-persistent-net.rules  

2.刷新网卡设备信息

  1. [root@wanghualang ~]# ip addr flush dev eth0    
  2. [root@wanghualang ~]# ip addr flush dev eth1  

第六步 检查绑定状态

  1. [root@wanghualang ~]# cat /proc/net/bonding/bond0  

CentOS/RHEL 7.X

第一步 加载功能模块

  1. [root@wanghualang ~]# modprobe bonding  
  2. [root@wanghualang ~]# modinfo bonding  

第二步 创建绑定配置文件

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0  
  2.    
  3. DEVICE=bond0  
  4. NAME=bond0    
  5. TYPE=Bond  
  6. ONBOOT=yes  
  7. BONDING_OPTS="mode=1 miimon=100"  
  8. BONDING_MASTER=yes    
  9. BOOTPROTO=static  
  10. IPADDR=192.168.1.13    
  11. NETMASK=255.255.255.0    
  12. GATEWAY=192.168.1.1  

第三步 绑定第一张网卡

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32  
  2.   
  3. MASTER=bond0    
  4. SLAVE=yes  
  5. DEVICE=ens32  
  6. TYPE=Ethernet    
  7. BOOTPROTO=static  
  8. ONBOOT=yes    

第四步 绑定第二张网卡

  1. [root@wanghualang ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  
  2.     
  3. MASTER=bond0    
  4. SLAVE=yes  
  5. DEVICE=ens33  
  6. TYPE=Ethernet    
  7. BOOTPROTO=static  
  8. ONBOOT=yes  

第五步 重启网络

  1. [root@wanghualang ~]# systemctl restart network  

第六步 检查绑定状态

  1. [root@wanghualang ~]# cat /proc/net/bonding/bond0  
  • 微信赞助网站
  • weinxin
  • 支付宝赞助网站
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: