海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战

标签: 网络排障、mtr、BGP、Cloudflare、运维、故障分析

一、为什么要先判断影响范围?

海外系统突然不可用时,运维人员通常会先检查本地 DNS、出口设备、路由策略和应用配置。但如果同一国家的多个用户在相近时间集中反馈异常,故障点就可能位于企业控制范围之外。

先判断是不是区域性异常,可以避免过早修改配置,也有利于保留现场证据。

Cloudflare 于 2026 年 10 月 27 日发布第三季度断网回顾。2026 年 7---9 月,Cloudflare Radar 共记录 49 起断网事件。需要注意,这些数据来自流向 Cloudflare 客户的流量观测,并不是全球所有网络故障的完整统计。

二、49 起断网事件如何分类?

分类 次数 说明
主动断网 19 起 其中 18 起为伊拉克考试期间的定时断网,每次约 15---90 分钟;另 1 起情况不同
停电 14 起 分布在 10 个国家,可能影响基站、路由器、数据中心及互联互通设施
自然灾害 5 起 包括台风、地震、山洪等
其他未归类事件 11 起 报告还提及光缆中断、网络攻击和原因不明的单一运营商故障

报告没有单独统计光缆损伤次数。正文提到圭亚那运营商因光缆中断断网、俄罗斯远东骨干光缆受损,以及哥伦比亚地震造成光纤设施损坏并引发约四天半断网,但不能据此推导光缆故障的独立总数。

报告还提到,14 起事件在 1 小时内恢复,16 起在 3 小时内恢复。原文没有说明两组是否重叠,因此不能简单相加。

三、三个案例说明故障可能发生在哪些层面

1. 洪都拉斯:互联互通设施停电

2026 年 9 月 10 日,一处网络互联互通设施停电,至少 11 家主要运营商受到影响,全国流量下降 63%,持续约 3 小时。

这个案例说明,关键网络设施的共同依赖可能扩大故障影响范围。即使运营商各自拥有网络设备,也可能受到共享设施的影响。

2. 美国凤凰城:数据中心冷却系统故障

2026 年 8 月 13 日,一处数据中心冷却系统故障,Namecheap 流量几乎归零。

服务不可用并不一定意味着公共网络路径发生中断。托管设施、供电、冷却系统或服务端运行状态,同样可能成为故障源头。

3. 日本熊本:不同接入类型表现不同

地震期间,桌面端流量受到影响,而移动端流量基本未受影响。

这说明,同一地区不同接入类型的表现可能存在差异。排查时需要区分固定网络、移动网络和具体运营商,不能只凭单一用户的结果推断整个地区的网络状态。

四、分层排查:外部观测、AS 查询与 mtr

第一步:查看外部观测平台

先查看 Cloudflare Radar 断网中心:

https://radar.cloudflare.com/outage-center

重点关注目标国家或运营商在故障时段是否出现流量异常。

随后可以使用 IODA 进行交叉验证:

IODA

IODA 结合 BGP 路由可见性、主动探测和网络望远镜等数据,提供国家、地区和自治系统等粒度的观测。

如果多个信号在同一时段共同下降,可以增强对区域性异常的判断。但单条曲线异常并不能直接证明整个地区断网。

还要注意时区:Radar 使用 UTC 时间,与北京时间对照时需要加 8 小时。

第二步:查询目标 IP 对应的自治系统

自治系统(AS)可以理解为互联网路由体系中由一个网络主体管理的一组路由资源。

可以使用 Team Cymru 的 whois 服务查询目标 IP:

复制代码
whois -h whois.cymru.com " -v 203.0.113.10"

示例地址 203.0.113.10 是文档专用保留地址,不是实际业务目标。排查时需要替换为真实目标 IP。

获取 AS 编号后,可以回到 Radar 或 IODA 检查该 AS 在相同时间段的流量变化。

例如:

  • 国家整体流量明显下降:优先检查区域性异常。

  • 国家整体正常,但某个 AS 出现明显异常:进一步核查对应运营商及其上游网络。

  • 只有单个服务不可用:还需要排查服务端、DNS 和托管设施。

