我正在一台有两个网络接口的服务器上配置 bind9,其中一个接口连接到 LAN,另一个接口通过 NAT 连接到 Internet,因此 bind 并不直接面向 Internet。一切似乎都运行正常,客户端可以进行正向和反向查找,但有些事情似乎很奇怪。
在服务器上,如果我尝试 ping www.google.com 一次,就会生成大量网络活动,比预期的要多得多,所以我决定使用 tcpdump 嗅探流量。将转储加载到 Wireshark 时,我可以看到大约 250 个带有“标准查询 A”和“标准查询响应”的条目。以下是转储中的一些条目
DNS Standard query A www.google.com
DNS Standard query A blackhole-1.iana.org
DNS Standard query A blackhole-2.iana.org
DNS Standard query response
DNS Standard query A ns2.isc-sns.com
DNS Standard query A ns1.isc-sns.net
DNS Standard query A ns3.isc-sns.info
DNS Standard query response PTR b.iana-servers.net RRSIG
DNS Standard query A auth2.dns.cogentco.com
DNS Standard query A ns1.crsnic.net
DNS Standard query A ns2.nsiregistry.net
DNS Standard query A ns3.verisign-grs.net
DNS Standard query A ns4.verisign-grs.net
DNS Standard query PTR 79.52.19.199.in-addr.arpa
我对 DNS 还没有太多经验,但我很确定肯定出了问题。有人知道发生了什么吗?
答案1
如果这是您第一次请求 google.com,那么您的 DNS 服务器必须做一些额外的工作来从根目录开始查找内容。
这地址解析机制维基百科域名系统页面描述了该过程。
当您进行捕获时,您是否确保禁用了 wireshark 中的 DNS 解析?如果启用此功能,Wireshark 将在捕获期间发出大量 DNS 请求。
您还应该确保阻止任何其他内容使用 DNS 服务器,否则您将在捕获中看到大量不相关的内容。
答案2
它看起来只是一个典型的递归 DNS 查找 - 您的服务器会不断查询名称服务器,直到找到权威的名称服务器。
答案3
对于空缓存,服务器将执行与以下输出非常类似的操作
dig a www.google.com +trace
将向您展示。
此外,ping 还会进行反向(PTR)记录查找,以显示它尝试访问的 IP 地址的名称。
dig -x 199.19.52.79 +trace