4.10. 使用 dnstap 记录 DNS 查询
作为网络管理员,您可以记录域名系统(DNS)详情来分析 DNS 流量模式、监控 DNS 服务器性能,并对 DNS 问题进行故障排除。如果您希望有一个高级方法来监控和记录传入名称查询的详细信息,请使用 dnstap 接口记录从 named 服务发送的消息。您可以捕获并记录 DNS 查询,来收集有关网站或 IP 地址的信息。
先决条件
-
bind-9.11.26-2软件包或更新的版本已安装。
如果您已安装并运行了 BIND 版本,添加新版本的 BIND 将覆盖现有的版本。
流程
通过编辑
options块中的/etc/named.conf文件来启用dnstap和目标文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要指定您要记录的 DNS 流量类型,请将
dnstap过滤器添加到/etc/named.conf文件中的dnstap块中。您可以使用以下过滤器:-
auth- 权威区域响应或回答。 -
client- 内部客户端查询或回答。 -
forwarder- 转发的查询或来自它的响应。 -
resolver- 迭代的解析查询或响应。 -
update- 动态区域更新请求。 -
all- 以上选项中的任何一个。 query或response- 如果您没有指定query或response关键字,则dnstap两个都记录。注意dnstap过滤器包含多个由;分隔的定义,dnstap {}块的语法如下:dnstap{(all | auth | client | forwarder | resolver | update)[(query | response)]; … };
-
要应用您的更改,请重启
named服务:systemctl restart named.service
# systemctl restart named.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为活跃日志配置定期回滚
在以下示例中,
cron调度程序每天运行一次用户编辑的脚本的内容。值为3的roll选项指定dnstap最多可以创建三个备份日志文件。值3覆盖dnstap-output变量的version参数,并将备份日志文件数限制为三个。此外,二进制日志文件被移到另一个目录并被重命名,并且永远不会达到.2后缀,即使三个备份文件已存在。如果根据大小限制自动回滚二进制日志足够了,则您可以跳过这一步。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
dnstap-read工具以人类可读的格式处理和分析日志:在以下示例中,
dnstap-read工具以YAML文件格式打印输出。Example: dnstap-read -p /var/named/data/dnstap.bin
Example: dnstap-read -p /var/named/data/dnstap.binCopy to Clipboard Copied! Toggle word wrap Toggle overflow