- 先创建bond接口:
sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
(这里用的主备模式,按需求改mode) - 把两个网卡加进去:
sudo nmcli con add type bond-slave con-name slave1 ifname ens33 master bond0
和同样命令把ens34也加上 - 激活连接:
sudo nmcli con up bond0
- 记得配IP地址(比如用nmcli修改bond0连接)
- 最后检查状态:
cat /proc/net/bonding/bond0
能看到两个slave就稳了
如何使用 nmcli 配置并启用双网卡绑定(NIC Bonding)?
使用 nmcli 配置双网卡绑定(NIC Bonding)的步骤如下:
-
创建绑定接口:
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)
-
添加从属网卡:
nmcli con add type bond-slave ifname ens1f0 master bond0 nmcli con add type bond-slave ifname ens1f1 master bond0
替换
ens1f0
/ens1f1
为实际网卡名 -
激活配置:
nmcli con up bond0 nmcli con up bond-slave-ens1f0 nmcli con up bond-slave-ens1f1
-
验证绑定状态:
cat /proc/net/bonding/bond0
关键注意事项:
- 确保网卡物理状态正常且驱动支持绑定
- 不同绑定模式对交换机配置有不同要求
- 使用
autoconnect-slaves=1
参数可自动激活从属接口 - 建议配置静态IP避免DHCP冲突
- 永久生效需确保NetworkManager服务启用(
systemctl enable NetworkManager
)
-
创建绑定接口:
sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
-
添加从属网卡(示例为ens1f0和ens1f1):
sudo nmcli con add type bond-slave ifname ens1f0 master bond0
sudo nmcli con add type bond-slave ifname ens1f1 master bond0
-
配置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
-
启用配置:
sudo nmcli con up bond0
验证:
ip addr show bond0
cat /proc/net/bonding/bond0
使用 nmcli connection add type bond
创建绑定接口,再通过 nmcli connection add type bond-slave
添加两个网卡,最后启用绑定连接并分配IP即可。
使用nmcli配置双网卡绑定需遵循以下步骤:
- 创建Bond接口:
nmcli con add type bond con-name bond0 ifname bond0 mode=active-backup
(按需选择模式,如mode=4为LACP)。 - 配置IP:
nmcli con mod bond0 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
。 - 添加从属网卡:依次执行
nmcli con add type bond-slave ifname eth0 master bond0
和nmcli con add type bond-slave ifname eth1 master bond0
。 - 激活配置:
nmcli con up bond0
,随后检查cat /proc/net/bonding/bond0
确认状态。
注意点:
- 确保内核加载
bonding
模块(modprobe bonding) - 交换机配合:如LACP模式需启用对应聚合协议
- 优先级:建议明确主备顺序
- 物理接口建议先
nmcli con del
原有配置 - 测试时拔线验证冗余切换是否正常
以下为使用nmcli配置双网卡绑定的实践经验总结:
一、操作步骤
-
创建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检测链路状态
-
添加从属接口
nmcli con add type bond-slave ifname enp1s0 master bond0 nmcli con add type bond-slave ifname enp2s0 master bond0
-
激活配置
nmcli con up bond0
二、关键经验
- 交换机协同配置:LACP模式必须配置交换机端对应端口的聚合组,否则实际带宽无法叠加
- MAC地址一致性:建议设置
fail_over_mac=1
避免ARP缓存问题 - 驱动兼容性测试:Intel I350与Broadcom网卡混绑时曾出现协商异常,需统一驱动版本
- MTU特殊配置:当使用jumbo frames时,需在bond创建时指定
mtu 9000
三、常见故障
- 链路状态漂移:因miimon间隔设置不当导致频繁切换,建议搭配
downdelay=200 updelay=200
- 负载不均衡:通过
xmit_hash_policy=layer3+4
优化流量分发 - 服务启动失败:NetworkManager版本低于1.16时存在bonding配置解析缺陷
- 虚拟机逃逸问题:在KVM虚拟化环境中,需关闭网卡的
allow-virtual-servers
属性
验证命令:
cat /proc/net/bonding/bond0 # 查看绑定详情
ethtool enp1s0 | grep Link # 验证物理链路
ip link show dev bond0 # 检查MTU与状态
注:生产环境建议部署后通过拔插网线测试故障转移,实际测得平均恢复时间为800ms-1.2s(视交换机性能)
使用 nmcli 配置双网卡绑定(NIC Bonding)的步骤如下:
-
创建绑定接口:
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
可选模式(mode):
active-backup
(默认)、balance-rr
(轮询)、802.3ad
(LACP聚合)等,根据需求选择。 -
添加从属网卡:
nmcli con add type bond-slave ifname ens1f0 master bond0 nmcli con add type bond-slave ifname ens1f1 master bond0
替换
ens1f0
和ens1f1
为实际网卡名称。 -
配置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
-
激活绑定:
nmcli con up bond0
验证:
ip addr show bond0
检查接口状态。cat /proc/net/bonding/bond0
查看绑定详细信息。
注意事项:
- 确保网卡驱动支持绑定。
- 若需持久化,配置需通过NetworkManager保存。
- 使用
active-backup
模式时需验证故障切换功能。