DNS解析返回错误IP,说明域名被错误指向,排查需三步:先清本地及路由器DNS缓存;再用dig/nslookup直连公共DNS(如@8.8.8.8)比对解析结果;最后登录DNS控制台核对A/CNAME记录、TTL设置及CDN代理状态。

当DNS查询返回错误IP地址,说明域名被解析到了不该去的服务器上,最直接的表现就是打开网站看到别人的内容、Nginx默认页,甚至完全无关的页面。问题不在于连不上网,而在于“走错了门”。排查重点是确认解析路径中哪一层出了偏差。
查本地DNS缓存是否污染
本机或路由器缓存了过期或错误的解析结果,会导致持续返回旧IP。Windows执行:ipconfig /flushdns;Mac/Linux执行:sudo dscacheutil -flushcache 或 sudo systemd-resolve --flush-caches。路由器也建议重启,尤其家用设备常自带DNS缓存功能。
用dig或nslookup直连权威DNS验证
绕过本地设置,直接向公共DNS(如114.114.114.114)或你配置的权威DNS服务器发起查询:
- dig example.com @8.8.8.8 —— 查Google DNS怎么看
- dig example.com @1.1.1.1 —— 查Cloudflare DNS怎么看
- nslookup example.com 114.114.114.114 —— Windows下等效命令
对比不同DNS源的返回结果:如果只有你自用的DNS返回错误IP,说明问题出在该DNS服务端;如果所有公共DNS都返回相同错误IP,则大概率是你自己配置的A记录或CNAME写错了。
检查DNS控制台中的实际记录
登录你的域名注册商或DNS托管平台(如阿里云DNS、Cloudflare、NameSilo),逐项核对:
- A记录是否指向了已下线的老服务器IP
- CNAME是否误指向了其他域名(比如写成www.other-site.com而非正确目标)
- 是否有重复添加的同名记录(例如两个www A记录,一个指向192.0.2.1,另一个指向203.0.113.5),导致解析结果不稳定
- TTL值是否设得过大(如86400秒),修改后需等待很久才生效;建议临时调低至300秒便于测试
排除CDN或代理层干扰
如果你启用了Cloudflare、又拍云、腾讯云CDN等服务,它们会隐藏真实源站IP,并可能缓存错误配置:
- 查看DNS记录旁的代理状态图标:橙色云(proxied)表示流量经CDN,灰色云(DNS only)则直连源站
- 临时切换为DNS only模式,再用dig测试,看IP是否恢复正常
- CDN后台检查“源站配置”是否填错IP或域名,尤其是开启了“自动匹配”或“回源Host头”时容易误配











