当前位置: 首页 > linux, 系统工具 > 正文

unbound 清除 DNS 缓存

[摘要] 使用了unbound做的DNS缓存,DNS的查询性能显著提高,比bind要强很多。但是由于它本身会cache住前面DNS查询结果,所以客户端如果使用了unbound的DNS的话,DNS生效时间需要注意下,很可能会有延迟,所以有必要对unbound DNS清理缓存。

如下是我的实际中遇到的情况,由于使用了cloudflare,作为CDN加速,将之前再阿里云上的NS记录修改到了cloudflare上,据说是需要24小时才能生效,不过看了几个主要DNS服务器,过期时间还是可以接受的。

试过了几个公网DNS,比如8.8.8.8,180.76.76.76,119.29.29.29 ,114等等都已经很快切换到了新的IP地址

#dig www.sudops.com @114.114.114.114
;; QUESTION SECTION:
;www.sudops.com.            IN    A
;; ANSWER SECTION:
www.sudops.com.        597    IN    A    xx.xx.xxx.xxx
www.sudops.com.        597    IN    A    xx.xx.xxx.yyy

但是通过内网unbound的DNS查询,一直没有变过来(这里10.10.10.10是我内网的DNS服务器)

#dig www.sudops.com @10.10.10.10
;; QUESTION SECTION:
;www.sudops.com.            IN    A
;; ANSWER SECTION:
www.sudops.com.        597    IN    A    yy.yy.yyy.yyy

dump一下unbound的cache,发现确实有缓存,而且还剩下8w多秒。。

# unbound-control dump_cache|grep sudops.com
sudops.com.    89981    IN    NS    dns16.hichina.com.
sudops.com.    89981    IN    NS    dns15.hichina.com.
www.sudops.com.    459    IN    A    xx.xx.xxx.xxx
msg www.sudops.com. IN A 33152 1 159 0 1 1 2
www.sudops.com. IN A 0
sudops.com. IN NS 0

截图为unbound cache的部分内容:

于是可以使用如下的命令来清理unbound的缓存:

# unbound-control flush A sudops.com. cache
ok
# unbound-control flush A www.sudops.com. cache
ok
# unbound-control flush_zone botoex.com
ok removed 0 rrsets, 0 messages and 0 key entries

# unbound-control flush www.sudops.com
ok
# unbound-control flush_type name www.sudops.com aaaa
ok

再查询一下,已经没有缓存了

# unbound-control dump_cache|grep sudops

dig查询已经是解析到新的IP地址了。

#dig www.sudops.com @10.10.10.10
;; QUESTION SECTION:
;www.sudops.com.            IN    A
;; ANSWER SECTION:
www.sudops.com.        597    IN    A   xx.xx.xxx.xxx
www.sudops.com.        597    IN    A   xx.xx.xxx.yyy

看看unbound现在的缓存结果:

# unbound-control dump_cache|grep sudops.com
www.sudops.com.    32    IN    A    xx.xx.xxx.xxx
www.sudops.com.    32    IN    A    xx.xx.xxx.yyy
sudops.com.    27    IN    A    xx.xx.xxx.xxx
sudops.com.    27    IN    A    xx.xx.xxx.yyy
msg www.sudops.com. IN A 33152 1 32 0 1 0 0
www.sudops.com. IN A 0
msg sudops.com. IN A 33152 1 27 0 1 0 0
sudops.com. IN A 0

看来DNS缓存清理生效了,unbound这个轻量级的DNS使用起来还是非常方便的,DNS转发、DNS劫持(测试使用)等等都比较适合。

本文固定链接: https://sudops.com/dump-clear-unbound-dns-cache.html | 运维速度

该日志由 u2 于2017年11月29日发表在 linux, 系统工具 分类下,
原创文章转载请注明: unbound 清除 DNS 缓存 | 运维速度
关键字: , ,

报歉!评论已关闭.