linux系统添加路由永久生效 linux系统添加网络连接方法
0
2026-06-08
Linux端口绑定(bonding)必须选对模式、交换机策略并验证流量分摊,否则无法实现负载均衡;推荐mode=6(balance-alb)交换机配合且收发端口分担,或mode=4(802.3ad)在支持LACP时更稳定。

直接说结论:Linux端口绑定(bonding)不是“配了就自动负载均衡”,必须选对ARP模式。 冲突或连接中断真正。怎么选bonding模式才实现实现负载分担
选错模式 Mode:mode =1(active-backup):只有一张卡发包,另一张纯备用——这是高可用,不是负载均衡;mode=0(balance-rr):轮询发包,但要求交换机端口必须聚合(如Cisco EtherChannel静态或LACP),否则交换机将来自同一MAC的包乱发到不同的端口,导致丢包;mode=4(802.3ad):需交换机启用LACP,且所有成员口速率/双工一致,协商成功后才能做发送分发;mode =6(balance-alb):最后交换机对接、收发端口双向分摊的模式——它靠arp_monitor + ethtool动态调整发送口,并伪造从属于中断的ARP响应,适合大多数物理服务器或云下裸金属环境。 p>
环境生产若无法控制交换机配置,优先用mode=6;能配LACP,mode=4更稳定、更标准。配置文件里BONDING_OPTS的关键参数不能漏
BONDING_OPTS不只是写个mode=6就完事,缺了下面几个参数,bond接口可能up不起来,或流程图故障不切换:mimon=100:设置,单位毫秒,表示每100ms MII链接有效,让存储基于源/目的IP+端口,比默认layer2(仅MAC)更能分散小流;不要在ifcfg-bond0里写GATEWAY——默认路由应由上层网络管理器或手动添加,否则多网关易冲突。
示例完整值:BONDING_OPTS="mode=6 miimon=100 updelay=200 downdelay=200 xmit_hash_policy=layer2+3" CentOS Linux 7.9.2009
CentOS Linux 7.9.2009 是传统CentOS Linux 7 图片 RHEL 7生态、文档丰富和软件支持广泛着称,曾长期用于Web服务内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。下载为什么ifconfig看起来正常,但全走eth0
常见现象:执行cat /proc/net/bonding/bond0显示两块都是MII状态:up,ip addr show bond0 也显示 UP,但 watch -n1 'cat /proc/net/dev | grep -E "eth0|eth1"' 发现只有 eth0 的 TX 字节数涨,eth1 几乎不动——单个长连接(如 rsync、scp)始终走同一张卡;需用curl 多个请求、或用 iperf3 -P 4 才能看到分流;ARP 响应被阻塞:如果启用了 arp_ignore 或 arp_announce(比如在 DR 模式下),mode=6 阅读更多: sysctl net.ipv4.conf.eth1.arp_ignore 应为0;物理仓库未真正接入:虚拟机里只挂了一张中断到host-only网络,另一张没调整交换机,mimon可能会因快速重连检测不到故障,仍认为“up”但实际不通。
重启网络后bond0不生效?先查这几个点
CentOS/RHEL系发行版改完成配置后,systemctl restart network ifcfg文件配置;检查/etc/sysconfig/network-scripts/ifcfg-*中所有物理网卡是否都设置了MASTER=bond0和SLAVE=yes,且BOOTPROTO=none(不能是dhcp或留空);bond0配置里不能有UUID 字段 —— 有则删掉,否则 systemd-networkd 可能拒绝加载;加载模块时若用 modprobe bond mode=6,要保证 /etc/modprobe.d/bonding.conf 里没有冲突的选项 Primary Slave 测空(mode=6 不依赖主)。
真正容易被忽略的是:bonding 的负载效果只在**出向多连接、入向多客户端访问**时才;单个服务明显在 bond0上,但客户端只从一个IP访问,回程路径就固定了——这个时候得配合策略路由或DNAT才能压满双卡带宽。