部分浏览器无法解析私有IP段DNS A记录问题求助
解决Cloudflare托管的内部子域名DNS解析不一致问题
可能的原因与对应解决步骤
1. 修正Cloudflare记录的代理状态
你设置的*.internal记录指向内网IP192.168.0.101,如果Cloudflare控制台里该记录是橙色云朵(已代理),Cloudflare边缘节点会尝试代理到这个内网IP,必然失败,进而导致多数场景解析异常。
- 操作:在Cloudflare DNS记录列表中,把该A记录的代理状态改成灰色云朵(仅DNS),保存后等待TTL生效。
2. 清理DNS缓存
本地设备或公共DNS的旧缓存可能导致解析不一致:
- Windows:执行命令
ipconfig /flushdns - macOS:执行命令
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - iOS/Android:切换飞行模式再关闭,或重启设备
- 同时在Cloudflare控制台把该记录的TTL设置为60秒,加快缓存刷新速度。
3. 验证EDNS Client Subnet(ECS)影响
公共DNS(如8.8.8.8、1.1.1.1)会使用ECS传递客户端IP段,Cloudflare可能根据请求来源IP返回不同结果:
- 用dig模拟本地网段请求测试:
如果能返回正确记录,说明你的公网IP段被Cloudflare识别为非本地,导致默认请求返回超时;这种情况可以在Cloudflare控制台开启DNS > 高级 > EDNS Client Subnet的相关设置,确保内网IP段能获取正确记录。dig test.internal.example.top @8.8.8.8 +edns0 +subnet=192.168.0.0/24
4. 排查浏览器DNS解析模式
部分浏览器默认启用DNS over HTTPS(DoH),可能使用了和系统不一致的DNS服务器:
- 检查Chrome/Firefox等浏览器的DoH设置,确保选择的是系统默认DNS(1.1.1.1/1.0.0.1),或直接关闭DoH测试是否恢复正常。
5. 检查本地网络限制
- 查看路由器是否有DNS劫持、过滤规则,比如拦截了
.internal后缀的域名解析 - 测试UDP 53端口是否通畅:用
telnet 8.8.8.8 53或nslookup test.internal.example.top 8.8.8.8替代dig,排除dig工具参数或端口拦截问题
6. 暂时关闭DNSSEC验证
如果Cloudflare开启了DNSSEC,部分公共DNS服务器可能因验证失败导致解析超时:
- 在Cloudflare控制台的DNS > 高级中,暂时关闭DNSSEC,测试解析是否恢复正常。
内容的提问来源于stack exchange,提问作者Jurrer
相关产品推荐
相关产品推荐

