1. 初步确认与信息收集
● 确认影响范围:单台实例还是整个区域/可用区,统计受影响IP数量。
● 采集基本配置:操作系统(例如 Ubuntu 20.04)、内核版本(例如 Linux 5.15)、CPU/RAM/磁盘与带宽。
● 收集时间点与日志:记录故障开始时间,导出 /var/log/syslog、nginx、asterisk 等日志。
● 基本网络信息:列出公网IP(例如 45.76.12.34)、私网IP、默认网关、MTU(常见1500或1420)。
● 采集实时性能:top、free -m、iostat、sar 和 vnstat,记录 CPU、内存、磁盘 I/O 与带宽使用峰值。
● 示例命令:ping -c 6 8.8.8.8;traceroute -n 45.76.12.34;ss -tunlp。
2. 连通性检查(Ping/Traceroute/路由)
● 使用 ping 检查丢包与延迟:示例 ping 结果:平均延迟 18 ms,丢包 0%。
● traceroute 定位跃点异常:示例输出前三跳 10 ms、20 ms、120 ms(如突然上升说明骨干或对端运营商问题)。
● 本地与目标 MTU 校验:使用 ping -M do -s 1472 对 PMTU 进行探测,调整至合适 MTU(如 1460)。
● 路由表核对:ip route show,确保默认路由与 BGP/静态路由一致。
● ARP 与邻居问题:ip neigh show 检查是否有 STALE/FAILED 条目,必要时清理 arp -d。
● 实际示例(traceroute 摘要表):如下表展示一台台湾云服务器的典型路由延迟。
| 跳数 | IP | 平均时延(ms) |
| 1 | 10.0.0.1 | 1 |
| 2 | 203.69.45.1 | 12 |
| 3 | 101.12.34.5 | 18 |
| 4 | 45.76.12.34 | 20 |
3. 服务器资源与服务进程检查
● CPU/内存瓶颈:top -bn1 查看占用,示例:CPU 95%(load 8.4),建议扩容或限制进程。
● 网络连接数与端口占用:ss -s 与 ss -tunlp 检查 TCP/UDP 连接、TIME_WAIT 与监听端口(SIP 5060、RTP 10000-20000)。
● 磁盘瓶颈:df -h 与 iostat -x,若 I/O 使用率高,考虑更换云盘或启用缓存。
● 应用日志异常:检查 VOIP/拨号服务日志(如 Asterisk 日志),常见 one-way audio 与 RTP 丢包。
● 示例配置:云服务器配置演示表(边框1)。
| 项目 | 示例值 |
| CPU | 4 vCPU |
| 内存 | 8 GB |
| 磁盘 | 100 GB SSD |
| 带宽 | 500 Mbps 公网峰值 |
| 操作系统 | Ubuntu 20.04 LTS |
4. 防火墙、NAT 与 UDP 问题排查
● 检查本机 iptables/nftables:iptables -L -n -v,确认 SIP(UDP 5060)与 RTP 端口范围已放通。
● 云平台安全组:核对平台侧安全组策略,确保源/目标端口与协议一致(示例放行:UDP 10000-20000/5060)。
● NAT 与对称NAT问题:若一方在NAT后出现单向音频,建议配置端口映射或使用 STUN/TURN、启用 SIP 绑定持久化。
● MTU 与分片导致语音卡顿:调整 /etc/network/interfaces 或 cloud-init 设置 MTU=1460 并重启网络。
● 实时抓包分析:tcpdump -i eth0 udp port 5060 or portrange 10000-20000 -w capture.pcap,使用 Wireshark 检查丢包与重传。
5. DNS、域名与 CDN 相关问题
● DNS 解析异常:dig +short @8.8.8.8 voip.example.com 返回异常或超时,检查域名解析记录与 TTL。
● 反向域名与 PTR:部分运营或黑名单会校验 PTR,确保 PTR 指向合法域名以避免被拦截。
● CDN/负载均衡误配置:若使用 CDN 做静态或接入层,请确认 TCP/UDP 转发策略与健康检查路径正确。
● 域名解析缓存:本地 resolver 缓存可能导致旧记录生效,试 flush:systemd-resolve --flush-caches。
● 示例:DNS 查询延迟数据:A 记录解析平均 35 ms,CNAME 链接增加额外 20 ms。
6. DDoS 检测与防护演练
● 识别流量异常:使用 iftop、nload、vnstat 发现瞬时带宽接近带宽上限(例如 480 Mbps/500 Mbps)。
● 简易缓解:临时在云侧启用流量清洗(ISP/Scrubbing)、或在实例上设置 iptables 限速与 SYN cookies。
● 常用策略:部署 CDN + WAF、配置黑洞路由、基于源 IP/速率限流(connlimit、hashlimit)阻断。
● 自动化封禁:结合 fail2ban、csf,依据流量模式自动封禁异常源或触发告警。
● 真实案例(缩略):某台湾拨号供应商遭 UDP 洪泛,入站带宽瞬时超 600Mbps(带宽上限500Mbps)导致业务中断。处理步骤:1) 与云厂商开通流量清洗;2) 在安全组添加速率限制规则;3) 在接入层启用 CDN/ACL;4) 后续升级至 1Gbps 线路并部署流量监控。
7. 故障修复清单与预防建议(总结)
● 即时检查清单:连通性(ping/traceroute)、端口开放、服务进程、资源占用、抓包证据。
● 修复优先级:恢复连通 > 释放资源/重启服务 > 临时防护 > 长期优化(扩容或架构调整)。
● 长期防护:部署多可用区、冗余BGP线路、使用CDN与DDoS清洗服务、定期演练和容量规划。
● 日常监控:CPU、内存、带宽、连接数与业务指标(成功拨通率、RTP丢包率)保持 SLA 报表。
● 常用命令速查:ping、traceroute、ss/iptables、tcpdump、top、iostat、dig、systemctl。
来源:台湾拨号云服务器常见网络故障排查步骤与解决办法