dns记录修改后不生效,主因是本地缓存未刷新或递归dns未同步,需逐层排查:先清本地dns缓存(系统/浏览器/hosts)、再用nslookup或dig对比本地与权威服务器解析结果,确认ttl设置合理、域名状态正常(非clienthold/serverhold等)、ns记录指向正确,最后核对解析记录格式无误。

DNS记录改了但不生效,不是配置错了就是信息还没传到位。关键得一层层查,从你本地设备开始,一直追到全球权威服务器。
先看本地有没有“记错账”
你的电脑、手机甚至浏览器,都可能缓存着旧的解析结果,比新设置跑得还快。
- Windows:打开命令提示符(管理员),执行 ipconfig /flushdns
- macOS:终端输入 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Linux(使用systemd-resolved):sudo systemd-resolve --flush-caches
- Chrome浏览器:访问 chrome://net-internals/#dns 点击 “Clear host cache”
- 别忘了检查 /etc/hosts(Linux/macOS)或 C:\Windows\System32\drivers\etc\hosts(Windows),删掉测试用的静态映射
再确认是不是递归DNS没更新
你家路由器、运营商DNS(比如114.114.114.114)还在用旧记录,说明TTL还没过期,或者它压根没按TTL办事。
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
- 用 nslookup 域名 或 dig 域名 查当前返回的IP——这是你本地看到的结果
- 加参数查权威源:dig 域名 @ns1.your-dns-provider.com(把ns1地址换成你DNS服务商给的权威服务器)
- 如果权威服务器已返回新IP,但普通 nslookup 没变 → 问题出在中间递归层,等TTL或换公共DNS(如223.5.5.5)试试
重点盯住TTL和域名状态
TTL不是摆设,它是决定“旧记录能赖多久”的硬指标;而域名本身若被锁住,再怎么配也没用。
- 登录你的DNS管理后台,确认刚改的记录TTL值是否足够小(建议提前1–2天调至300秒或600秒)
- 用Whois工具(如whois.chinaz.com)查域名状态,出现 clienthold、serverhold、inactive、pendingDelete 中任意一个,解析就会暂停
- 国内域名还要确认是否完成实名认证、是否备案(涉及网站服务时)
最后验证权威层和线路配置
有时不是没生效,而是生效了但只对部分人——尤其用了智能解析、线路划分功能时。
- 检查NS记录是否指向正确的DNS服务商(比如从腾讯云切到阿里云后,域名注册商处的NS必须同步修改)
- 如果开了电信/联通/海外等分线路解析,务必配置默认线路,否则不在任一线路范围内的用户会彻底无法解析
- A记录值里多一个空格、少一位数字、误用CNAME代替A,都会导致记录实际无效——逐字核对,别靠记忆










