1. 初步确认与问题描述收集
- 确认现象:卡顿是网页加载慢、视频缓慢缓冲还是直接无法连接?记录发生时间与持续时长。
- 收集环境:服务器操作系统(Linux/Windows)、公网IP、是否使用防火墙/代理/VPN、是否为云服务(阿里/腾讯/AWS/GCP/本地机房)。
2. 基本连通性检测(Ping 和 DNS)
- DNS:dig youtube.com +short 或 nslookup youtube.com,确认能否解析到IP。
- Ping:ping -c 8 youtube.com(或解析到的IP),注意丢包率和延迟抖动;若丢包高,记录时间戳和目标IP。
3. 路径追踪(traceroute / mtr)
- traceroute -I youtube.com 或 traceroute -T -p 443,查看到达目标的每跳延迟和是否在某一跳丢包激增。
- 更好用的是 mtr -r -c 100 youtube.com(或目标IP),输出会显示逐跳丢包与延迟分布,定位瓶颈路段(通常是第一次丢包升高的跳点)。
4. 抓包与会话诊断(tcpdump / Wireshark)
- 在服务器上运行 tcpdump -i eth0 host
and port 443 -w yt.pcap(替换实际接口与IP),观察是否有大量重传、RST或SYN超时。
- 用 Wireshark 打开 pcap,过滤 tcp.analysis.retransmission 和 tcp.flags.reset 找异常包,若TLS握手失败则可能为中间设备阻断或深度包检测。
5. 带宽测试与速率监控(iperf3 / speedtest-cli)
- 与一个靠近的新加坡节点做 iperf3 测试:iperf3 -c iperf3.server.example -P 10 -t 30,观察吞吐量是否达到预期。
- 若无法访问公网测试服务器,可在另一台能正常访问的机器上做反向测试(server端在能访问的机器),定位是出站还是入站带宽问题。
6. 网络接口与队列、丢包检测(ethtool / ifconfig / tc)
- 检查接口统计:ifconfig eth0 或 ip -s link show eth0,查看RX/TX 错误、丢包、溢出。
- ethtool -S eth0 查看网卡硬件统计;tc -s qdisc show dev eth0 查看是否有流控/队列拥塞(pfifo_fast/drop)。若队列溢出,调整 tc 或增加队列/缓冲。
7. MTU 与分片问题排查
- MTU不当会导致HTTPS视频流反复重试。用 ping -M do -s 1472 测试最大MTU(1472+28=1500)。若失败,逐步减小直到成功,若需要把系统MTU调小到如1400:ip link set dev eth0 mtu 1400。
- 在更改MTU后重启网络服务或重置conntrack:sysctl -w net.ipv4.tcp_mtu_probing=1。
8. 路由策略、NAT 与防火墙检查
- 查看路由表:ip route show,确认到YouTube目标走预期出口。若使用策略路由(ip rule),确认规则优先级。
- 检查iptables/nftables:iptables -L -n -v 与 iptables -t nat -L -n,查看是否有DROP/REJECT或错误的SNAT规则导致连接被错误改写。
9. 上游(ISP)与BGP问题确认
- 若 traceroute 在运营商边界出现高丢包或跳点直接不可达,联系ISP并提供 mtr/traceroute 结果和时间段。
- 可使用公共BGP/Looking Glass(如 bgp.he.net / RIPE)查询你的公网前缀是否存在路由异常或被污染。
10. 临时绕过与缓解措施
- 尝试使用备用DNS(8.8.8.8 / 1.1.1.1)或开启DoH/DoT,排除DNS污染。
- 若是运营商中间丢包,临时使用WireGuard/OpenVPN连接到其他区域的服务器,再经该服务器访问YouTube(注意合规与速度损耗)。
11. 常见场景与对应快速修复步骤
- 场景A:只有视频缓冲慢但网页正常 —— 优先检查带宽(iperf3)与TCP重传(tcpdump)。
- 场景B:解析正常但无法建立TLS连接 —— 检查MTU与中间防火墙是否拦截443,查看tcpdump中的TLS ClientHello是否发出/应答。
12. 日志与持续监控建议
- 部署监控:用Prometheus + node_exporter 收集网络接口、丢包、延迟;Grafana绘制历史图,定位时间段内突发问题。
- 保存证据:发生问题时保存 mtr/traceroute 输出与 tcpdump 包文件,便于与ISP或云厂商沟通。
13. 问:如何判断是本地服务器问题还是上游运营商问题?
- 答:先做本地测试(ping/traceroute/mtr/iperf3/tcpdump)。若本地链路(eth0)无错误、iperf3对近旁节点速度正常,但traceroute在运营商一侧出现突增丢包或不可达,基本可断定为上游运营商问题;此时保存 mtr 输出并联系ISP。
14. 问:小白如何快速定位是否为MTU问题导致视频卡顿?
- 答:在服务器上用 ping -M do -s 1472 <目标IP>(Linux)测试,若1472失败逐步减小到能通过,则存在MTU问题。临时把接口MTU降到能通过的值(例:ip link set dev eth0 mtu 1400)并测试视频播放是否恢复。
15. 问:联系ISP或云厂商时我应提供哪些关键信息?
- 答:提供时间戳、受影响的目的IP(YouTube的具体IP)、mtr/traceroute输出、ping丢包/延迟样本、tcpdump抓包(若可能)和公网/私网IP,说明是否已更改MTU或使用VPN,便于运维快速定位。
来源:视频卡顿提示新加坡服务器看不了YouTube时带宽与路由排查