第三步:使用 mtr 观察网络路径

基本命令:

复制代码
mtr -rwzc 50 203.0.113.10

其中,-r 表示报告模式,-w 使用宽输出,-z 显示 AS 信息(具体支持情况取决于版本),-c 50 表示发送 50 轮探测。

如果目标不回应 ICMP,可以尝试 TCP 443 模式:

复制代码
sudo mtr -rwzc 50 -T -P 443 203.0.113.10

TCP 模式在 Linux 和 macOS 上通常需要管理员权限,且具体参数支持情况取决于 mtr 版本。

判断 mtr 结果时,不要只看某一跳的丢包百分比。

中间路由器可能限制对探测包的回应。如果某一跳显示丢包,但后续节点和最终目标正常,不能据此认定链路存在端到端丢包。

更值得关注的是:丢包是否从某一跳开始,并持续影响后续节点直到最终目标。

五、如何根据结果确定下一步?

观测结果 优先判断 下一步
目标国家整体流量明显下降 区域性异常或基础设施故障 留存时间点,持续观察恢复并通知业务方
国家整体正常,但某个 AS 异常 单一运营商问题 联系对方核实运营商状态
外部平台正常,mtr 在本地出口附近持续异常 本地出口或上游路径 使用多个目标和多个时段交叉测试
外部平台和 mtr 基本正常,单个系统不可用 DNS、应用、主机或托管设施 检查服务端状态、域名解析及服务商公告

这张表用于缩小排查范围,而不是直接给出根因结论。实际定位仍需要结合业务监控、运营商反馈和服务端日志。

六、间歇性故障如何留存证据?

单次 mtr 只能反映某个时刻的路径状态。如果故障间歇出现,建议在异常时段定时采样,将结果与 Radar、IODA 的曲线进行对照。

下面是一个简单的 Bash 示例,每隔 5 分钟执行一次 mtr,默认采样 12 次:

复制代码
#!/usr/bin/env bash

# 用法:bash mtr_log.sh <目标IP> [采样次数]

target="$1"
times="${2:-12}"

if [[ -z "$target" ]]; then
  echo "用法:bash mtr_log.sh <目标IP> [采样次数]"
  exit 1
fi

for i in $(seq 1 "$times"); do
  ts=$(TZ=Asia/Shanghai date +%Y%m%d_%H%M%S)

  mtr -rwzc 20 "$target" \
    > "mtr_${target}_${ts}.txt" 2>&1

  sleep 300
done

使用前需要确认:

  • 本机已安装 mtr。

  • 目标 IP 参数有效。

  • 当前用户具有必要的执行权限。

  • 输出目录可写,且日志文件符合内部数据管理规范。

脚本记录的是路径观测结果,并不等于完整的网络日志。

另外,脚本文件名使用北京时间,而 Radar 使用 UTC。对照数据时,需要将北京时间减去 8 小时。

七、排查时需要注意的局限

  1. 外部观测存在覆盖边界。 Radar 主要观察流向 Cloudflare 客户的流量,不代表整个互联网。

  2. 平台没有标注,不等于没有故障。 短时异常可能尚未出现在事件列表中,或在标注前已经恢复。

  3. 中间节点丢包不等于端到端丢包。 需要结合后续节点、最终目标和其他观测数据。

  4. 网络路径正常不代表应用正常。 DNS、证书、应用进程、主机资源和托管设施都可能影响访问。

  5. 单次测试可能错过短时故障。 重复采样和统一时区有助于建立完整的证据链。

结语

排查海外网络故障,可以按照"外部观测 → 目标 AS → mtr 路径 → 目标服务与托管设施"的顺序推进。

重点不是尽快修改配置,而是先建立足够的证据,确认故障影响范围,再逐层缩小故障域,避免将区域性异常误判为本地网络问题。

相关推荐
sbjdhjd3 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
taktok_ai5 小时前
用 cc-switch 连接 Taktok
网络
Decay__6 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
小嘉丶学长7 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
江华森7 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼7 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by209998 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
pt10439 小时前
Cisco设备网络安全系列-18:SIEM与SOAR安全解决方案
网络·安全