更多: zhilu jiaocheng
回答
如果我们要解决问题,绑定查询日志记录会非常方便。
然而,它很快就会产生大量的输出。
因此,在繁忙的名称服务器上,请确保在短时间内启用它,直到我们解决问题。
打开绑定查询日志记录
- 为了识别客户端的dns查询,需要开启bind query log。
对于 BIND 9,使用以下命令打开查询日志记录:
# rndc querylog
对于 BIND 8,使用以下命令启用查询日志记录:
# ndc querylog
- 查询将记录到 /var/log/messages 文件中。
名称服务器每次收到查询时都会记录一条单行消息。
对于 BIND 9,消息如下所示:
Nov 5 09:12:11 ns1 named[80090]: client 192.168.10.12#3261: query: www.server.example IN A
这告诉我们,我们的名称服务器在 192.168.10.12,端口 3261 收到来自客户端的查询,查询添加到 Internet 类中 www.server.example 的 A 记录。
- 在 BIND 8 名称服务器上,消息如下所示:
Nov 5 09:53:52 ns1 named[80323]: XX+/192.168.10.12/www.server.example/A/IN
这里的大部分信息与 Bind 9 的相同,除了格式。
开头的“XX+”表示是递归查询。
非递归查询仅显示“XX.”。
关闭绑定查询日志记录
要关闭绑定查询日志记录,请使用用于启用它的相同命令。
# rndc querylog
在配置中永久启用查询日志
- 查询日志也可以通过明确地将查询类别指向named.conf的日志部分中的一个通道或者通过指定querylog yes来启用;在named.conf 的选项部分。
# vi /etc/named.conf ... options { querylog yes; } ... logging { channel querylog { file "/var/log/querylog"; severity debug 3; }; };
查询将记录到 /var/log/querylog。
- 创建将记录查询的日志文件。
touch /var/log/querylog
- 更改所有权。
# chown named.named /var/log/querylog
- 重启named服务
# service named restart
如何找出谁在查询名称服务器?
问题
我们想找出哪些解析器和名称服务器正在查询名称服务器。
日期:2020-09-17 00:13:33 来源:oir作者:oir