1.
概述与准备工作
说明双向CN2的含义与适用场景;准备清单:
a) 获取或确认公网前缀与ASN(供应商直配或租用PA/PI);
b) 确认上游:至少两条上游链路(CN2-A、CN2-B或CN2与其它ISP);
c) 准备一台支持BGP的边界路由器(Linux+FRR/BIRD 或硬件);
d) 监控与告警、日志宿主准备。
2.
BGP对等与基础配置(FRR示例)
步骤与命令示例:
a) 安装FRR并启用bgpd;
b) 配置示例(vtysh模式)——
router bgp 65010
bgp router-id 203.0.113.10
neighbor 198.51.100.1 remote-as 9808
neighbor 198.51.100.1 description CN2-A
neighbor 203.0.113.2 remote-as 9808
neighbor 203.0.113.2 description CN2-B
address-family ipv4 unicast
network 198.51.100.0/24
neighbor 198.51.100.1 activate
neighbor 203.0.113.2 activate
exit-address-family
c) 验证:show ip bgp summary,确保对端建立。
3.
路由选择策略:本地优先与备份策略
实操要点:
a) 使用route-map或policy设置local-preference控制入站优先:主链路设置高local-preference;
b) 备份链路通过AS_PATH prepend或降低local-pref来做出站流量退让;
c) 示例route-map:
route-map TO-CN2-PREF permit 10
set local-preference 200
!
将此route-map应用到主邻居的out方向。
4.
利用BGP Community与MED做精细化调度
细节步骤:
a) 向上游供应商索要支持的社区(CN2常有运营商自定义community);
b) 出站设置MED或社区以影响对端路由选择;
c) 在FRR中用route-map设置set metric或set community,然后apply到相应neighbor。
5.
虚拟主机层的多线方案与流量分配
实施步骤:
a) 如果是共享虚拟主机,尽量把关键站点放在有独立IP/路由的实例上;
b) 使用Anycast或BGP公告相同前缀到多个节点(需ISP支持);
c) 对于单机多链路,配置源策略路由(policy routing)使出站根据目标AS或地理位置走不同链路。
6.
故障检测与自动化切换
实现方法:
a) 链路检测:配置BFD与BGP-fast-convergence可在1-3秒内触发路由收敛;
b) 自动化:编写脚本监听BGP状态(vtysh show)并在检测到邻居down时自动修改route-map或withdraw特定前缀;
c) 测试:在维护窗口人工down上游口,观察BGP收敛时间与服务影响。
7.
容灾演练(演练前准备)
步骤清单:
a) 制定演练计划并通知相关方,定义恢复时间目标(RTO)与恢复点目标(RPO);
b) 准备回滚步骤、日志采集点与流量镜像;
c) 在非高峰期做第一次全流程演练并记录时间点。
8.
容灾演练(实操步骤)
详细步骤:
1) 记录基线:当前路由表、流量图、ping/mtr基线;
2) 模拟故障A:在主链路上执行ifdown或在上游请求邻居withdraw,记录BGP收敛(show ip bgp, show ip route);
3) 验证业务:用外部探针(国内、港台、欧美)打开网页与tcpdump抓包,确认流量走备链路且会话是否中断;
4) 恢复:上游恢复后核对路由回切情况并记录时间;
5) 总结并调整policy(如缩短BFD超时、调整local-pref)。
9.
演练后的验证与优化
检查点与持久改进:
a) 分析mtr/traceroute采样,确认路径变化符合预期;
b) 调整AS_PATH prepend强度或local-pref数值,避免抖动;
c) 将演练结论写入SOP并定期(建议季度)复演。
10.
常见风险与合规注意
要点提示:
a) CN2双向接入可能涉及与大陆运营商的合规与备案要求,确认IDC与上游资质;
b) BGP错误配置会导致大范围故障,演练前务必准备快速回滚命令;
c) 保持上游沟通渠道畅通,紧急情况下可让对端短时间withdraw以协助验证。
11.
问:在台湾部署双向CN2时,没有公网ASN怎么办?
答:没有公网ASN可以采用供应商提供的托管(shared ASN或单点公告)。操作步骤:联系上游要求“on-behalf-of”或被动公告你的子前缀;如果需要自治,考虑申请私有ASN配合NAT或向RIPE/APNIC申请公共ASN并评估费用与流程。
12.
问:如何快速验证切换是否生效?
答:演练时使用三步验证:1) BGP层面:show ip bgp summary与show ip bgp
确认路径来源;2) 网络层面:从多个地域用mtr/traceroute确认跳数与出接口;3) 应用层面:外部探针或合成监控(HTTP/TCP/SMTP等)确认响应与延时。
13.
问:演练频率与关键指标有哪些建议?
答:建议至少每季度做一次全流程演练,关键指标包含:BGP收敛时间(目标<30s或按业务要求)、会话丢失率、应用恢复时间(RTO)、以及演练后行动项完成率。每次演练生成报告并纳入变更管理。
来源:台湾服务器双向cn2 虚拟主机BGP多线策略与容灾演练建议