1.
概述与准备工作
- 确认目标:明确测试IP(例如 34.89.12.34 为谷歌香港边缘测试IP示例)和期望的服务端口(80/443/22等)。
- 访问场景:区分是单用户无法访问还是全球不可达;记录发生时间与影响范围。
- 工具准备:准备 ping/traceroute/mtr/tcpdump/ss/netstat/iptables/nc/openssl 等常用工具。
- 权限与权限信息:确保有服务器root或云平台API权限以便获取网络与防火墙配置。
- 日志准备:开启或定位相关日志(/var/log/messages、nginx/error.log、系统dmesg等)。
- 备份与恢复:在做改动之前记录原始配置以便回滚(如 iptables-save > /root/iptables.bak)。
2.
本地与客户端初步检查
- 本地连通性:执行 ping 34.89.12.34;记录丢包率与平均 RTT(例如 50ms)。
- 端口连通:使用 nc -vz 34.89.12.34 443 检查 TCP 三次握手是否成功。
- DNS 分辨率:如果通过域名访问,执行 dig +short domain.example.com 并确认解析到正确IP。
- 路由缓存:清除本地 DNS 缓存并重试(Windows ipconfig /flushdns,Linux systemd-resolve --flush-caches)。
- 本地防火墙:检查本地iptables/nftables或路由器是否阻断(sudo iptables -L -n)。
- 多端验证:尝试从另一网络(移动流量、家庭宽带、云机)进行对比测试以排除本端网络问题。
3.
网络路径(Traceroute/MTR)深度排查
- traceroute -n 34.89.12.34 或 mtr -rw 34.89.12.34,观察在哪一跳出现明显丢包或超时。
- 记录关键节点:注意到过境ISP与AS号,例如 203.181.0.0/16 属于某ISP,在第6跳丢包率达80%。
- RTT突增:识别 RTT 突增点(示例:第4跳 RTT 20ms,第5跳 RTT 320ms)。
- 不对称路由:若返回路径不同,应在目标端同时执行反向 traceroute 以确认双向路径。
- ISP友商沟通:若问题出现在中间传输链路,准备好 traceroute 输出与时间窗口与上游ISP或云提供商支持沟通。
- MTR样例记录:保存 mtr 输出为文本用于工单与追踪(mtr -r -c 100)。
4.
DNS 与域名相关检查
- 多机解析比对:在不同 DNS(8.8.8.8、1.1.1.1、本地解析器)上执行 dig,确认是否存在污染或分流。
- TTL与A记录变更:检查域名A记录的TTL及最近变更记录,避免因解析缓存导致旧IP仍在使用。
- DNSSEC与CNAME:若使用CNAME指向CDN,检查CNAME链是否正确以及DNSSEC验证是否失败。
- WHOIS与域名状态:确认域名没有过期或被暂停,并检查注册商通知。
- hosts文件与本地规则:排查 /etc/hosts 或公司内部DNS策略是否写死错误IP。
- 示例命令:dig +trace domain.example.com,观察权威服务器返回的A记录。
5.
服务器与防火墙配置核查
- 本机网络接口:示例配置:eth0: 10.10.10.5/24 gw 10.10.10.1;确认 IP、网关与路由表(ip route show)。
- 防火墙规则:列出 iptables -S 或 nft list ruleset,确认没有 DROP 对应测试IP或端口。
- 服务监听:使用 ss -tulnp 或 netstat -tunlp 检查服务是否在期望端口监听(例如 nginx: 0.0.0.0:443)。
- NAT 与 SNAT:若服务器在私网,有无 SNAT/丢包或源地址被更改;检查云平台安全组与路由表。
- 内核丢包与连接跟踪:查看 /proc/net/nf_conntrack 及 /proc/sys/net/ipv4/tcp_max_syn_backlog,调整参数以应对并发。
- 日志示例:nginx error.log 显示 111: Connection refused 或 TLS 握手失败,为定位原因提供线索。
6.
CDN、负载均衡与DDoS防护相关诊断
- CDN生效链:确认域名是否在CDN托管,若是,CDN边缘回源是否正常,检查回源IP与回源端口。
- 回源与健康检查:查看CDN控制台的健康检查日志,确认回源响应时间与状态码。
- 负载均衡器配置:检查 LB 后端池的健康探测配置(探测路径、超时时间、阈值)。
- DDoS防护策略:确认是否触发自动防护(例如基于流量或连接速率的黑洞策略),并查看防护白名单/黑名单。
- 缓存与证书问题:CDN可能缓存错误响应,清理缓存并确认证书链在边缘节点是否完整。
- 联系支持:在怀疑DDoS或CDN节点异常时,准备流量报表(bps/pps)与时间窗口提交给供应商。
7.
真实案例:香港机房边缘IP不可达的修复过程
- 背景:客户报告访问位于谷歌香港边缘的测试IP 34.89.12.34 超时,多个亚洲用户受影响。
- 初步发现:从国内多点 traceroute 到第5跳开始出现100%丢包,且 RTT 在第5跳由30ms突增到400ms。
- 定位结果:经与本地ISP沟通,发现某交换节点配置错误导致对 34.89.12.0/24 的流量被黑洞。
- 解决过程:ISP 回滚配置并恢复路由后,mtr 显示丢包恢复为0%,用户访问恢复,平均 RTT 恢复到 45ms。
- 教训与建议:定期保存关键路由表与BGP公告的历史快照,建立与上游联络清单与自动化告警。
- 日志与数据:保存的 mtr 输出与云平台流量曲线用于后续 RCA(事件根因分析)。
8.
常用命令与对照数据表(示例)
以下为现场采集的示例数据(示例仅供参考):
| 项目 | 示例值 | 备注 |
| 测试IP | 34.89.12.34 | 谷歌香港边缘示例 |
| ping 平均RTT | 45 ms | 恢复后 |
| mtr 丢包率 | 0% | 恢复后 |
| 服务器配置 | Ubuntu20.04, 4 vCPU, 8GB RAM | 回源服务器示例 |
| iptables 规则数 | 12 | 无 DROP 目标测试IP |
- 常用命令速查:ping, traceroute/mtr, dig, ss/netstat, tcpdump -i any host 34.89.12.34 and port 443。
- 建议保存的日志:/var/log/syslog、nginx/access.log、cdn/healthcheck.log、mtr输出文件。
- 结论:遇到谷歌
香港机房测试IP不可达时,按本指南从本地->路径->目标服务器->CDN/防护逐层排查,可快速定位责任方并加速恢复。
来源:排障指南 谷歌香港机房测试ip 无法访问时的诊断步骤