1.
问题概述与出现的典型症状
- 香港节点CVM或VPS无法ping通,但控制台显示实例正常运行。
- 域名访问出现超时、ERR_NAME_NOT_RESOLVED或解析到旧IP。
- 部分地区可访问、部分地区不可访问,带有明显地理差异。
- traceroute/tracert在边上停住,或显示最后一跳为路由器而非服务器。
- 控制面板与内网能访问,但公网ICMP/TCP无法连通。
2.
第一步:本地与远端命令快速核查
- 在本地运行ping、tracert/traceroute、curl或telnet测试端口:例如 ping 203.205.123.45。
- 用dig或nslookup检查DNS解析:dig example-hk.example.com +short;示例输出:203.205.123.45。
- 使用dig +trace 或 nslookup server 8.8.8.8 example-hk.example.com 验证解析链。
- 检查本地DNS缓存并刷新:Windows run ipconfig /flushdns,Linux systemd-resolve --flush-caches。
- 记录响应时间与丢包率以便对比:ping -c 6 203.205.123.45 输出示例:rtt min/avg/max = 1.234/2.345/5.678 ms。
3.
第二步:核查DNS解析链路与记录一致性
- 登录域名注册商与腾讯云DNSPod或云解析控制台,查看A/CNAME/AAAA记录是否一致。
- 注意TTL值:迁移前未降TTL会导致旧解析缓存持续生效。示例:TTL=3600(1小时)。
- 使用多地区公共解析器比对:dig @8.8.8.8 与 dig @223.5.5.5 结果应一致。
- 检查是否存在Global Traffic Manager或CDN导致CNAME指向错误节点。
- 若用CDN,确认回源IP(origin)与服务器公网IP匹配,防止回源失败。
4.
第三步:网络与安全组、操作系统防火墙排查
- 在腾讯云控制台检查CVM所属子网、路由表与公网网关是否存在黑洞路由或未绑定EIP。
- 检查安全组(Security Group)与实例防火墙(iptables/firewalld)规则,确认ICMP与80/443端口是否放通。
- 示例服务器配置表(仅示例,真实数据请以控制台为准):
| 项 | 示例值 |
| 实例类型 | 2 vCPU / 4 GB |
| 公网IP | 203.205.123.45 |
| VPC子网 | 10.0.1.0/24 |
| 安全组入站 | ICMP 0.0.0.0/0, TCP 22/80/443 |
| 操作系统 | CentOS 7 |
- 若安全组无误,可在服务器内部检查本机是否响应ping:tcpdump -i eth0 icmp 或 ss -tuln 检查端口监听。
5.
真实案例:DNS缓存与安全组同时导致的“ping不通”
- 背景:域名 example-hk.example.com 从上海迁移至香港CVM(203.205.123.45),迁移前未调整TTL。
- 现象:香港机房并可在控制台SSH,但公网访问与ping在部分ISP仍解析到老IP 203.194.88.10。
- 排查步骤:1) dig @8.8.8.8 与 dig @114.114.114.114 得到不同IP;2) 登录DNSPod刷新记录并将TTL从86400降至300;3) 在控制台检查安全组,发现ICMP规则误删,补回后立即恢复ping。
- 结果:TTL生效后,全球解析在约5–60分钟内同步,用户访问恢复。
- 教训:迁移前应先降低TTL并校验安全组、路由与回源配置。
6.
最后的处理建议与预防措施
- 迁移或修改DNS记录前把TTL降到300或更低,变更后再恢复到较高值。
- 使用dig +trace定期核查解析链,部署多解析节点或二级DNS以提高解析鲁棒性。
- 开启腾讯云DDoS防护与Web应用防火墙(WAF),并在控制台设置黑白名单与流量告警。
- 建立监控与告警:持续监测ping、http(s)响应与解析一致性,发生异常时自动通知。
- 如果排查无果,收集dig/ping/traceroute输出并联系腾讯云支持或DNS提供商协助定位。