本文为运维人员准备了一套实用的排查流程和常见故障清单,覆盖从判断名称服务器是否生效、网络连通性检查、域名注册商配置到服务器防火墙与端口问题的逐步诊断方法,提供可复用的命令示例与修复建议,帮助快速定位与解决香港机房相关的 DNS/访问问题。
第一步用公共工具判断生效状态:在本地或跳板机执行 dig/nslookup 查询,例如使用 dig @8.8.8.8 example.com NS +short 或 nslookup -type=NS example.com 8.8.8.8。如果返回的 NS 列表包含你配置的香港机房名称服务器,则说明在公共 DNS 视角已经被传播。
可以通过多个公共 DNS 节点检查传播情况:Google DNS(8.8.8.8/8.8.4.4)、Cloudflare(1.1.1.1)、阿里公共 DNS(223.5.5.5)等。若不同解析器返回结果不一致,说明 DNS 记录仍在全球传播或缓存未刷新。
常见原因包括:域名注册商未正确更改 NS;顶级域(TLD)缓存未更新;DNS TTL 较长导致缓存;填写的 NS 名称或 glue 记录错误;DNS 服务器配置错误(如 zone 文件格式问题);以及 DNSSEC 配置不匹配等。
即便 NS 生效,网络问题仍会让服务不可达:机房出口 BGP 问题、国际链路丢包/高延迟、ISP 黑洞路由、服务器防火墙或安全组策略拒绝连接、主机端口未监听等。排查时同时检查 traceroute/mtr 和端口连通。
建议按照顺序排查:1) 用 dig/nslookup 确认权威 NS;2) 查询权威服务器(dig @ns1.example.hk example.com A)看权威响应;3) 检查注册商控制台的 NS 是否正确;4) 验证 zone 文件语法并重载 DNS 服务;5) 查看 TTL 与缓存情况;6) 如使用 Anycast/二级 DNS,检查各节点一致性。
推荐工具有:dig、nslookup、host、mtr、traceroute、ping;在线工具如 DNS Checker、ViewDNS、WhatsMyDNS。使用多个节点可以判断是否为局部缓存问题或是全局未生效。
注册商常见错误包括:未保存 NS 修改、误填主机名而非完整域名、缺少 glue 记录(当自定义子域名作为 NS 时)、TTL 设置过高、域名处于锁定或未解析状态。登录注册商控制台逐项核对并查看操作日志。
如果 DNS 返回正确,但应用层连接超时或拒绝,运维可能误以为 DNS 未生效。应检查服务器上 53/80/443 等端口监听状态(netstat/ss)、防火墙规则(iptables/firewalld、云安全组)、以及是否有 DNS 递归或拒绝策略阻断外部查询。
使用 mtr 或 traceroute 从不同公网节点到目标 IP 观察丢包和跳数;若发现特定跳点大量丢包或延迟突增,可与机房或上游提供商沟通。针对国际链路问题,可临时切换出口或启用 CDN 做负载分流。
DNS 服务日志(如 BIND 的 /var/log/messages 或系统 journal)、web 服务器日志(access/error)、系统防火墙日志、注册商操作记录、以及 DNS zone 文件和命名服务器配置文件(named.conf、zone 文件)最有诊断价值。关注报错行和时间戳对应的操作。
建议按顺序:1) 确认 registry/TLD 是否已经反映最新 NS(whois 查询);2) 检查 glue 记录(必要时由注册商添加);3) 将 TTL 临时调低以加速传播;4) 在权威服务器上确认 zone 无误并可对外响应;5) 如果使用第三方 DNS,联系供应商确认接入状态。
建立标准变更流程:在修改 NS/zone 前备份当前配置、在低峰期操作、先在权威服务器做好充分验证并设置低 TTL、记录注册商操作凭证、维护监控与告警(DNS 解析成功率、延迟、异常查询率),并定期演练回滚策略。