bind9 的性能比 google dns 慢

bind9 的性能比 google dns 慢

在 Debian 9 上,我将 bind9 (v.9.10.3) 配置为缓存服务器,稍后再配置为转发服务器。出于测试目的,我没有任何防火墙,而是从内部局域网千兆位进行测试。Bind 可以工作,但性能不太好,例如:

dig aruba.it @192.168.50.35 (my BIND)
Query time: 129 msec

dig aruba.it @8.8.8.8
Query time: 20 msec

nmap -sT -p 53 192.168.50.35

Starting Nmap 7.60 ( https://nmap.org ) at 2017-11-06 14:31 CET
Nmap scan report for 192.168.50.35
Host is up (0.0014s latency).

ping -c5 192.168.50.35

PING 192.168.50.35 (192.168.50.35) 56(84) bytes of data.
64 bytes from 192.168.50.35: icmp_seq=1 ttl=64 time=1.31 ms
64 bytes from 192.168.50.35: icmp_seq=2 ttl=64 time=1.34 ms
64 bytes from 192.168.50.35: icmp_seq=3 ttl=64 time=1.33 ms
64 bytes from 192.168.50.35: icmp_seq=4 ttl=64 time=5.56 ms
64 bytes from 192.168.50.35: icmp_seq=5 ttl=64 time=1.32 ms

--- 192.168.50.35 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 1.312/2.177/5.561/1.692 ms

所有域都会发生这种情况。切换转发器绑定配置时,我遇到了同样的问题:查询速度很慢。

这是本地 DNS 的正确查询时间吗?

cat /etc/bind/named.conf.options

options {
        directory "/var/cache/bind";

// uncomment these to switch to forwarders
//        forwarders {
//                8.8.8.8;
//                8.8.4.4;
//         };


        dnssec-validation auto;
        listen-on port 53 { localhost; 192.168.50.0/24; };
        allow-query { localhost; 192.168.50.0/24; };
        recursion yes;

};

禁用 IPv6 不会改变任何东西。

答案1

一种可能的解释是缓存。DNS 记录缓存在 DNS 服务器中(也缓存在客户端中)。Google DNS 是全球许多用户使用的公共 DNS 服务器。因此,请求的名称很可能最近已由 Google DNS 解析。这意味着与本地 DNS 服务器相比,响应时间更短。

另一个原因是 Google 所做的优化和调整。这样的公共 DNS 服务器必须进行优化才能处理其接收的流量。

顺便说一句,您可以通过重复向服务器发送 DNS 查询来验证缓存效果。从第二次开始,您将获得更好的响应时间(结果已被缓存)。

相关内容