Linux双网卡绑定配置及模式选择
时间:2026-02-17 21:05:37 376浏览 收藏
本文详细介绍了在Linux系统中配置双网卡绑定(Bonding)的完整流程,涵盖内核模块加载、传统配置文件编辑与现代nmcli工具操作两种主流方法,并深入解析了mode=0(轮询)、mode=1(主备)、mode=4(LACP聚合)和mode=6(自适应负载均衡)等关键模式的适用场景与参数设置,帮助运维人员根据实际需求——无论是提升网络高可用性、实现故障自动切换,还是增强带宽吞吐能力——快速、准确地部署稳定可靠的多网卡冗余连接。

如果您在Linux系统中需要提升网络连接的可靠性或实现带宽聚合,则可以通过配置双网卡绑定(Bonding)来达成目标。以下是完成该配置的具体步骤:
一、确认内核模块支持并加载bonding模块
Linux Bonding功能依赖于内核中的bonding模块,需确保其已编译进内核或作为可加载模块存在,并在运行时启用。
1、执行命令检查bonding模块是否已加载:lsmod | grep bonding。
2、若无输出,使用命令手动加载模块:modprobe bonding。
3、为使重启后自动加载,将模块名写入配置文件:echo "bonding" >> /etc/modules。
二、创建bonding接口配置文件
通过修改网络接口配置文件,定义bond0设备及其从属物理网卡,是RHEL/CentOS系发行版的标准做法。
1、在/etc/sysconfig/network-scripts/目录下创建bond0主配置文件:vi /etc/sysconfig/network-scripts/ifcfg-bond0。
2、写入以下内容(以mode=1主备模式为例):DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.10.100
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"。
3、编辑第一个物理网卡配置文件(如ifcfg-eth0):vi /etc/sysconfig/network-scripts/ifcfg-eth0,设置:DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes。
4、同样配置第二个网卡(如ifcfg-eth1),仅将DEVICE值改为eth1,其余与eth0一致。
三、使用nmcli工具配置bonding(适用于NetworkManager管理环境)
在使用NetworkManager的现代Linux发行版(如RHEL 8+/CentOS 8+/Fedora)中,可通过nmcli命令行工具创建bond连接,避免直接编辑配置文件。
1、创建bond连接:nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup。
2、为bond0添加IPv4地址:nmcli connection modify bond0 ipv4.addresses 192.168.10.100/24 ipv4.method manual。
3、添加第一个从属接口(如enp0s3):nmcli connection add type bond-slave con-name bond0-port1 ifname enp0s3 master bond0。
4、添加第二个从属接口(如enp0s8):nmcli connection add type bond-slave con-name bond0-port2 ifname enp0s8 master bond0。
5、启用bond0连接:nmcli connection up bond0。
四、验证bonding状态与当前模式
配置完成后,必须检查bond接口是否正常工作、成员网卡是否正确加入、以及实际生效的bonding模式是否符合预期。
1、查看bond接口状态:cat /proc/net/bonding/bond0。
2、确认当前活动端口:ip link show bond0 及 cat /sys/class/net/bond0/bonding/active_slave。
3、检查bonding模式编号与名称对应关系:cat /sys/class/net/bond0/bonding/mode(例如输出“active-backup 1”)。
五、配置不同bonding模式参数
Linux bonding支持多种模式,各模式需通过BONDING_OPTS或nmcli指定不同参数,以适配故障切换或负载分担需求。
1、mode=0(balance-rr):轮询策略,需交换机配置端口聚合(如IEEE 802.3ad):mode=0 miimon=100。
2、mode=1(active-backup):主备策略,仅一个端口传输数据,另一端口待命:mode=1 miimon=100 primary=eth0。
3、mode=4(802.3ad):动态链路聚合,要求交换机启用LACP:mode=4 miimon=100 lacp_rate=1 xmit_hash_policy=layer2。
4、mode=6(balance-alb):自适应负载均衡,无需交换机配合,支持IPv4收发双向均衡:mode=6 miimon=100。
终于介绍完啦!小伙伴们,这篇关于《Linux双网卡绑定配置及模式选择》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
354 收藏
-
382 收藏
-
180 收藏
-
227 收藏
-
374 收藏
-
107 收藏
-
108 收藏
-
211 收藏
-
343 收藏
-
112 收藏
-
113 收藏
-
362 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习