绑定缓存未使用?

绑定缓存未使用?

我在本地网络中安装了一个经典的 bind9 dns 服务器,作为转发 dns 服务器,这是我的配置文件(我刚刚将我的 ISP DNS 服务器添加为转发器):

选项 {

目录“/var/cache/bind”;

转发器 { 212.27.40.240; 212.27.40.241; };

只向前;

dnssec 验证自动;

auth-nxdomain no; # 符合 RFC1035

监听-on-v6 { 任何; }; };

我感兴趣的是使用 dig 时获得的“查询时间”

我用了 挖掘@my_dns_ipadress www.google.com

我还添加了发送查询的时间

06:04:47 --> ;; 查询时间:157 毫秒(绑定后的第一个查询开始)

06:09:24 --> ;; 查询时间:1 毫秒

06:29:28 --> ;; 查询时间:106 毫秒

06:39:39 --> ;; 查询时间:1 毫秒

07:04:21 --> ;; 查询时间:98 毫秒

我的问题是,为什么第 3 次和第 5 次查询时间不是 1 毫秒左右?缓存似乎没有被使用

在向我的 isp dns 服务器转储传出的 udp 53 数据包时,我也执行了这些测试,我发现当查询时间超过 1 或 2 毫秒时,bind 会将 dns 请求发送到我的 isp dns 服务器。

那么我该如何强制绑定以使用他的缓存?

答案1

bind 缓存记录的时间不能超过该记录的 TTL(生存时间)。www.google.com 的 TTL 为 5 分钟,因此缓存的记录将在这么长时间后过期。

答案2

我设法通过使用未绑定的 DNS 服务器来实现此目的,将“cache-min-ttl”选项设置为 604800 秒(1 周)。缓存在一周内始终被使用,查询时间在 1 到 3 毫秒之间

相关内容