服务公告
DNS 缓存服务搭建:dnsmasq 内网解析
发布时间:2026-07-06 12:36
## 适用场景 内网机器一多,每台都各自向公网 DNS 发起解析,慢且浪费,还会在公网 DNS 抽风时集体变慢。在内网放一台 dnsmasq 做统一缓存与转发,首次查询之后由本地缓存应答,解析耗时从几十毫秒降到不足一毫秒,还能顺手把内网主机名集中管理起来。 ## 步骤清单 安装后编辑主配置文件,核心就三件事:指定监听地址与网卡、声明上游服务器、配置内网解析记录。上游建议配两台以上不同来源的公共 DNS,其中一台故障时自动切换。 ``` listen-address=192.168.10.10 bind-interfaces server=223.5.5.5 server=119.29.29.29 cache-size=1000 address=/git.internal/192.168.10.20 ``` 配置写好后重启服务并设置开机自启,内网机器把 DNS 指向这台服务器即可,或直接在 DHCP 里统一下发。 ## 验证方法 先在本机用 dig @127.0.0.1 域名 查一次看应答与耗时,再查第二次对比 QUERY TIME 的下降,缓存生效则第二次接近零毫秒。内网记录用 dig 查配置的内部域名,返回配置的地址即正确。上游可用性可以停掉其中一路观察转发是否仍正常。 ## 注意事项 resolv.conf 不要既指自己又指公网,可能形成环。缓存会带来解析变更延迟,TTL 到期前旧记录仍在,切换解析前先把 TTL 调短。顺云云服务器部署此服务时,防火墙规则记得放行内网段的五十三端口,且只对内网开放,避免被公网滥用。 上游选择还有一层容错考虑:两台上游来自不同机构,故障相关性低,一家抽风另一家兜底。上游响应慢会直接拖累缓存未命中时的体验,定期对比两路上游的响应时间,慢的及时更换。缓存命中率也可以观察:dnsmasq 的统计输出里有查询与命中的计数,命中率长期偏低说明热门域名集中度低,可以把缓存条目上限适当调大。 另一个实践细节是内网域名与公网域名的边界。内网服务用独立的内部后缀命名,公共解析里永远查不到,配置错误立即暴露;若把内网服务直接挂在公网域名下,一旦本地解析服务失效退回公共解析,客户端拿到公网地址就会访问到错误的服务,问题反而更隐蔽。上一篇: 服务器托管的机房等级怎么看
下一篇: 多线路接入说明:电信联通移动三网访问优化