如何使用 nmcli 配置并启用双网卡绑定(NIC Bonding)?

问题浏览数Icon
87
问题创建时间Icon
2025-03-28 12:06:00
作者头像
lingyun77

使用 nmcli 配置双网卡绑定(NIC Bonding)的步骤如下:

  1. 创建绑定接口

    nmcli con add type bond con-name bond0 ifname bond0 mode active-backup

    可选模式(mode):active-backup(默认)、balance-rr(轮询)、802.3ad(LACP聚合)等,根据需求选择。

  2. 添加从属网卡

    nmcli con add type bond-slave ifname ens1f0 master bond0
    nmcli con add type bond-slave ifname ens1f1 master bond0

    替换 ens1f0ens1f1 为实际网卡名称。

  3. 配置IP地址

    nmcli con modify bond0 ipv4.addresses 192.168.1.10/24
    nmcli con modify bond0 ipv4.gateway 192.168.1.1
    nmcli con modify bond0 ipv4.dns 8.8.8.8
    nmcli con modify bond0 ipv4.method manual
  4. 激活绑定

    nmcli con up bond0

验证

  • ip addr show bond0 检查接口状态。
  • cat /proc/net/bonding/bond0 查看绑定详细信息。

注意事项

  • 确保网卡驱动支持绑定。
  • 若需持久化,配置需通过NetworkManager保存。
  • 使用 active-backup 模式时需验证故障切换功能。

更多回答

作者头像
netchase88

以下为使用nmcli配置双网卡绑定的实践经验总结:

一、操作步骤

  1. 创建bond接口

    nmcli con add type bond con-name bond0 ifname bond0 \
    mode=4 miimon=100 \
    ip4 192.168.1.100/24 gw4 192.168.1.1
    • mode=4对应LACP(802.3ad),生产环境推荐模式
    • miimon=100表示每100ms检测链路状态
  2. 添加从属接口

    nmcli con add type bond-slave ifname enp1s0 master bond0
    nmcli con add type bond-slave ifname enp2s0 master bond0
  3. 激活配置

    nmcli con up bond0

二、关键经验

  1. 交换机协同配置:LACP模式必须配置交换机端对应端口的聚合组,否则实际带宽无法叠加
  2. MAC地址一致性:建议设置fail_over_mac=1避免ARP缓存问题
  3. 驱动兼容性测试:Intel I350与Broadcom网卡混绑时曾出现协商异常,需统一驱动版本
  4. MTU特殊配置:当使用jumbo frames时,需在bond创建时指定mtu 9000

三、常见故障

  1. 链路状态漂移:因miimon间隔设置不当导致频繁切换,建议搭配downdelay=200 updelay=200
  2. 负载不均衡:通过xmit_hash_policy=layer3+4优化流量分发
  3. 服务启动失败:NetworkManager版本低于1.16时存在bonding配置解析缺陷
  4. 虚拟机逃逸问题:在KVM虚拟化环境中,需关闭网卡的allow-virtual-servers属性

验证命令:

cat /proc/net/bonding/bond0  # 查看绑定详情
ethtool enp1s0 | grep Link  # 验证物理链路
ip link show dev bond0      # 检查MTU与状态

注:生产环境建议部署后通过拔插网线测试故障转移,实际测得平均恢复时间为800ms-1.2s(视交换机性能)

作者头像
hongling09

使用nmcli配置双网卡绑定需遵循以下步骤:

  1. 创建Bond接口nmcli con add type bond con-name bond0 ifname bond0 mode=active-backup(按需选择模式,如mode=4为LACP)。
  2. 配置IPnmcli con mod bond0 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
  3. 添加从属网卡:依次执行nmcli con add type bond-slave ifname eth0 master bond0nmcli con add type bond-slave ifname eth1 master bond0
  4. 激活配置nmcli con up bond0,随后检查cat /proc/net/bonding/bond0确认状态。

注意点

  • 确保内核加载bonding模块(modprobe bonding)
  • 交换机配合:如LACP模式需启用对应聚合协议
  • 优先级:建议明确主备顺序
  • 物理接口建议先nmcli con del原有配置
  • 测试时拔线验证冗余切换是否正常
作者头像
milkwong9

使用 nmcli connection add type bond 创建绑定接口,再通过 nmcli connection add type bond-slave 添加两个网卡,最后启用绑定连接并分配IP即可。

作者头像
mistfeng66
  1. 创建绑定接口: sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup

  2. 添加从属网卡(示例为ens1f0和ens1f1): sudo nmcli con add type bond-slave ifname ens1f0 master bond0 sudo nmcli con add type bond-slave ifname ens1f1 master bond0

  3. 配置IP地址(示例静态IP): sudo nmcli con mod bond0 ipv4.addresses 192.168.1.10/24 sudo nmcli con mod bond0 ipv4.gateway 192.168.1.1 sudo nmcli con mod bond0 ipv4.dns 8.8.8.8 sudo nmcli con mod bond0 ipv4.method manual

  4. 启用配置: sudo nmcli con up bond0

验证: ip addr show bond0 cat /proc/net/bonding/bond0

作者头像
chenglian33

使用 nmcli 配置双网卡绑定(NIC 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可选模式:balance-rr(0)、active-backup(1)、balance-xor(2)等
    • 建议使用mode=1(主备模式)或mode=4(802.3ad动态聚合,需交换机支持LACP)
  2. 添加从属网卡

    nmcli con add type bond-slave ifname ens1f0 master bond0
    nmcli con add type bond-slave ifname ens1f1 master bond0

    替换ens1f0/ens1f1为实际网卡名

  3. 激活配置

    nmcli con up bond0
    nmcli con up bond-slave-ens1f0
    nmcli con up bond-slave-ens1f1
  4. 验证绑定状态

    cat /proc/net/bonding/bond0

关键注意事项

  • 确保网卡物理状态正常且驱动支持绑定
  • 不同绑定模式对交换机配置有不同要求
  • 使用autoconnect-slaves=1参数可自动激活从属接口
  • 建议配置静态IP避免DHCP冲突
  • 永久生效需确保NetworkManager服务启用(systemctl enable NetworkManager
作者头像
milkwong9
  1. 先创建bond接口:sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup(这里用的主备模式,按需求改mode)
  2. 把两个网卡加进去:sudo nmcli con add type bond-slave con-name slave1 ifname ens33 master bond0 和同样命令把ens34也加上
  3. 激活连接:sudo nmcli con up bond0
  4. 记得配IP地址(比如用nmcli修改bond0连接)
  5. 最后检查状态:cat /proc/net/bonding/bond0 能看到两个slave就稳了