1.
引言与适用场景
本段说明适用对象与目标。适用对象:在台湾使用中华电信CN2链路并需与其他ISP做多链路备援的网络管理员或工程师。目标:在链路/对端故障时能快速诊断、切换到备援链路并回溯根因,确保业务可用性与最短恢复时间。
2.
准备工作与环境清单
小分段:设备与权限:确保有核心路由器(支持BGP、IP SLA或类似健康检测)、防火墙与交换器的管理权限。日志与时间:启用集中日志(syslog)、NTP同步。联络窗口:与中华电信NOC与备援ISP联系单建立好联络点与故障单流程。
3.
理解CN2特性与常见故障
小分段:CN2特点:低延时、优质回程,通常通过BGP对等;常见故障:链路中断、对端BGP会话掉线、MTU差异、黑洞路由或ACL误封。故障判断优先看链路物理与BGP会话状态。
4.
故障诊断第一步:快速确认
小分段:步骤:1) 检查接口状态:show interfaces brief(Cisco)或 ip link(Linux)。2) 检查BGP:show ip bgp summary,确认邻居State。3) 路由表:show ip route,定位是否有默认/特定前缀被撤回。必要时用ping/traceroute到上游网关与公网目标。
5.
日志与抓包:收集证据
小分段:启用并采集:1) router debug bgp events(谨慎用于低流量小时),2) tcpdump -i ethX host
and port 179(Linux边界防火墙),3) 同步syslog到中央服务器并标注时间窗口。
6.
故障快速恢复:手动切换到备援链路(步骤)
小分段:假设使用BGP主/备两条ISP链路。步骤:1) 验证备链路物理/邻居可达。2) 在路由器上调整本地优先级:对备链路提高local-preference或在主链路降低。示例(Cisco IOS):
- router bgp 65000
- neighbor X.X.X.X route-map TO_BACKUP out
- route-map TO_BACKUP permit 10
- set local-preference 200
3) 如需立即撤回主路由:clear ip bgp X.X.X.X soft out 或shutdown/undo shutdown接口(在可控维护时)。
7.
自动化故障切换:IP SLA + Track 配置示例
小分段:用IP SLA自动检测并触发路由切换(Cisco示例):
- ip sla 1
- icmp-echo 8.8.8.8 source-interface GigabitEthernet0/0
- frequency 10
- ip sla schedule 1 life forever start-time now
- track 10 ip sla 1 reachability
- route-map PREFER_MAIN permit 10
- set local-preference 300
- 在静态或策略路由上使用track:ip route 0.0.0.0 0.0.0.0 <主网关> track 10
效果:主链路不可达时,track失效,路由自动落到备援。
8.
BGP策略控制:路由选择细化
小分段:常见做法:利用AS-PATH、MED、LOCAL-PREF、community控制进出路由。示例:对CN2出口给对端打community让对端提高本地优先级;对备援施加更高MED以使其优先级低。示例命令(route-map/neighbor filter)按设备调整即可。
9.
MTU与防火墙注意事项
小分段:MTU问题常导致部分流量失败。检查并统一链路MTU:show interface;若需降低,设置ip mtu 1400或在防火墙上允许fragmentation/DF位处理。此外确认ACL/NAT策略在备援链路也同步,避免通过备援出现服务中断。
10.
回归恢复与根因分析(RCA)流程
小分段:恢复后步骤:1) 保存故障窗口日志并标注时间。2) 对照BGP更新与tcpdump分析,会话为何断开(Keepalive、shutdown、MTU或对端问题)。3) 与运营商沟通并索取链路事件报告。形成RCA文档并更新Runbook。
11.
运营建议与日常演练
小分段:建议:定期演练切换(计划演练、桌面演练),每月检查BGP邻居与IP SLA状态,自动化告警(例如Prometheus + Alertmanager或Zabbix)。保留回滚计划,并在变更前通知NOC与影响范围。
12.
用到的实用命令速查表
小分段:常用命令示例(Cisco/Linux):
- show ip bgp summary
- show ip route
- show interfaces
- clear ip bgp soft
- ip sla / track 配置
- tcpdump -i eth0 host and port 179
把这些放在Runbook便于快速查阅。
13.
常见问题Q&A — 问:如何确认是链路物理问题还是BGP会话问题?
小分段:答:先查看接口状态(show interfaces / ip link)。若物理UP但BGP Down,查看tcpdump是否收到TCP三次握手与Keepalive;若连不到对端IP或链路FLAP则为物理或中间转发问题。用traceroute到对端网关定位断点,并联系ISP核查链路。
14.
常见问题Q&A — 问:我的主链路恢复后如何平滑回切?
小分段:答:优先采用BGP soft-reconfiguration或调低备链路local-preference让流量逐步回到主链路。步骤:在主链路稳定后逐步恢复本地偏好(set local-preference到较高值),然后执行clear ip bgp soft in/out以重新吸纳路由,避免一次性流量突增。
15.
常见问题Q&A — 问:实施多链路备援有哪些常见误区?
小分段:答:常见误区包括只依赖单一检测点(建议多点监测)、忘记同步防火墙/NAT策略、未与ISP约定好BGP社区与SLA,以及演练不足。解决方法是建立监控、自动化切换脚本与定期演练,并保持与中华电信和备援ISP的沟通渠道。
来源:台湾中华电信cn2 的故障恢复与多链路备份实践经验分享