首先确认时间同步与基础连通性:检查服务器的系统时间是否正确(ntp/chrony),然后执行 ping 和 mtr(或 traceroute)到目标,判断是延迟、抖动还是丢包。
查看本机网络配置(ip addr, ip route, ethtool),确认 MTU、网卡速率与双工;检查防火墙(iptables/nftables、ufw)与安全组规则是否误拦。
查看 /var/log/syslog、/var/log/messages、dmesg,关注网卡错误、驱动重启、内核报错、连接追踪(conntrack)溢出等提示。
聚焦时间窗口:先确定异常发生的时间段,然后在系统日志、内核日志、应用日志中按时间戳对齐,找出前后相关事件。重点关注 网络接口错误(RX/TX errors)、驱动重载、ARP冲突、连接超时与应用层重试。
常用命令:tail -F /var/log/syslog, journalctl -u network.service, grep -E "error|fail|drop" /var/log/*,利用 awk、sed 聚合出高频错误。若有 ELK/Fluentd,可用 Kibana/Graylog 聚合并按字段筛选。
将网络设备日志(如云厂商提供的实例网络事件)、BGP/路由变更记录与服务器日志关联,若应用层日志显示重试或连接超时且系统日志无网卡错误,可能为上游链路或路由问题。
首先在不同方向和不同节点进行测量:从本实例发起到公网目标的 mtr/traceroute,以及从另一个节点(同机房或跨机房)到该目标的测量。若只有本实例异常,多为本地问题;若多个节点同向异常,多为上游链路或 CN2 问题。
检查本机路由表、AS路径和云提供商的路由公告;必要时使用公网 looking glass 或 BGP 工具查询目标前往本地的路由信息,判断是否存在路由震荡或不合理的 AS 路径。
提交工单时携带证据:时间点、丢包率/延迟样本、traceroute 路径、tcpdump 抓包片段、受影响目的地;如果怀疑 CN2 专线,指出发生在 CN2 节点的跳点(traceroute 对应的 ASN/IP)。
当初步排查确认是数据面异常(丢包、RST、重传、异常延迟)或需要确认应用协议交互时进行抓包。抓包目标包括 SYN/ACK 过程、重传、ICMP unreachable、PMTUD 问题等。
示例:tcpdump -i eth0 -w /tmp/cap.pcap host X and (tcp or icmp) 或 tcpdump -i eth0 port 80 and host X -s 0 -w file.pcap。限制包大小(-s 0)和时间窗口,避免占满磁盘。
在 Wireshark 中观察 TCP 三次握手、重传、SYN flood、RST 来源、MSS/MTU 信息及 ICMP fragmentation-needed(用于判定 PMTU 问题)。保存 pcap 与时间戳供运营商或安全团队进一步分析。
建立基线指标(延迟、丢包、抖动、带宽)并用 Prometheus/Grafana 或云监控持续采集;在异常发生时对比基线,使用 mtr/iperf3 分段测量到不同中转点,定位波动区段。
临时缓解:调整流量到备用出口、变更 BGP 本地优先级、使用 TCP 优化(keepalive、重试策略)或 CDN 缓存;长期建议与 CN2 运营商协作优化路由或申请 QoS/专线。
配置告警策略(丢包>2%、RTT异常、链路抖动),并保留抓包/日志至少72小时,便于在后续工单或复盘时提供佐证数据。