解析顺序取决于应用及其名称服务路径
主机名查询首先由具体程序发起。在 Linux 上,使用 glibc 名称服务接口的应用,可以依照 /etc/nsswitch.conf 中 hosts 项列出的服务查询;使用自有 DNS 客户端的程序则可能走另一条路径。并不存在所有应用都遵守的“先缓存、再 hosts、最后互联网”固定顺序。定位问题的起点是实际调用方,而不是凭操作系统名称假定完整流程。 同名可以经本地文件与直接 DNS 得到不同结果。修改上游记录前,先检查 NSS 动作、调用标志和实际进程环境。此图整理文章中的机制,未重跑实验。 坏掉的样子 当 files 位于 dns 前面时,hosts 文件条目可以覆盖正确的 DNS 回答。修改权威区域不会删除这个本地覆盖。直接 DNS 查询可能已经看到新地址,应用却仍使用本地文件中的旧值;这两项观察可以同时正确,因为它们实际回答的是不同来源的查询。仅凭 dig 正常就认定应用一定使用同一个地址,会漏掉最直接的配置原因。 ...