千家信息网

如何进行linux下的双网卡绑定

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍如何进行linux下的双网卡绑定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Linux上双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个结合起来的设备看起
千家信息网最后更新 2025年12月02日如何进行linux下的双网卡绑定

这篇文章给大家介绍如何进行linux下的双网卡绑定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Linux上双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个结合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel 技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding。

bonding技术的最早应用是在集群--beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定MAC的数据帧。然后把相应的数据帧传送给bond驱动程序处理。

RHEL 6 配置

1 备份网卡配置文件

[root@redhat6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0.bak[root@redhat6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth2 ~/ifcfg-eth2.bak

2 配置绑定

虚拟网络接口配置文件,指定网卡IP,ifcfg-bond0

[root@redhat6 ~]#vi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0IPADDR=192.168.1.111NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=noNM_CONTROLLED=noBONDING_OPTS="mode=1 miimon=100"

配置真实的网卡,eth0 and eth2

[root@redhat6 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ethDEVICE=ethBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noNM_CONTROLLED=no

NM_CONTROLLED=no NetworkManager is not permitted to configure this device.USERCTL=no Non-root users are not allowed to control this device.
BOOTPROTO=none No boot-time protocol should be used

3 重启网络服务

[root@redhat6 ~]#service network restart

4、测试网络

拔下一根网线看ping数据,确认没问题之后插上该网线连通之后,再拔下另外一根网线,观察双网卡绑定效果。

5、Bonding的7种模式

  • define BOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式

  • define BOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式

  • define BOND_MODE_XOR 2 (balance-xor模式)需要交换机支持

  • define BOND_MODE_BROADCAST 3 (broadcast模式)

  • define BOND_MODE_8023AD 4 (IEEE 802.3ad动态链路聚合模式)需要交换机支持

  • define BOND_MODE_TLB 5 自适应传输负载均衡模式

  • define BOND_MODE_ALB 6 网卡虚拟化方式


mode的值共有0-6 七种模式,常用的为0,1,6三种。

  • mode=0:平衡负载模式,有自动备援,但需要"Switch"支援及设定。

  • mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

  • mode=6:平衡负载模式,有自动备援,不需要"Switch"支援及设定。


linux系统下bond mode参数说明:(mode=4 在交换机支持LACP时推荐使用,其能提供更好的性能和稳定性)

0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。4-802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。6-适配器输入/输出负载均衡模式,在"模式5″的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。

双网卡绑定模式下,网卡的性能不是向大多数人猜想的那样带宽加倍,传输速度加倍;而实际上可能恰好相反。

这个问题还是要看到瓶颈在哪。
一般多网卡绑定,处理器应该没有问题,能力很强,网络也很强,瓶颈在网卡,所以多绑定几块可以解决网卡的瓶颈,并且提高可靠性。

如果是板子的话,虽然网络也很强,但估计瓶颈不是网卡了,而是板子的处理能力了。加多个网卡,可能却降低了板子的性能。多网卡绑定,应该在混杂模式,把本来硬件处理的部分交给了驱动来自,增加了软件/板子的负担了。

普通台式机服务器,现在性能应该很强大,不是瓶颈,所以采用多网卡绑定能体现出优势。

任何方法 都有其前提的。

了解了一下bonding各模式的算法,负载均衡模式用的轮转算法,热备份用的备份算法。
理论下,双网卡绑定备份模式下,只有一块网卡工作,流量测试的结果应该和用单个网卡相同。
同样是理论上,双网卡绑定负载均衡模式下,收发一般的网络数据,我是指小于1588的报文等不用分片的数据时,带宽加倍,速度加倍。
我的猜测:现在我在负载均衡模式下,传输一个4GB的文件,文件被分片处理,在轮转算法下连续的片被两个网卡分别处理,一方面软件算法消耗了时间,另一方面可能会有分片乱序的可能,申请重发或者其他原因消耗了时间。
现在的问题有两个,1、为什么只有round-robin模式,开发板上两个网卡是一样的型号;2、负载均衡模式下传输文件的速度比用单网卡要慢。
期待各位大哥解惑,谢谢了。

总结一下

1、只能进入负载均衡的问题;模块加载的时候读取的配置文件modules.conf、modprobe.conf,这两个文件分别适用于旧和新两种内核版本,二这两个文件中mode参数用于设置绑定模式,如果文件名错了,设置当然无效;另外bongding在内核中需要编译成模块,而不是直接加到内核。
2、网卡绑定时传输大文件比不绑定时更慢;测试显示负载均衡模式下,传输大文件所需时间是不绑定用单网口传输的两倍,热备份模式所需时间是单网口的四倍。猜测且没有得到证实的原因:负载均衡时,网络上传输的报文一般都小于1588,网卡处理这些典型的网络报文很快;但现在传输的是一个很大的文件,文件大于1588,文件被分成很多片,文件重组需求分片按次序到达,可能因为被两个网卡处理造成分片次序颠倒等原因申请重发分片,另外增加的绑定算法也需要耗费时间;热备份时,绑定算法耗费时间。

关于如何进行linux下的双网卡绑定就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

网卡 模式 文件 均衡 数据 网络 传输 算法 处理 两个 备份 支持 交换机 时间 配置 相同 地址 瓶颈 问题 驱动 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发技术学习方法 数据库表格加一列统计重数次数 福建惠普服务器虚拟化定制服务器 我的世界贝爷生存服务器怎么开 sfari没有服务器是什么意思 东孝互联网科技有限公司 2018华为网络安全周活动 服务器不按开机键bmc能用么 云服务器行业名人 每个人都是网络安全守护者吗 越秀服务器运维服务哪个品牌好 江苏服务器机柜质量好不好 数据库语句执行快捷键 华三服务器CPLD告警 张北县网络安全培训学校 网络安全和信息化教育宣传 文件服务器管理软件对比 日本国立研究所数据库材料 网络安全是否包含信息安全 重庆彭水生鲜软件开发 山东做设计软件开发的公司有哪些 网络安全绕口令顺口溜 数据库查询时去重的方法 软件开发哪家靠谱 内蒙古一对一网络技术服务机构 数据库包含三个文件组怎么弄 sql初始数据库如何导入 张北县网络安全培训学校 数据库空间租用 sip服务器软件哪个好
0