ubuntu 双网卡绑定
在 Ubuntu 系统中(尤其是 Ubuntu 18.04 及以后的版本),网络配置主要通过 Netplan 工具完成。双网卡绑定(Bonding)可以将两个物理网卡虚拟化为一个逻辑接口,用于实现冗余容错或负载均衡。
以下是详细的操作步骤:
1. 准备工作
首先,确认你的网卡名称。执行:
ip link show
假设你的两个物理网卡名称为 enp1s0 和 enp2s0。
安装必要的内核模块支持工具:
sudo apt update sudo apt install ifenslave
2. 确认内核模块
确保系统加载了 bonding 模块:
sudo modprobe bonding
检查是否加载成功
lsmod | grep bonding
3. 使用 Netplan 配置网卡绑定
Ubuntu 的网络配置文件位于 /etc/netplan/ 目录下,通常文件名为 01-netcfg.yaml 或 50-cloud-init.yaml。
备份原文件:
sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.bak
编辑配置文件:
sudo nano /etc/netplan/01-netcfg.yaml
配置示例(以最常用的模式 1:主备模式为例):
将文件内容修改为如下结构(注意 YAML 文件的缩进极其严格):
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: no
enp2s0:
dhcp4: no
bonds:
bond0:
interfaces:
- enp1s0
- enp2s0
addresses:
- 192.168.253.89/24 # 设置你的静态IP
routes:
- to: default
via: 192.168.253.254 # 设置网关
nameservers:
addresses:
- 8.8.8.8
- 114.114.114.114
parameters:
mode: active-backup # 绑定模式:主备模式
mii-monitor-interval: 100 # 链路检查间隔(ms)
4. 选择合适的绑定模式 (Mode)
在 parameters 下的 mode 中,你可以根据需求选择:
active-backup (Mode 1): 【最常用】主备模式。只有一个网卡工作,另一个备份。不需要交换机做特殊配置。
balance-rr (Mode 0): 轮询负载均衡。增加带宽,但需要交换机支持端口聚合。
802.3ad (Mode 4): LACP 动态链路聚合。需要交换机支持并配置 LACP,能大幅提升带宽和可靠性。
balance-alb (Mode 6): 适应性负载均衡。不需要交换机配置,实现接收和发送的负载均衡。
5. 应用配置
在应用之前,建议先测试配置是否有误:
sudo netplan try
如果没有报错并断开连接,按回车确认。或者直接应用:
sudo netplan apply
6. 验证绑定状态
查看逻辑接口状态:
ip addr show bond0
查看绑定的详细信息(包括哪个网卡正在活动):
cat /proc/net/bonding/bond0
在输出中,你会看到 Currently Active Slave,这表明当前正在工作的网卡。
7. 测试故障切换
你可以通过物理拔掉一根网线,或者使用命令禁用当前活动的网卡,观察网络是否依然连通:
sudo ip link set enp1s0 down
然后再次查看 cat /proc/net/bonding/bond0,你会发现活动网卡自动切换到了 enp2s0,且 ping 命令不应该有明显的掉包。
常见问题
缩进错误: Netplan 使用 YAML 格式,必须使用空格缩进,不能使用 Tab。
网卡名称: 务必确认 ip link 看到的真实网卡名,旧系统可能是 eth0,新系统通常是 enp...。
交换机配合: 如果你使用 Mode 4 (LACP),必须在物理交换机端对应的两个端口也配置 Link Aggregation (LAG)。
原创发布在 袁与张 站点,允许转载,但转载请备注来源!
暂无评论数据