Linux进阶03:双网卡绑定

简介:

昨天有位亲问询我Linux关于双网卡绑定的事,以前折腾过,这回的折腾记录在此。

环境

测试环境是CentOS6.6的虚拟机,添加了一个网卡,网络连接模式NAT。

关闭服务

NetworkManager服务是供界面使用网盘配置服务,其会影响网络服务的运行,故关闭之。

1
2
3
4
# service NetworkManager stop
# chkconfig NetworkManager off
# chkconfig --list NetworkManager
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
# cat /etc/sysconfig/network-scripts/ifcfg-bond0
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

修改eth0eth1网卡文件内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
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
# reboot

查看运行信息。

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
# cat /proc/net/bonding/bond0
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
# cat /proc/net/bonding/bond0
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

eth0MII Status: down,所以现在Currently Active Slave: eth1ping一下连通性没有问题,中间断了一下,是那个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 ~~

目录
相关文章
|
5月前
|
Java Linux 应用服务中间件
【JavaEE进阶】 Linux常用命令
【JavaEE进阶】 Linux常用命令
|
6月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
6月前
|
Linux
Linux中的ko怎么玩?:进阶版
Linux中的ko怎么玩?:进阶版
81 0
|
监控 Linux Shell
(二)Linux命令行工具进阶:探索高级功能
在Linux系统中,命令行工具提供了丰富的高级功能,用于处理文本、管理进程、监控系统性能等任务。本文将深入探讨一些高级命令和技巧,帮助您更加高效地利用Linux命令行。
96 1
|
运维 网络协议 Linux
腾讯T6-9首发“Linux内核源码底层原理开发进阶笔记”,差距不止一点点哦
腾讯T6-9首发“Linux内核源码底层原理开发进阶笔记”,差距不止一点点哦
|
Shell Linux
Linux Shell 进阶:探索高级命令和脚本编程技巧
Linux Shell不仅仅是一个命令解释器,它还提供了许多强大的高级命令和脚本编程技巧,能够帮助用户更高效地管理系统和处理数据。在这篇文章中,我们将深入探讨Linux Shell的高级功能。
217 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
5月前
|
Java 关系型数据库 MySQL
【JavaEE进阶】 Linux搭建Java部署环境
【JavaEE进阶】 Linux搭建Java部署环境
|
5月前
|
人工智能 运维 中间件
Linux 常用进阶指令
Linux 常用进阶指令
39 0
|
5月前
|
Linux Perl
编程入门(七)之【Linux进阶操作AWK】
编程入门(七)之【Linux进阶操作AWK】
64 0