多网卡绑定提升服务器出口带宽上限,新手完整指南

先搞清楚:多网卡绑定能解决什么问题

如果你的服务器有多个网口,但出口带宽被单口物理上限卡住(比如千兆网口只有1Gbps),多网卡绑定(Linux Bonding)可以把两个或多个网口“捆绑”成一个逻辑接口,让流量分摊到各个物理口上,从而实现带宽聚合。
注意:并不是所有模式都能让单条连接跑满聚合带宽,但对于多用户并发场景,效果非常明显。

本文适用对象:手头有Linux服务器(CentOS 7/8、Ubuntu 20.04/22.04)、至少有两块物理网卡、想提升总出口带宽的新手用户。

操作前准备好这些

  • 一台Linux服务器,至少有两个空闲的物理网口(比如eth0、eth1)。可以用 ip link showifconfig -a 查看现有网口。
  • 确认网卡驱动支持bonding。绝大多数现代网卡都支持,不需要额外硬件。
  • 如果服务器在机房或托管,请提前确认交换机是否支持LACP(802.3ad)。如果你只想用active-backup(主备)或balance-rr,交换机无需特殊配置。
  • root权限或者sudo权限。

分步配置多网卡绑定

第一步:加载bonding内核模块

执行以下命令,确保系统能识别bonding模块:

sudo modprobe bonding

如果希望开机自动加载,
可以编辑 /etc/modules(Ubuntu)或 /etc/modules-load.d/bonding.conf(CentOS),
写入一行 bonding

第二步:创建bond接口配置文件

CentOS / RHEL 7/8:网络配置文件在 /etc/sysconfig/network-scripts/
先创建bond0的配置文件 ifcfg-bond0

sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0

写入以下内容(以静态IP为例,DHCP只需将BOOTPROTO改为dhcp并删掉IP相关行):

DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BONDING_OPTS="mode=4 miimon=100"
ONBOOT=yes

重点mode=4 表示802.3ad(LACP),需要交换机配合;
如果交换机不支持,可改为 mode=1(active-backup,主备模式)或 mode=0(balance-rr,轮询)。miimon=100 表示每100毫秒检测链路状态。

Ubuntu 20.04/22.04:使用netplan,编辑 /etc/netplan/01-netcfg.yaml 或类似文件。
示例(注意缩进严格):

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
    eth1:
      dhcp4: no
  bonds:
    bond0:
      interfaces: [eth0, eth1]
      parameters:
        mode: 802.3ad
        mii-monitor-interval: 100
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

第三步:修改物理网口配置文件,绑定到bond0

CentOS:编辑两个网卡配置文件,比如 ifcfg-eth0ifcfg-eth1,内容改为:

DEVICE=eth0
NAME=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

eth1同理,只需改 DEVICE=eth1

Ubuntu netplan:上面yaml中已经把 eth0eth1 作为 bond0 的子接口,不需要额外配置文件。
执行 sudo netplan apply 生效。

第四步:重启网络服务并生效

CentOS:

sudo systemctl restart network

Ubuntu:

sudo netplan apply

如果遇到网络中断,建议直接在服务器本地控制台操作,或者提前准备好备用登录方式(如IPMI)。

避坑指南和常见问题

  • 模式选错导致不通:如果你用的是千兆傻瓜交换机,不支持LACP,用mode=4(802.3ad)会导致bond接口无法正常工作。此时建议改用mode=1(active-backup)或mode=0(balance-rr)。注意mode=0会在所有网口间轮询发送包,但接收端可能乱序,适合局域网内无丢包重传的场景。
  • MAC地址冲突:bond0会使用第一个slave网卡的MAC,如果两个网口接在不同交换机上且MAC相同可能被交换机丢弃。一般不用操心,但若出现通信异常,尝试重启交换机端口或设置bonding的fail_over_mac。
  • 带宽没翻倍? 单条TCP连接只能走一个网口(取决于哈希策略),所以测速单个连接不会超过单口上限。要看到聚合效果,请用多线程工具(比如 iperf3 -P 10)同时开多个连接测试。
  • 重启后bond接口不启动:检查slave网卡的 ONBOOT=yes 是否设置,以及配置文件中的 MASTERSLAVE 是否写错。

验证效果

  1. 查看bond状态
   cat /proc/net/bonding/bond0

可以看到绑定模式、每个网口的状态(up/down)、链路失败计数等。

  1. 测试带宽聚合:在两台机器上分别开启iperf3服务端和客户端。假设服务端IP是192.168.1.100,客户端执行:
   iperf3 -c 192.168.1.100 -P 10 -t 30

观察SUM行的带宽是否接近所有网口带宽之和。
如果是千兆双口,应该看到约1.8-2.0 Gbps。

  1. 确认流量负载均衡:在bond接口上抓包或观察 /proc/net/bonding/bond0 中的发送/接收统计,看流量是否在两个网口间分散。

总结

多网卡绑定是提升服务器出口带宽上限的实用手段,关键选对模式、配好网口文件、检查交换机支持。
按本文步骤操作,即使零基础也能在几分钟内完成配置。
遇到异常时优先回头检查 modemiimon 参数,再用 cat /proc/net/bonding/bond0 定位问题。
如果你还想了解如何配置VLAN或链路聚合的其他变种,欢迎继续浏览站内相关教程。

分享到:
上一篇
容器跨主机数据迁移同步中转模型文件
下一篇
磁盘坏道检测抢救住宅服务器数据:磁盘坏道检测与数据抢救
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意