Linux怎么配置多网卡绑定

秋宇吖_5916

秋宇吖_5916

2026-09-13

885人浏览

原创

选对bond模式需按需求匹配:mode=1主备高可用、不依赖交换机;mode=0轮询需交换机聚合配置,否则丢包;mode=6双向负载均衡、免交换机支持;mode=4需lacp协商。忽略约束易致不通。

linux怎么配置多网卡绑定

bond0 不是自动存在的,得手动创建并明确指定工作模式;选错 mode 或忽略交换机配合要求,会导致流量丢包、负载不均甚至完全不通。

怎么选对 bond 模式:看你要什么,而不是看名字

Linux 网卡绑定本质是内核模块 bonding 的行为策略,不同 mode 解决的问题完全不同:

  • mode=1(active-backup):只有一块网卡发包,另一块纯待命。断线秒切,不依赖交换机,适合高可用优先场景
  • mode=0(balance-rr):轮询发包,带宽能叠加,但必须要求交换机端口配置为聚合组(如 Cisco port-channel),否则交换机会因 MAC 地址漂移丢包
  • mode=6(balance-alb):收发双向自适应负载,主从网卡用不同 MAC 地址,无需交换机配合,普通二层环境就能用
  • mode=4(802.3ad):需交换机启用 LACP,双方动态协商链路状态,稳定性好,但配置稍复杂,xmit_hash_policy 选错会导致某条链路长期空闲

别盲目套用教程里的 mode=0 —— 如果你没动过交换机配置,大概率跑不通。

配置文件里最容易漏掉的三处硬性约束

CentOS/RHEL 系统下,/etc/sysconfig/network-scripts/ifcfg-bond0 和从属网卡配置不是写完就生效,以下三项必须同时满足:

  • BONDING_OPTS="mode=1 miimon=100" 要写在 ifcfg-bond0 里(或统一放在 /etc/modprobe.d/bond.conf),不能只靠 modprobe 临时加载
  • 所有从属网卡(如 eth0、eth1)的配置中,BOOTPROTO 必须设为 none,且必须包含 MASTER=bond0 和 SLAVE=yes
  • ONBOOT=yes 要出现在 bond0 和每个从属网卡的配置里,否则重启后绑定不生效

少一条,systemctl restart network 后 cat /proc/net/bonding/bond0 就会显示 “No such device” 或只有 “MII Status: down”。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载

为什么 ip link set bond0 up 失败?检查内核模块和命名冲突

执行 ip link set bond0 up 报错 “Cannot find device ‘bond0’”,常见原因有:

  • bonding 模块未加载:lsmod | grep bonding 无输出 → 手动运行 modprobe bonding
  • NetworkManager 正在接管接口:nmcli device status 显示 eth0 状态为 “connected”,需先 nmcli connection delete "Wired connection 1" 并设置 NM_CONTROLLED=no 在网卡配置中
  • 配置文件名与 DEVICE 值不一致:比如文件叫 ifcfg-bond0,但里面写了 DEVICE=bond1,系统会忽略该文件
  • CentOS 7+ 默认用 teamd 替代 bonding,若已装 teamd 且服务运行中,bonding 可能被屏蔽

验证是否真正绑定成功,只看 ifconfig bond0 不够,要查 cat /proc/net/bonding/bond0 中的 “Slave Interface” 和 “MII Status” 字段。

策略路由 + bond 混用时的典型陷阱

如果服务器既做了网卡绑定,又配了双网关(比如 eth0 走电信、eth1 走联通),千万别把物理网卡直接加进策略路由规则 —— bond0 绑定后,eth0 和 eth1 已失去独立 IP 和路由能力。

  • 策略路由应基于 bond0 的 IP 或子网(如 ip rule add from 192.168.1.0/24 table table_bond),而非原始物理接口
  • 若用了 mode=1,绑定后实际只有一个活跃出口,策略路由中针对“备用链路”的规则永远不会命中
  • ip route get 查路径时,源地址必须是 bond0 配置的 IP,否则内核按默认路由表走,绕过你的策略

多网卡绑定本身不解决多出口分流问题;它解决的是单出口的可靠性或吞吐提升。分流得靠策略路由,但必须和绑定层级对齐,否则规则形同虚设。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3650

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3193

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2253

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5390

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5042

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3013

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2525

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2739

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux 教程
Linux 教程

共28课时 | 56.8万人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习