调试时改 /etc/hosts,ping 结果还是老地址。
原因:systemd-resolved 有自己的缓存,hosts 改动要重启服务才生效。
解:systemctl restart systemd-resolved,或者 resolvectl flush-caches。
另一层:应用自己也可能缓存 DNS(Java 有 networkaddress.cache.ttl)。
三层缓存:应用层、系统解析层、hosts。排查时从应用往外一层层看。
这类问题在切换数据库主从、迁移服务时最容易遇到。
主楼
继续逛逛