机房带宽冗余设计,防止单链路断网故障:机房带宽冗余设计

机房只有一条宽带时,
光猫、
光纤或运营商任一环节出问题,
整柜业务就会断网。带宽冗余设计的核心是让至少两条独立链路同时在线,
并通过自动检测在主链路故障时切换到备用链路。
下面从准备、
配置、
避坑到验证,
给出零基础也能照做的步骤。

先确认你需要的冗余级别

不是所有业务都要做 BGP 多线。
判断条件如下:

  • 普通企业官网、内部 OA:两条不同运营商的普通宽带,用多 WAN 口路由器做故障切换即可。
  • 对外提供 API 或交易服务:建议至少两条不同物理路由的专线,并在路由器上配置 BGP 与链路检测。
  • 预算有限但要求高可用:可以主链路用专线,备用链路用 4G/5G 路由器,通过 track 联动默认路由。

关键原则是:两条链路必须来自不同运营商、不同物理管道,否则同一段光缆被挖断时冗余无效。

设备与信息准备

开始配置前,准备好以下内容:

  • 两台支持多 WAN 或 BGP 的路由器(如 RouterOS、华为 AR 系列或 Linux 软路由)。
  • 两条宽带的账号、网关 IP、DNS。
  • 若用 BGP,需要向运营商申请 AS 号和公网 IP 段。
  • 登录路由器的管理权限。

本文以 Linux 软路由(Debian/Ubuntu)配合 frr 实现 BGP,用 iproute2 做链路检测为例,其他品牌路由器逻辑相同。

配置多链路与自动切换

1. 为两条链路配置独立网关

假设主链路网卡 eth0,网关 202.1.1.1;
备用链路 eth1,网关 202.2.2.1。

# 添加两条默认路由,主链路优先级更高
ip route add default via 202.1.1.1 dev eth0 metric 100
ip route add default via 202.2.2.1 dev eth1 metric 200

metric 越小优先级越高。
系统会自动选择 metric 100 的链路。

2. 写链路检测脚本

创建 /usr/local/bin/check_link.sh:

#!/bin/bash
# 检测主链路网关是否可达
if ping -c 2 -W 2 202.1.1.1 > /dev/null 2>&1; then
  # 主链路正常,确保主路由优先级最高
  ip route replace default via 202.1.1.1 dev eth0 metric 100
else
  # 主链路故障,切换到备用链路
  ip route replace default via 202.2.2.1 dev eth1 metric 100
fi

赋予执行权限:

chmod +x /usr/local/bin/check_link.sh

3. 加入定时任务

crontab -e

添加一行,每 10 秒检测一次:

* * * * * /usr/local/bin/check_link.sh
* * * * * sleep 10; /usr/local/bin/check_link.sh
* * * * * sleep 20; /usr/local/bin/check_link.sh

如果路由器支持 track 或 SLA,直接在管理后台配置更稳定。
例如华为路由器:

interface GigabitEthernet0/0/1
 track 1 ip route 202.1.1.1 32

4. BGP 场景下的冗余

如果两条链路都接入了同一运营商的不同城域网,可运行 BGP 与上游建立邻居。
在 frr 中编辑 /etc/frr/frr.conf:

router bgp 65001
 neighbor 202.1.1.1 remote-as 100
 neighbor 202.2.2.1 remote-as 100
 network 203.0.113.0/24

重启 frr:

systemctl restart frr

BGP 会自动根据链路状态撤销或发布路由,切换速度通常在秒级。

容易踩坑的地方

  • 两条链路同运营商同管道:物理光缆一断全断,冗余形同虚设。务必确认运营商提供的是不同路由。
  • 只做了链路切换,没做 NAT 或源地址切换:备用链路可能因源 IP 不对被上游丢弃。需要在切换脚本中同时调整 SNAT 规则。
  • 检测目标选错:如果 ping 的是公网 DNS,可能因 DNS 故障误判。建议 ping 运营商网关或直接检测接口状态。
  • 切换后不切回:脚本每次运行时都判断主链路,主链路恢复后会自动切回,但如果用 ip route add 而不是 replace,会残留多条默认路由导致混乱。

验证冗余是否生效

配置完成后,按以下步骤确认:

  1. 查看当前默认路由:
ip route show default

应只显示一条 metric 最小的默认路由。

  1. 手动断开主链路网线或禁用 eth0:
ip link set eth0 down

等待 10-30 秒,再次查看默认路由,应已切换到 eth1 的网关。

  1. 从外部 ping 你的公网 IP,或访问业务端口,确认服务未中断。
  2. 恢复 eth0:
ip link set eth0 up

默认路由应自动切回主链路。

常见疑问

备用链路需要多大带宽? 至少能承载故障期间的全部业务流量,否则切换后会出现拥塞。

一定要用 BGP 吗? 如果只是防止单点断网,普通多 WAN 故障切换就够用。
BGP 更适合需要固定公网 IP 段、多线接入的场景。

切换需要多久? 取决于检测间隔和路由收敛速度,通常在 10-30 秒内,可调整脚本频率缩短。

两条链路带宽不同怎么办? 主链路用大带宽,备用链路用小带宽做保底,并在切换脚本中设置 metric 优先级即可。

完成以上配置后,建议每季度模拟一次断网演练,确认切换逻辑仍然有效。

分享到:
上一篇
服务器托管避坑,机柜带宽合同隐藏条款:服务器托管避坑
下一篇
机房网络交换机配置,VLAN划分隔离业务
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意