Linux系统中双网卡绑定的方法

1、备份原有配置文件

cd /etc/sysconfig/network-scripts/
mv ifcfg-eth0 ifcfg-eth1 /home/

2、新建网卡配置文件,并填写配置信息

touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1
vi ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
IPADDR=*.*.*.*
NETMASK=*.*.*.*
GATEWAY=*.*.*.*
ONBOOT=yes
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

vi ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

vi ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

以下引自“ https://www.cnblogs.com/archoncap/p/6079915.html

Linux网卡绑定mode共有七种模式,常用的有三种,最常用的为mode=1 :

  • mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
  • mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
  • mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):

mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。 mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。 Linux网卡绑定mode共有七种 常用的有三种 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下): mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

3、关闭NetworkManager服务,不关闭会无法绑定成功

service NetworkManager stop
chkconfig NetworkManager off

此处关闭的NetworkManager,本身也可以用来进行网卡绑定,方法参考“ https://blog.51cto.com/zaa47/1925791

4、将bond0加入开机自动加载模块

echo "alias bond0 bonding" > /etc/modprobe.conf

5、重启网络使配置生效

service network restart

6、检查网卡绑定状态

ifconfig,应该看到三块网卡,bond0、eth0、eth1,且三块网卡显示的mac地址相同;

cat /proc/net/bonding/bond0,可以看到网卡绑定模式及当前主备网卡;

ifconfig eth0 down/ifconfig eth1 down,长ping主机,断掉一块网卡或者在现场拔掉一个网口的网线来验证网卡绑定的效果。

发表评论

电子邮件地址不会被公开。