域名接入 Cloudflare 后 DNS 解析不生效,最常见原因是域名 Nameservers 未切换至 Cloudflare 或 DNS 记录未开启代理模式。排查时应优先检查域名注册商处的 NS 记录指向,并确认 Cloudflare 控制台 DNS 记录旁的橙色云图标已启用。
先说结论:多数解析失败源于 NS 记录未正确切换或本地 DNS 缓存未刷新,需按链路逐层验证。
- 先确认:域名注册商处 NS 记录是否已修改为 Cloudflare 提供的地址
- 先处理:在 Cloudflare 控制台将 DNS 记录设置为 Proxied(橙色云)模式
- 再验证:使用 dig 命令查询权威 DNS 返回结果是否一致
命令速用版
以下命令用于快速诊断 DNS 解析链路状态,需在终端或命令行工具中执行:
dig NS example.com dig @1.1.1.1 example.com A dig @ns1.cloudflare.com example.com A ipconfig /flushdns
Windows 系统清除缓存使用ipconfig /flushdns,macOS 使用sudo dscacheutil -flushcache。若查询结果返回非 Cloudflare 网段 IP,说明解析未命中边缘节点。
为什么会这样
DNS 解析不生效的核心原因是权威解析未指向 Cloudflare 服务器,导致查询请求未进入 Cloudflare 系统。完整解析链条包含客户端、递归 DNS、根域、顶级域及权威 DNS 五个环节,若域名注册商处仍保留原有 NS 记录,递归 DNS 将直接查询原服务商而非 Cloudflare。此外,本地 DNS 缓存污染或 TTL 未过期也会导致旧记录持续生效,表现为部分地区可访问而部分不可访问。
分步处理
步骤一:检查 NS 记录指向
登录域名注册商控制台,查看 Nameserver 设置是否已更新为 Cloudflare 提供的地址(如ns1.cloudflare.com)。若仍显示原服务商地址,解析请求不会到达 Cloudflare,需在注册商处完成切换。
步骤二:确认 DNS 记录代理状态
登录 Cloudflare 仪表盘,进入 DNS 设置页面,检查 A 记录或 CNAME 记录旁的云朵图标是否为橙色。灰色图标表示仅 DNS 解析,流量不经过 Cloudflare 防护;橙色图标表示启用代理,流量经由 Cloudflare 边缘节点中转。
步骤三:清除本地与递归缓存
若配置已修正但仍生效缓慢,可能是本地或 ISP 缓存未刷新。在本地执行缓存清除命令,并尝试切换公共 DNS(如8.8.8.8或1.1.1.1)进行测试。
步骤四:检查 SSL/TLS 模式
若 HTTPS 请求失败,检查 Cloudflare SSL/TLS 设置。若源站无有效证书,需将模式设为 Flexible;若源站有证书,建议设为 Full 或 Full (Strict),避免握手错误导致访问中断。
怎么验证是否生效
使用dig @1.1.1.1 example.com A直连 Cloudflare 公共 DNS 查询,返回 IP 应为 Cloudflare 任播网段。再使用dig +trace example.com A观察解析链路,确认在顶级域服务器后是否指向 Cloudflare 权威 NS。若浏览器访问恢复正常且无 ERR_NAME_NOT_RESOLVED 错误,说明解析已生效。
常见坑
TTL 值过高:修改记录前若 TTL 设置过长,全球生效可能需要数小时,建议修改前调低 TTL。
DNS 污染:部分网络环境下 DNS 请求可能被拦截返回错误 IP,需对比不同 DNS 服务器查询结果。
IPv6 配置缺失:若启用 AAAA 记录但源站不支持 IPv6,可能导致部分用户访问失败,需确保源站兼容或暂关闭 AAAA 记录。
企业网络拦截:公司防火墙或路由器可能内置 DNS 重定向模块,需检查局域网 DNS 设置。
常见问题
NS 记录切换后多久生效?
通常需 24-48 小时全球 propagation,但多数情况下几分钟至几小时内即可生效,具体取决于原 TTL 设置。
橙色云图标必须开启吗?
若需使用 Cloudflare CDN 加速及安全防护,必须开启橙色云;若仅需 DNS 解析且流量直连源站,可保持灰色。
为什么国内访问 Cloudflare 解析慢?
可能因本地 DNS 解析到较远边缘节点或存在 DNS 污染,建议启用 Argo Smart Routing 或检查本地 DNS 设置。
参考来源
- CSDN 问 - Cloudflare 搭建中 DNS 解析不生效的常见原因有哪些?
- 飞牛 Cloudflare 域名解析失败常见原因?
- Cloudflare 国内无法访问:DNS 污染导致解析失败
- 部署 Web 服务到香港后 DNS 解析异常?Cloudflare 设置细节别忽略