昨天有位亲问询我Linux关于双网卡绑定的事,以前折腾过,这回的折腾记录在此。
环境
测试环境是CentOS6.6的虚拟机,添加了一个网卡,网络连接模式NAT。
关闭服务
NetworkManager
服务是供界面使用网盘配置服务,其会影响网络服务的运行,故关闭之。
1 2 3 4
|
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
|
配置脚本
新建bond0
网卡文件,内容如下。
1 2 3 4 5 6 7 8 9 10 11 12
|
DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=none IPADDR=192.168.80.6 PREFIX=24 GATEWAY=192.168.80.1 DNS1=192.168.80.1 IPV6INIT=no NAME="System bond0" ARPCHECK=NO
|
修改eth0
,eth1
网卡文件内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes
|
在文件/etc/modprobe.d/dist.conf
文件下添加如下内容。
1 2
|
alias bond0 bonding options bond0 mode=1 miimon=100
|
mode=0
是负载均衡模式,即双网卡分流网络负载。若两个网卡接入同一个交换机,交换机需将这两个网口用聚合方式绑定。
mode=1
是主备模式,一个网卡工作,一个网卡备用,某个网卡断掉,另一个网卡启动工作。
miimon=100
是链路检测时间,100毫秒检测一次。
测试
重启虚拟机。
查看运行信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0
Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:8c:f7:3d Slave queue ID: 0
Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:8c:f7:47 Slave queue ID: 0
|
Currently Active Slave: eth0
现在主要工作的是eth0
。
虚拟机断开网卡1的连接。
再查看信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0
Slave Interface: eth0 MII Status: down Speed: Unknown Duplex: Unknown Link Failure Count: 1 Permanent HW addr: 00:0c:29:8c:f7:3d Slave queue ID: 0
Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:8c:f7:47 Slave queue ID: 0
|
eth0
的MII Status: down
,所以现在Currently Active Slave: eth1
。ping
一下连通性没有问题,中间断了一下,是那个ICMP包正好处于链路检测时间内,系统尚未判断eth0
挂掉,也就还没有启动eth1
,导致了无响应。
此时,如果再断开网卡2,则网络全部挂掉;或若重启网卡1,由于网卡2工作正常,网卡1变为备用网卡。通过命令cat /proc/net/bonding/bond0
均能看到其详细信息。
其他
本章未亲自测试过。
A. CentOS7的双网卡绑定可以采用Team模式,或者旧有的bond模式。
B. 多网卡绑定多个bond
,只是在/etc/modprobe.d/dist.conf
的内容有所不同。
多个bond
设置成相同的模式。
1 2 3
|
alias bond0 bonding alias bond1 bonding options bonding max_bonds=2 miimon=200 mode=1
|
多个bond
设置成不同的模式。
1 2 3
|
alias bond0 bonding options bond0 miimon=100 mode=1 install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0
|
具体设置方法可以参考这篇。
~~ EOF ~~