0

0

linux中配置双网卡实现双网卡绑定,负载均衡

星夢妙者

星夢妙者

发布时间:2025-06-25 11:24:01

|

723人浏览过

|

来源于php中文网

原创

配置双网卡的主要目的如下:

  1. 实现冗余:通过双网卡配置,可以在一条物理线路发生故障时,自动切换到另一条线路,确保网络连接的连续性。

  2. 负载均衡:双网卡共享一个IP地址,并通过两条物理线路连接到交换机,平时双网卡同时工作,帮助分担网络流量,提升网络性能。

这种配置适用于关键性节点服务器、高网络IO服务器以及网络共享存储服务器等。

Linux中的bonding驱动模块提供了一种方法,可以将多个网络接口组合成一个逻辑上的“bonded”接口。bonded接口的工作方式取决于驱动的模式,不同的模式提供了热备份或负载均衡等不同的服务。此外,驱动还会监控链路的可用性。大多数目前发布的Linux内核都以模块方式包含了bonding驱动,同时ifenslave工具(主要配置工具)也都已经安装好。

以下是几种常见的bonding模式:

  • 轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能力。
  • 主备策略(active-backup),mode=1,只有主网卡处于工作状态,备网卡处于备用状态,主网卡故障后备网卡开始工作,提供容错能力。
  • 异或策略(load balancing (xor)),mode=2,根据源MAC地址和目的MAC地址进行异或计算的结果来选择传输设备,提供负载均衡和容错能力。
  • 广播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接口,通过全部设备来传输所有数据,一个报文会复制两份通过bond下的两个网卡分别发送出去,提供高容错能力。
  • 动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合自动配置来共享相同的传输速度,网卡带宽最高可以翻倍,链路聚合控制协议(LACP)自动通知交换机聚合哪些端口,需要交换机支持802.3ad协议,提供容错能力。
  • 输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输入数据时则只选定其中一块网卡接收,需要网卡和驱动支持ethtool命令。
  • 输入/输出负载均衡模式(adaptive load balancing),mode=6,输入和输出都实现负载均衡,需要网卡和驱动支持ethtool命令。

以下是CentOS中配置双网卡绑定以实现负载均衡的具体步骤:

bind0 IP地址:192.168.10.54

首先关闭两张网卡:

[root@uplooking ~]# ifdown ens33
[root@uplooking ~]# ifdown ens38

接着新建网卡配置文件:

[root@uplooking /etc/sysconfig/network-scripts]# vim ifcfg-bond0

ifcfg-bond0配置文件内容如下:

TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
IPADDR="192.168.10.54"
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=6"     ##bonding 参数直接在网卡配置文件中指派,并且开机可以自动生效
                                      ## mode=1   1为储备模式, 推荐为 6 ,不会浪费资源。

ifcfg-ens33配置文件内容如下:

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

ifcfg-ens38配置文件内容如下:

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

修改/etc/modprobe.d/dist.conf文件,添加以下内容:

linux中配置双网卡实现双网卡绑定,负载均衡

alias bond0 bonding

这表示系统在启动时加载bonding模块,对外虚拟网络接口设备为bond0。miimon=100表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线。mode=1表示绑定模式为1。primary=eth0表示系统首先使用eth0作为bond0接口与外界信息的传输接口。

修改配置文件/etc/rc.local,添加以下内容:

linux中配置双网卡实现双网卡绑定,负载均衡

modprobe bonding miimon=100 mode=1

重启网络:

systemctl restart network

观察验证:

Smodin AI Content Detector
Smodin AI Content Detector

多语种AI内容检测工具

下载
[root@uplooking ~]# ifconfig

linux中配置双网卡实现双网卡绑定,负载均衡

查看bond0的状态:

ip addr 或者 ifconfig

状态信息验证:

cat /proc/net/bonding/bond0

该文件可以显示双网卡配置信息,包括ens33和ens38的启用状态。通过查阅该文件,可以获取bond0网卡的工作状态信息,并通过断开不同网卡,观察该文件的信息变化。

[root@server-18 ~]# watch -n 1 "cat /proc/net/bonding/bond0"
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: ens37
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:9d
Slave queue ID: 0
Slave Interface: ens38
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:a7

验证负载均衡的效果:

http-02 ping 192.168.10.54

arp -a 查询arp表:发现192.168.10.54在00:0C:29:58:4C:31 (ens33)网卡上

linux中配置双网卡实现双网卡绑定,负载均衡

http-03 ping 192.168.10.54

arp -a 查询arp表:发现192.168.10.54在00:0C:29:58:4C:3B (ens33)网卡上

linux中配置双网卡实现双网卡绑定,负载均衡

取消bond0网卡的方法:

  1. ifdown bond0 ##此时网络断开

  2. 移除ifcfg-bond0网卡的配置文件,建议不要直接删除,而是移到别的位置,备份起来。

    root@server-18 /etc/sysconfig/network-scripts# mv ifcfg-bond0 /root
    echo -bond0 > /sys/class/net/bonding_masters ## 移除系统中的bonding状态。
  3. 修改ens33和ens38网卡配置,解除与bond0网卡的从属关系。

    BOOTPROTO=static
    MASTER=bond0 去掉
    SLAVE=yes 去掉
    加上自己网卡的原先配置。
  4. systemctl restart network

  5. ifconfig再次观察

下一篇:Linux对大容量磁盘分区→

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

976

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

36

2025.10.17

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

238

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

378

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

735

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1482

2024.08.16

磁盘配额是什么
磁盘配额是什么

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

1343

2023.06.21

如何安装LINUX
如何安装LINUX

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

698

2023.06.29

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

7

2025.12.24

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

Linux负载均衡视频教程
Linux负载均衡视频教程

共7课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号