5月29日 22:48

DNS 缓存怎么工作?TTL 起什么作用?

DNS 查询每级都缓存:浏览器缓存(Chrome 约 1 分钟)→ 操作系统缓存(TTL 决定)→ 本地解析器缓存(运营商/企业 DNS)→ 权威服务器。TTL(Time To Live)是权威服务器设定的缓存有效期,单位秒。TTL=300 表示缓存 5 分钟内可直接使用,过期后必须重新查询。越短数据越新但查询越多,越长越快但变更延迟越大。

追问

浏览器 DNS 缓存怎么看?

Chrome 地址栏输入 chrome://net-internals/#dns 查看缓存条目和过期时间。

运营商会篡改 TTL 吗?

会。部分运营商 DNS 强制最低 TTL(5 分钟甚至 1 小时),无视权威设定的短 TTL。对策:用权威 DNS 服务商的低 TTL + 多地探测验证。

负 DNS 缓存是什么?

缓存 NXDOMAIN(域名不存在)结果,TTL 由 SOA 的 minimum 字段决定。防止频繁查询不存在的域名。域名刚注册后负缓存未过期,部分地区仍解析失败——等 TTL 过期即可。

如何强制刷新 DNS 缓存?

macOS:sudo dscacheutil -flushcache。Linux:sudo systemd-resolve --flush-caches。Windows:ipconfig /flushdns。运营商缓存无法控制,只能等 TTL 过期。

TTL 设为 0 会怎样?

每次查询都穿透到权威服务器,不缓存。生产环境最低建议 60 秒。CDN 场景通常 300-3600 秒。

标签:DNS