当域名解析记录发生变化时,旧记录的缓存时长直接影响生效速度,通过调整DNS记录的TTL(Time To Live)参数,可以有效缩短DNS缓存更新时间,以下是两种主流场景下的Linux系统配置方法:
一、BIND域名服务器配置(适用于自建DNS服务)
1、打开主配置文件
sudo nano /etc/bind/named.conf.options
2、添加TTL声明(示例设置为5分钟)
options { // ...原有配置 default-ttl 300; max-ttl-nds 300; // ...原有配置 };
3、重新加载服务配置
sudo systemctl reload bind9
1、修改resolved服务配置
sudo nano /etc/systemd/resolved.conf
2、设置缓存参数(示例设置缓存60秒)
[Resolve] Cache=yes DNSStaleCache=yes CacheTTL=60
3、重启解析服务
sudo systemctl restart systemd-resolved
验证配置生效:
dig +short yourdomain.com | tail -n1 应返回"300"对应5分钟TTL
注意事项:
1、生产环境建议设置TTL不低于300秒(5分钟)
2、修改前需确认现有TTL值,避免设置过短导致DNS查询压力
3、对于公共DNS记录,建议提前24小时设置低TTL值再变更记录
4、客户端配置仅影响本地缓存,不影响权威DNS服务器
引用说明:
- BIND配置参考:ISC官方文档第7章
- systemd-resolved配置:freedesktop.org技术手册
个人观点:合理设置TTL需要平衡生效速度与服务稳定性,建议日常保持默认值,在计划变更前临时调整为300秒,变更完成48小时后恢复常规设置。
文章摘自:https://idc.huochengrm.cn/dns/5897.html
评论
督芳洲
回复修改Linux系统的DNS的TTL值可以通过调整BIND域名服务器配置或本地解析缓存来实现,需要打开相关配置文件,设置合适的默认-ttl和max_ttl参数(适用于服务端),或者Cache等参数的数值并重启服务生效即可。(客户端)合理平衡时间与服务稳定性是关键建议日常保持默认值按需临时更改后恢复常规设定注意生产环境需谨慎操作避免影响用户体验和服务稳定