如何通过 nmcli 配置并启用 Linux 的网卡绑定功能?

问题浏览数Icon
170
问题创建时间Icon
2025-04-02 18:14:00
作者头像
bobo0101
  1. 创建Bond接口

    nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method disabled ipv6.method ignore

    注:mode支持balance-rr(0)/active-backup(1)/balance-xor(2)/broadcast(3)/802.3ad(4)等模式,按需替换

  2. 配置IP地址

    nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8

    根据实际网络环境修改IP配置

  3. 添加从属网卡

    nmcli connection add type bond-slave con-name bond0-slave-eth1 ifname eth1 master bond0
    nmcli connection add type bond-slave con-name bond0-slave-eth2 ifname eth2 master bond0

    重复该命令添加所有需绑定的物理网卡

  4. 激活配置

    nmcli connection reload
    nmcli connection down bond0
    nmcli connection up bond0
  5. 验证配置

    cat /proc/net/bonding/bond0
    ip addr show bond0

    检查Slave Interfaces状态和传输流量统计

更多回答

作者头像
ricklong77

作为虚拟化架构师,我在使用nmcli配置Linux网卡绑定时遵循以下步骤,并总结了实践中常见的挑战:

配置流程

  1. 创建绑定接口

    nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
    • 关键参数mode需明确指定(如balance-rr, 802.3ad),默认使用active-backup
    • 经验:生产环境推荐mode=802.3ad(需交换机支持LACP),冗余场景用active-backup
  2. 添加从属网卡

    nmcli con add type bond-slave ifname eth0 master bond0
    nmcli con add type bond-slave ifname eth1 master bond0
    • 常见错误:未先禁用原有网卡配置(nmcli con del eth0),导致IP冲突。
  3. 配置IP与激活

    nmcli con mod bond0 ipv4.addresses 192.168.1.10/24
    nmcli con mod bond0 ipv4.gateway 192.168.1.1
    nmcli con up bond0
    • 替代方案:使用DHCP时需设置ipv4.method auto
  4. 高级参数调优

    nmcli con mod bond0 bond.options miimon=100,primary=eth0
    • 关键优化miimon=100(链路检测间隔),primary指定主接口。

实践挑战与解决方案

  1. 模式兼容性问题

    • 部分旧内核版本对802.3ad支持不稳定,需确认cat /proc/net/bonding/bond0输出中模式已生效。
  2. 交换机配置依赖

    • 使用LACP(802.3ad)时,若交换机未配置动态聚合,会导致绑定接口无响应。
  3. 服务冲突

    • 若系统同时运行network.service与NetworkManager,需执行systemctl disable network避免配置覆盖。
  4. 驱动限制

    • 某些网卡驱动(如虚拟机VirtIO)需手动加载bonding模块:
      modprobe bonding && echo 'bonding' > /etc/modules-load.d/bonding.conf

验证与排错

  • 实时状态检查
    cat /proc/net/bonding/bond0
    输出应显示从属接口Slave Interface: eth0/eth1MII Status: up

  • 故障模拟测试
    拔除主网线后,在active-backup模式下应观察到Current Active Slave切换至备用接口。

  • 日志追踪
    journalctl -u NetworkManager -f
    可捕获绑定初始化失败或MII检测超时等错误。

作者头像
yueliang09

通过nmcli配置Linux网卡绑定(bonding)的关键步骤如下:

  1. 创建绑定接口

    nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad ip4 192.168.1.100/24 gw4 192.168.1.1

    指定模式(如mode4需交换机支持LACP),建议至少使用active-backup(mode1)或802.3ad(mode4)。

  2. 添加从属网卡

    nmcli con add type bond-slave ifname eth0 master bond0
    nmcli con add type bond-slave ifname eth1 master bond0

    确保物理接口未被其他配置占用。

  3. 激活配置

    nmcli con up bond0
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
  4. 验证

    cat /proc/net/bonding/bond0  # 查看绑定状态
    ip link show master bond0    # 确认从属接口关联

注意事项

  • 生产环境推荐mode4(LACP)或mode1(主备),需交换机配合
  • 使用autoconnect yes参数确保持久化
  • 通过nmcli device status检查所有接口状态
  • 双网卡绑定带宽聚合需物理交换机链路聚合支持
作者头像
pixelglow12

通过 nmcli 配置 Linux 网卡绑定的步骤如下:

  1. 创建绑定接口:nmcli con add type bond con-name bond0 ifname bond0 bond.options "mode=balance-alb,miimon=100"
  2. 添加从属网卡:nmcli con add type bond-slave ifname eth0 master bond0nmcli con add type bond-slave ifname eth1 master bond0
  3. 启用绑定:nmcli con up bond0

延伸知识点:绑定模式 balance-alb(mode 6)详解 该模式通过 ARP 协商实现自适应负载均衡,兼具发送和接收流量分配。其特点包括:

  1. 主动备份冗余+动态负载均衡组合
  2. 使用 ARP 广播应答机制探测对端状态
  3. 无需交换机特殊配置
  4. 通过 MAC 地址重写实现双向流量分发
  5. 故障切换时间依赖 miimon 参数(毫秒级检测) 实际应用中需注意:当绑定成员速度不匹配时可能引发哈希分配不均,建议搭配相同规格网卡使用。
作者头像
quickstep22

作为客户技术经理,根据多年经验,通过nmcli配置Linux网卡绑定的核心步骤可总结为:

  1. 绑定模式选择:根据场景选择模式(如mode=4/802.3ad适用于交换机聚合),需确保硬件支持
  2. 创建绑定接口nmcli con add type bond con-name bond0 ifname bond0 mode=4 miimon=100
  3. 添加从属网卡nmcli con add type ethernet slave-type bond con-name slave1 ifname eth0 master bond0(同理配置eth1)
  4. 激活配置nmcli con reload + nmcli con up bond0
  5. 验证cat /proc/net/bonding/bond0查看状态 关键注意点:需关闭NetworkManager冲突服务、检查驱动兼容性、提前备份原有配置。实际部署建议结合交换机LACP协商模式,并做好物理链路冗余测试。
作者头像
longxiao01

使用nmcli创建绑定接口并添加从属网卡,例如:nmcli con add type bond con-name bond0 ifname bond0 mode active-backup,然后为每个从属网卡执行nmcli con add type bond-slave并激活连接即可。

作者头像
yunshang11

通过nmcli配置Linux网卡绑定(bonding)需遵循以下步骤:

  1. 创建绑定接口

    nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ip4 192.168.1.100/24 gw4 192.168.1.1

    指定mode(如active-backup、802.3ad等)并配置IP。

  2. 添加从属网卡

    nmcli con add type bond-slave ifname eth0 master bond0
    nmcli con add type bond-slave ifname eth1 master bond0

    将物理接口(如eth0、eth1)绑定至bond0。

  3. 激活配置

    nmcli con up bond0
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
  4. 验证

    cat /proc/net/bonding/bond0

    检查状态及模式是否生效。

注意事项

  • 确保物理接口无独立IP配置且处于托管状态(nmcli dev set eth0 managed yes)。
  • 模式选择需匹配交换机配置(如802.3ad要求LACP支持)。
  • 使用miimon=100等参数可添加链路检测(通过bond.options字段)。