1.
总体设计思路与准备
说明:先规划目标、预算与可用链路类型。
小分段:a) 目标:实现主链路故障时30秒内流量切换、监控告警并保留会话(尽量)。
b) 备选链路类型:第二家/第三家ISP的公网链路、跨境专线/级联MPLS、云厂商香港机房公网出口、IPSec/GRE隧道到境内CPE或云中转。
c) 准备资源:两家以上ISP接入位于大陆的边界路由器(支持BGP/BFD)、香港机房公网或云EIP、域名托管支持API的DNS。
2.
多ISP与BGP多播建网(主方案)
步骤:与至少两家ISP签订BGP上行,申请或使用独立公网前缀(建议/24)。
小分段:a) 在边界路由器配置BGP:示例(Cisco):neighbor 203.0.113.1 remote-as 65001;neighbor 203.0.113.1 ebgp-multihop 2;network 198.51.100.0 mask 255.255.255.0。
b) 使用BFD缩短故障检测:bfd interval 50 min_rx 50 multiplier 3;在BGP会话绑定BFD。
c) 路由策略:通过route-map或policy调整对不同ISP的出站优先级(MED、AS-path prepend、local-preference)。
3.
Anycast与多点部署(提高就近性与容灾)
步骤:在香港多个机房部署同一IP前缀的Anycast或使用云Anycast服务。
小分段:a) 在不同POP中同时宣告/24(通过不同上游ISP或云骨干)。
b) 客户端到最近POP路由最短路径,任一POP故障自动BGP收敛。
c) 注意Anycast对会话粘性要求,建议结合分布式负载均衡或全局会话同步(数据库/缓存同步)。
4.
隧道与SD-WAN备份(跨境专线不可用时)
步骤:在各站点部署IPSec或GRE隧道,并用SD-WAN控制器做策略转发。
小分段:a) 在路由器上配置IPSec:crypto isakmp policy 10; crypto map CMAP 10 ipsec-isakmp; set peer x.x.x.x; set transform-set AES-SHA。
b) 建议在隧道上启用动态路由(OSPF/BGP)并做优先级控制为次优路由。
c) SD-WAN可按应用、延迟与丢包动态选择链路,降低手工切换风险。
5.
DNS层面的主动切换与TTL策略
步骤:使用带健康检查的DNS(或API可控的Route53/Cloudflare)做流量切换。
小分段:a) 将A记录设置为主IP与备IP,主失效时自动切到备(使用健康检查和低TTL如60s)。
b) 推荐同时使用DNS Failover + BGP,以覆盖不同故障场景(链路断、机房断)。
c) 示例:通过Cloudflare API监测HTTP 200,若连续3次失败则将流量切到备IP。
6.
负载均衡与会话保持(应用层容灾)
步骤:在香港部署HAProxy/Nginx或云LB实现多后端分发与健康检查。
小分段:a) HAProxy示例health check:option httpchk GET /health; server hk1 10.0.0.1:80 check inter 2000 rise 2 fall 3。
b) 对需要会话粘性的服务使用cookie或源地址哈希;对长连接(如WebSocket)考虑会话迁移策略。
c) 在多机房同步配置与证书,保证切换无SSL握手失败。
7.
地址方案与NAT/防火墙配置
步骤:规划公网前缀、NAT策略和防火墙允许的跨网段流量。
小分段:a) 若使用独立前缀,直接在边界设备做公网路由,不做强NAT。
b) 使用负载均衡时可在LB上做SNAT或在后端做真实IP透传(X-Forwarded-For)。
c) 确保防火墙同时允许来自各备链路的源地址段并同步规则。
8.
监控、告警与自动化脚本
步骤:建立从大陆与香港多点的主动监测,使用Prometheus+Alertmanager或Zabbix。
小分段:a) 监控项:BGP状态、丢包、延迟、HTTP状态码、链路带宽。
b) 自动化:编写切换脚本调用DNS API或通过Netconf/Ansible修改路由优先级;示例:使用curl调用DNS更新接口并记录回滚点。
c) 告警策略:链路二次确认+手动确认阈值,避免误触发切换。
9.
测试演练与切换流程
步骤:定期做故障演练(非高峰)并记录RTO/RPO。
小分段:a) 演练项目:主ISP断连、香港某机房下线、DNS切换失败恢复。
b) 演练步骤写入Runbook:具体命令、负责人、回滚方法。
c) 验证用户体验:模拟大陆访问,使用mtr、curl与浏览器测试并采集日志。
10.
问:多路径冗余成本高吗,如何评估投资回报?
小分段:答:成本与可用链路、硬件与运维相关。评估方法:计算因单点故障造成的收入/用户流失损失(每小时损失×可能故障小时数),对比多线路与云备份的月度/年化成本。实践中可先做低成本混合方案(云EIP+自动DNS)验证,再按需要升级到BGP和专线。
11.
问:大陆到香港常见的单点风险主要有哪些,我如何优先处理?
小分段:答:常见单点风险包括单一ISP链路、单机房电力或交换设备、单一DNS服务。优先级:1) 为边界链路增加第二条不同运营商的上行;2) 在不同香港机房部署服务或使用云多AZ;3) 使用支持健康检查的DNS并降低TTL。按故障影响与成本逐步加固。
12.
问:实施中常见的陷阱与注意事项有哪些?
小分段:答:注意事项:a) BGP宣告必须符合上游接受规则(/24更易被接收);b) 切换测试要在业务窗口演练,避免SSL/cookie/会话丢失;c) Anycast可能导致会话散落,需提前设计会话同步;d) 自动化脚本需有幂等性与回滚,告警抑制避免风暴切换。
来源:多路径冗余方案降低大陆连接香港服务器地址单点风险