在 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)。

分类: 系统运维 标签: 双网卡ubuntu

评论

暂无评论数据

暂无评论数据

目录