给服务器网络加道保险!手把手教你用Netplan配置Ubuntu网卡绑定,断线自动切换

admin 2026-02-08 01:35:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍使用Netplan在Ubuntu服务器上配置网卡绑定以提升可靠性,详细讲解了balance-rr模式的配置文件编写与应用步骤。通过断线测试验证了该技术实现故障无缝切换与负载均衡的能力。建议在内网关键场景部署网卡绑定以保障网络稳定性。 综合评分: 88 文章分类: 网络安全,实战经验,解决方案


cover_image

给服务器网络加道保险!手把手教你用Netplan配置Ubuntu网卡绑定,断线自动切换

原创

衡水铁头哥 衡水铁头哥

铁军哥

2026年2月6日 07:45 北京

单线网络提心吊胆,怕断网? 在网络中,日常为了提高可靠性,一般会配置链路聚合(Link Aggregation)(网络之路29:三层链路聚合)。

同样的,在服务器上也有网卡绑定(bonding)的技术,将两个或多个物理网卡通过bonding技术绑定在一起,从而创建一个虚拟的、逻辑上的网络接口,实现网络接口的聚合。

做了网卡绑定之后,就可以提高网络冗余,实现高可用,如果其中一个网卡发生故障,服务能够无缝切换到其他正常工作的网卡上,确保网络连接不间断;结合不同的工作模式,还可以实现负载分担或增加网络带宽的效果,优化资源利用的同时,提高网络容量。是时候给你的服务器网卡上双保险了!

之前,我们用CentOS 7.9服务器该演示了如何配置网卡绑定(CentOS 7配置Bonding网卡绑定),也用Windows Server服务器演示了如何配置NIC组合(Windows Server配置网卡绑定:NIC组合)。

今天,给大家带来一个Ubuntu服务器配置网卡绑定的简单案例。实验设备我们选择了两台Ubuntu 22.04.3 LTS服务器,内核版本为6.5.0-44-generic。

两台设备通过两对网卡互联:ens7接ens7,ens8接ens8。

在之前的文章中,我们介绍了网卡绑定一共有7种不同的工作模式,需要通过指定mode参数的值来进行确定。

1、mode=0:轮询均衡策略(Round Robin Policy,balance-rr),通过轮询的方式将数据包均匀分配到所有slave接口上,提供负载均衡但不保证连续的数据包会走同一条链路。

2、mode=1:主备模式(active-backup),只有一张网卡处于活动状态,另一张作为备份。当活动网卡出现故障时,备份网卡立即接管网络连接。

3、mode=2:XOR哈希策略(balance-xor),根据源MAC地址和目标MAC地址的XOR运算结果进行哈希,然后选择相应的接口发送数据包,可以实现负载均衡。

4、mode=3:广播模式(broadcast),所有的流量都会同时通过所有slave接口发送,主要用于某些需要复制数据流的特殊应用环境。

5、mode=4:IEEE 802.3ad协议(802.3ad,Link Aggregation Control Protocol,LACP),根据LACP协议与交换机协商形成聚合链路,支持动态链路聚合,通常用于带宽增加并提供高可用性。

6、mode=5:传输层感知负载均衡(Transmit Load Balancing,balance-tlb),不需要任何特定配置的交换机,但只能在从服务器向客户端单向发送数据时进行负载均衡。

7、mode=6:带接收负载均衡的传输层感知负载均衡(Adaptive Load Balancing,balance-alb),这是TLB模式的一个增强版,在TLB的基础上增加了基于ARP响应的接收负载均衡功能。

一般情况下,我们在配置服务器和交换机对接时,需要配置为mode=4;当配置服务器主机之间的互联时,则可以使用mode=0进行轮询负载。所以,我们本次就使用Netplan配置一下balance-rr(Round-Robin)模式的网卡聚合(用Ubuntu的时候,你是不是被127.0.0.53困扰好久了?来看看怎么修改DNS配置)。

首先,在两台服务器上创建Netplan配置文件/etc/netplan/99-bond.yaml。需要注意,若系统默认使用NetworkManager,需指定renderer: NetworkManager 或留空以继承默认设置。切勿强制指定renderer: networkd,除非确认systemd-networkd服务已启用,否则会导致管理网络IP地址变化,连接断开。

服务器171的配置文件如下:

nano /etc/netplan/99-bond.yamlnetwork:  version: 2  renderer: NetworkManager  bonds:    bond0:      dhcp4: no      addresses:        - 172.16.1.171/24      interfaces:        - ens7        - ens8      parameters:        mode: balance-rr        mii-monitor-interval: 100  ethernets:    ens7:      dhcp4: no      optional: true    ens8:      dhcp4: no      optional: true

服务器172的配置文件如下:

network:  version: 2  renderer: NetworkManager  bonds:    bond0:      dhcp4: no      addresses:        - 172.16.1.172/24      interfaces:        - ens7        - ens8      parameters:        mode: balance-rr        mii-monitor-interval: 100  ethernets:    ens7:      dhcp4: no      optional: true    ens8:      dhcp4: no      optional: true

在两台服务器上执行以下命令,应用配置:

chmod 600 /etc/netplan/99-bond.yamlnetplan apply

除了上面通过ip add查看网卡状态之外,我们还可以查看/proc/net/bonding/bond0确认Bond接口的模式及从接口状态:

cat /proc/net/bonding/bond0

测试两台服务器bond网卡的连通性。

接下来,我们开始打流,并在打流过程中,断掉ens7的互联线路。

从打流的带宽来看,在断开线路时,带宽只是有点波动,并没有出现中断的情况。

此外,由于是虚拟化平台的原因,底层线路删除之后接口状态并没有发生变化,不过从带宽速率还是能看到一些抖动存在的。

通过这次亲自动手,我们再次验证了网卡绑定技术的实用价值。对于内网关键流量、服务器互联等场景,花费少量时间配置Bonding,就能为网络稳定性加上一道坚实的安全锁。

你的服务器是否也有重要的单线网络需要加固?不妨动手试试吧!欢迎在评论区分享你的配置经验!

***推荐阅读***

无需公网IPv4!手把手教你配置基于IPv6的WireGuard安全隧道

WireGuard配置太麻烦?我的Web管理系统通过HUB/SPOKE组网+SSH代管,效率提升100倍!

我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定

腾讯云隐藏福利:如何通过一键操作白嫖CPU升级?性能飙升

还在为AI API费用发愁?我找到了免费使用Gemini 3和Claude 4.5的方法

警惕!OpenClaw隐藏的致命Bug:网络超时误报上下文溢出,可导致系统陷入死循环

每月40元实现异地组网!用家用路由器+L2TP协议,在腾讯云上搭建企业级VPN枢纽

你的VPN客户端还在共用IP?最新的OpenVPN管理系统已支持每客户端独立公网IP!

成本省下99.7%!用40元的腾讯云服务器自建IPsecVPN,成功对接企业级飞塔防火墙

超越SR-MPLS!SRv6实测:基于纯IPv6数据面承载IPv4 VPN业务,体验协议简化之美

超越BE!实战演示SR-MPLS TE显式路径规划,为VPN业务提供可靠性能保障

2048卡昇腾910C集群算力集群交付工程手册

2048卡昇腾910C集群存储集群交付工程手册


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:铁军哥 衡水铁头哥 衡水铁头哥《给服务器网络加道保险!手把手教你用Netplan配置Ubuntu网卡绑定,断线自动切换》

评论:0   参与:  0