
1) 明确目标:实现主动/被动或主动/主动的多线容灾,期望 RTO/RPO 与业务优先级。
2) 必要清单:获得两家运营商(NTT 与 CN2)在香港的物理/虚拟电路、各自的对端 ASN、对端 IP、BGP 决议参数(MD5、holdtime)、MPLS/L3VPN/专线信息、以及公网 IP / 前缀授权文件。
3) 拓扑决策:是单设备双上游(CE 双链路)还是两地双机房?建议在同一机房双上游先行验证,再做多站点扩展。
4) 备份与切换策略:DNS TTl、BGP 本地优先 (local-pref)、AS-path prepend、MED 结合健康检测(BFD/ICMP/TCP)实现不同粒度的切换。
1) 接入链路:确认端口速率、MTU(CN2 常需较大 MTU 支持)与VLAN标签,避免分片导致性能问题。
2) 备份链路:配置物理链路聚合(LACP)用于同一运营商多链路冗余;不同运营商切勿 LACP,做独立接口并上层做策略路由。
3) 时间同步与设备命名:启用 NTP,便于日志比对;接口命名清晰(例如: po-ntt、po-cn2)。
1) 建立 EBGP 会话:分别与 NTT 与 CN2 建立 EBGP,配置各自对端 IP 与 ASN。示例:
router bgp 65000
neighbor 203.0.113.1 remote-as 2914 ! NTT ASN
neighbor 203.0.113.1 password 7 <密钥>
neighbor 198.51.100.1 remote-as 4809 ! CN2 ASN
2) 保持策略:设置 BFD 加速故障检测(若设备支持)。
3) 验证:show ip bgp summary、show bgp neighbors、查看 prefix 接受情况。
1) 本地优先级:通过 route-map 给 NTT 或 CN2 的特定前缀设置 local-pref,例如对关键客户偏向 NTT:
route-map PREFER_NTT permit 10
set local-preference 200
2) AS-PATH Prepend:在非首选链路对外发布时增加 prepend,降低被选为出口的可能。
3) 基于源地址或服务分流:在 CE 上用 PBR(policy-based routing)或 SD-WAN 将不同业务(web、API、备份)发往不同上游。
1) 使用 BFD 或 IP SLA + tracked-object:BFD 实现毫秒级检测,配合 BGP 会话上下线导致路由收敛;没有 BFD 则用 IP SLA (icmp/tcp) 监测对端/目标服务。
2) 配置示例(Cisco IP SLA):
ip sla 1
icmp-echo 8.8.8.8 source-interface Gig0/0
ip sla schedule 1 life forever start-time 0
track 1 ip sla 1 reachability
interface Gig0/0
ip address ...
ip route 0.0.0.0 0.0.0.0 203.0.113.1 track 1 ! 若不可达则切换下一跳
3) BGP 与Track 联动:通过 route-map 调整 local-pref 或撤销 route advertisement 实现服务级切换。
1) NAT:若有 SNAT,确保两链路的 SNAT 行为一致或使用对称 NAT,以防会话断裂。
2) 防火墙策略:在防火墙上允许两运营商对端的 BGP、ICMP、健康检测端口以及业务端口;同步状态表或使用会话镜像避免热切换时会话丢失。
3) 会话粘滞:对需会话保持的服务考虑使用全局负载均衡或 Anycast。
1) DNS TTL 策略:把公共业务的 TTL 设为较低(60-300s)以便 DNS 切换时迅速生效,但注意 DNS 查询量与缓存问题。
2) 结合 GSLB/云 DNS:通过健康探测控制域名解析优先级,将流量导向 NTT/CN2 的任意一端。
3) 备用方案:配合 BGP 进行骨干级流量切换,DNS 作更大粒度的流量分配。
1) 测试场景:链路故障、BGP 会话断开、上游丢包/延迟、MTU 不一致等,逐项验证。
2) 自动化演练:写脚本模拟故障并验证流量切换(例如关掉接口或把 BGP admin-distance 调整至更差)。
3) 监控指标:BGP 会话状态、丢包/延迟、流量路径、业务响应时间、SNAT 会话数,建议使用 Grafana/Prometheus 与告警(短信/钉钉/邮件)。
问:实际部署时经常碰到哪些问题会导致容灾策略失效?
答:常见问题包括:MTU/路径 MTU 导致 TCP 性能下降;SNAT/防火墙会话不同步导致切换时会话中断;BGP 属性配置冲突(local-pref/prepend 不一致)导致流量不按预期走;健康检测配置不准确或过慢不能触发切换;以及运营商侧对等策略(blackholing、社区过滤)未提前沟通。
问:业务要求快速切换,如何实现毫秒级别的上游切换?
答:使用 BFD 联动 BGP 可实现毫秒级检测与收敛;配合 fast-reroute(FRR)以及本地策略(precomputed next-hop)减少收敛时间;同时确保运营商支持 BFD 与快速撤销前缀。注意:硬件与上游特性限制切换下限。
问:在正式切换到双线生产前应当完成哪些验收项?
答:验收清单包括:双向 BGP 建链并验证前缀可达;健康检测触发与路由切换脚本有效;SNAT/防火墙在切换后会话行为可接受;流量分流策略按设计生效;演练故障恢复与完整监控告警流程;与运营商确认社区/过滤策略与故障通知机制。