本机改了 hosts 指向新机器,测试一切正常,其他用户访问仍是旧地址。乍看像缓存或者权限的锅,追下去往往不是。

ipconfig /flushdns
# Linux
systemd-resolve --flush-caches
dig @8.8.8.8 example.com +short

追下去是这么回事:hosts 只影响当前机器,其他用户仍走各自的递归缓存。

「本地 DNS 缓存」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

具体做法是,清理本机缓存后复测;用多地解析工具确认实际结果;推动解析记录正确下发。

验收就看一点,多地解析指向新地址,用户访问正常。

作者 9823189