1.1 常见故障类型:无法连通、丢包高、时延异常、带宽不足、BGP 路由不稳定。
1.2 优先级判断规则:影响服务可用性(不可连)= 高,丢包/高延迟影响用户体验= 中,带宽瓶颈= 低至中。
1.3 初步信息收集:列出业务端口、发生时间段、受影响 IP 范围及是否与 CDN/DDoS 防护相关。
1.4 影响范围判定:单 VM/单机房/多机房(对比不同节点测试结果)。
1.5 复现步骤:从内网/外网/香港本地/中国大陆不同节点分别 ping、traceroute、mtr、iperf3 进行对比。
2.1 Ping 测试:ping -c 20 <目标IP>,关注丢包率与平均 RTT;示例:平均 RTT=28ms,丢包=0%。
2.2 Traceroute:traceroute -n <目标IP> 或 tracert,用于定位跃点发生丢包的自治域。示例输出片段:1 10.0.0.1 0.5ms ... 7 123.123.45.1 28ms。
2.3 MTR(更长时间): mtr -rwzbc100 <目标IP> 可看到每跳丢包与延迟分布。重点看边缘路由和 CN2 节点。
2.4 带宽测试:iperf3 -c <服务端IP> -t 60,查看 TCP/UDP 实际吞吐(示例:下行 900Mbps,丢包<0.1%)。
2.5 MTU 问题检查:使用 ping -M do -s
3.1 查看本地路由表:ip route show、netstat -rn,确认默认路由与多出口策略是否正确。
3.2 BGP 可达性检查:与提供商确认 BGP 广告是否正常,是否有社区或本地优先级造成路径偏差。
3.3 对比公网路径:从香港到大陆与其他大陆到香港的路由是否对称,识别“单向丢包”问题。
3.4 路径改写或策略调整:若发现汇聚点拥塞,建议运营商调度至 CN2 高优先级链路或调整 BGP MED/LOCAL_PREF。
3.5 案例:某用户经 traceroute 发现 4 跳处丢包 40%,经与机房协调将路由切换至 CN2 PREMIUM 后丢包降为 0%,平均延迟从 45ms 降至 28ms。
4.1 查看 iptables/nftables 规则:iptables -L -n -v,确认没有误阻断或限速规则。
4.2 conntrack 表满:cat /proc/sys/net/netfilter/nf_conntrack_count 与 /proc/sys/net/netfilter/nf_conntrack_max,若接近上限会导致新连接失败,建议调整:sysctl -w net.netfilter.nf_conntrack_max=262144。
4.3 TCP 参数调整:建议设置 net.ipv4.tcp_tw_reuse=1、tcp_fin_timeout=30、tcp_max_syn_backlog=4096,减少端口耗尽与 SYN 丢弃。
4.4 MTU 与 TCP MSS:在负载均衡或隧道场景下可能需降 MSS:iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu。
4.5 日志排查:查看 /var/log/messages、dmesg、systemd-journald 以发现内核丢包、驱动或硬件错误信息。
5.1 测试场景:香港 VPS97(CN2 直连)到上海测试服务器的 60 秒 iperf3 测试。
5.2 服务器配置举例:VPS97 配置:4 vCPU、8GB RAM、1000GB NVMe、带宽 1Gbps,操作系统 Ubuntu 20.04。
5.3 iperf3 结果(示例):平均下行 930 Mbps,抖动 0.8 ms,丢包 0.05%(UDP 模式)。
5.4 MTR 长时间观测:平均丢包点位于汇聚路由(跳 5)= 5%,协商后调度优化降至 0.3%。
5.5 以下表格列出示例性能数据(表格居中,边框宽度=1,表格文字居中):
| 测试项 | 指标 | 示例数值 |
|---|---|---|
| VPS 配置 | vCPU / RAM / Disk | 4 / 8GB / 1000GB NVMe |
| 带宽 | 峰值 / 平均 | 1Gbps / 930Mbps |
| 延迟 RTT | 平均 | 28 ms |
| 丢包率 | MTR/iperf3 | 0.3% / 0.05% |
6.1 初级防护:启用提供商的清洗(scrubbing)服务并设置流量阈值告警。
6.2 CDN 作为缓解:将静态资源托管于 CDN,减少源站流量峰值。
6.3 黑洞与速率限制:在短时攻击中可部署黑洞或限速策略,但需谨慎避免误伤正常流量。
6.4 WAF 与行为分析:结合 WAF 规则与 Bot 管理,阻断异常请求模式。
6.5 真实案例:一次 100Gbps UDP 放大攻击触发机房清洗后,源站丢包从 80% 降至 0%,用户业务恢复时间 < 10 分钟。
7.1 立刻收集信息:受影响服务、开始时间、影响范围、相关日志与测试截图。
7.2 内部分工:网络工程、系统运维、应用负责人分别执行 traceroute、查看防火墙、回滚配置。
7.3 与提供商沟通:提供 traceroute、mtr 结果与时间窗,要求定位 ASN/交换点问题并反馈进度。
7.4 临时缓解:调整 BGP 路径、切换出口、启用 CDN/清洗、临时降级服务策略。
7.5 事后复盘:记录故障原因、修复步骤、延时影响并形成知识库防止复发。
8.1 基本命令:ping -c 20
8.2 系统性能查看:top、htop、vmstat、iostat -x、sar。
8.3 conntrack 调整示例:sysctl -w net.netfilter.nf_conntrack_max=262144;sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=86400。
8.4 iptables MSS 修复示例:iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu。
8.5 真实配置片段(/etc/sysctl.conf 示例):net.ipv4.tcp_tw_reuse=1;net.ipv4.tcp_fin_timeout=30;net.core.somaxconn=1024。