实现linux双网卡冗余的核心在于通过bonding技术提升网络高可用性。1. 首先确认系统支持并选择合适模式,推荐使用mode=1(active-backup)以确保简单可靠;2. 配置bond0接口并设置物理网卡为从属设备,指定ip地址和绑定参数;3. 完成配置后通过ping测试及查看状态文件验证切换功能是否正常;4. 注意交换机匹配、ip配置位置、链路检测参数及虚拟化环境限制等关键点,以保障冗余机制有效运行。

实现Linux双网卡冗余,主要是为了在网络设备或链路出现故障时,能够自动切换到另一条路径,从而保证网络服务的高可用性。这在服务器部署中尤其重要。常见的做法是通过“绑定”(bonding)技术将两个或多个网卡组合成一个逻辑接口,提升容错能力甚至带宽。

下面从几个实际操作角度出发,讲讲怎么配置。

1. 确认系统支持并选择合适的绑定模式
Linux下实现双网卡冗余,主要依赖内核提供的 bonding 驱动。首先确认你的系统是否已经加载了这个模块:
modinfo bonding
如果提示找不到,可能需要手动安装或启用。

接下来是选择绑定模式。常用的有以下几种:
- mode=0(balance-rr):轮询方式发送数据包,提供负载均衡和容错,但交换机需要做相应配置。
- mode=1(active-backup):主备模式,只有一个网卡工作,另一个作为备份,适合大多数场景。
- mode=4(802.3ad):动态链路聚合,要求交换机也支持LACP协议。
- mode=6(balance-alb):自适应负载均衡,不需要交换机特别配置。
一般推荐使用 mode=1,因为简单可靠,对网络环境要求低。
2. 配置bonding接口(以CentOS/RHEL为例)
假设你有两个物理网卡 eth0 和 eth1,想把它们绑定为 bond0,采用 active-backup 模式。
步骤如下:
-
创建 bond0 接口配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0
内容大致如下:
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BONDING_OPTS="mode=1 miimon=100"
-
修改 eth0 和 eth1 的配置文件,指向 bond0:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
eth1 类似,只是 DEVICE 改为 eth1。
-
重启网络服务:
systemctl restart network
完成后可以用 cat /proc/net/bonding/bond0 查看当前状态。
3. 测试与验证是否生效
配置完后要测试是否真的实现了冗余。
- 可以用
ping命令持续 ping 网关或其他主机,然后拔掉其中一个网卡的网线,观察是否中断。 - 查看
/proc/net/bonding/bond0中的“Currently Active Slave”字段,看看切换是否正常。
如果你看到输出里写着当前使用的 slave 是哪个,说明正在运行的网卡已经切换成功。
另外还可以用 dmesg 或者查看系统日志 /var/log/messages,看看有没有 bonding 相关的信息或错误。
4. 注意事项和常见问题
- 交换机设置要匹配:尤其是用了 LACP(mode=4)时,交换机端口必须开启相应的聚合功能。
- IP地址只能配置在 bond0 上:不要给 eth0 或 eth1 单独设置 IP。
- miimon 和 arp_interval 参数:用来检测链路状态,建议至少设置 miimon=100,表示每 100ms 检测一次链路是否断开。
- 虚拟机环境下可能受限:比如 VMware 或 KVM 中,有些绑定模式不支持,需根据虚拟化平台调整设置。
基本上就这些。Linux双网卡冗余的配置不算太复杂,但容易忽略的是细节设置和环境适配。只要选对模式、配置好参数,就能有效提高服务器网络的稳定性。










