自定义日志输出.note

noteId: WEB9a45ca16003fdbcaacbbdff65c37ca24 · 原始路径:/ALL/Linux - A模块/服务配置/DNS/DNS 配置/自定义日志输出.note · 图片:15 · 附件待处理:0

 
·格式:
# man 文档可查看格式:
man named.conf
 
1)channel:
channel    //定义日志通道,定义日志存储方法(丢弃或存储到文件)
# 可以定义 file、syslog、null、stderr
 
这里直接写相对路径 file "queries.log" ,不写绝对路径,日志默认就会存储到 /var/cache/bind 下
# file:
file 自定义日志文件名称、存储位置,如果不是绝对路径就会存储在 /var/cache/bind 下(如果是绝对路径,并且不是默认bind9可写的目录,就需要修改apparmor)
file ... versions [number]    //保留多少个轮转日志文件
file ... versions .... size [SIZE]    //单个日志文件的大小(当日志大小超过定义的值,就会进行轮转)
# syslog:
交给系统日志
例如:syslog local7,表示,把日志发送到系统日志,facility使用local7
# null:
直接丢弃日志
# stderr:
输出到标准错误中(能够在 journalctl 中被查看到)
# severity [level]:
## 定义日志级别:
critical    //严重错误
error    //错误
warning    //警告
notice    //普通重要信息
info    //一般信息
debug    //调试信息,最详细
 
2)category:
category    //指定一种类别的BIND日志,将这类日志发送到指定的 channel中
# 常见的 category类型:
## 主从区域传输相关:
xfer-out    //本机把zone传出去(用于dns master)
xfer-in    //本机接收zone传输(用于dns slave)
notify    //DNS notify同事(主dns服务器通知从dns服务器更新)
zoneload    //zone加载日志(检查zone文件是否加载成功)
 
## 查询相关:
queries    //客户端查询日志(记录谁查询了什么域名)
query-errors    //查询失败原因
resolver    //递归解析过程
client    //客户端请求处理(输出查询、连接、请求处理细节)
unmatched    //找不到匹配 view/class 的请求(输出view的日志)
 
## 安全相关:
security    //请求允许 / 拒绝(排查 allow-query、allow-transfer、ACL)
update-security    //动态更新允许 / 拒绝(排查 nsupdate、DDNS)
dnssec    //DNSSEC 和 TSIG 处理(排查 DNSSEC、TSIG key)
rate-limit    //响应速率限制日志
rpz    //Response Policy Zone 日志(输出DNS策略拦截日志)
rpz-passthru    //RPZ passthru策略日志
 
 
general    //通用日志
 
1、输出 主从区域传输日志:
 
mkdir /var/log/bind
touch /var/log/bind/transfer.log
chown -R bind:bind /var/log/bind
 
·自定义路径需要修改 apparmor:
vim /etc/apparmor.d/usr.sbin.named
# 新增一行:
systemctl restart apparmor
 
# 主 dns服务器:
vim /etc/bind/named.conf
channel log    //定义名为 log 的日志通道
 file "/var/log/bind/transfer.log" versions 5 size 10M    //定义日志存储到/var/log/bind/transfer.log路径,最多轮转5次,每个文件最大 10MB(versions 和 size 都是可选项)
 print-category yes    //打印日志类别(可选项)
 print-severity yes    //打印日志级别(可选项)
 print-time yes    //在日志前面打印时间(可选项)
 severity info    //定义日志输出级别为 info
 
category xfer-out { log; };    //输出区域传输日志(xfer-out),将日志发送到 log channel 中
最简化:
 
# 从 dns服务器:
vim /etc/bind/named.conf
最简化:
 
·查看日志:
主 dns:
 
从 dns:
 
 
2、输出 dns查询 日志:
 
存储到默认路径:
这里直接写相对路径 file "queries.log" ,不写绝对路径,日志默认就会存储到 /var/cache/bind 下
vim /etc/bind/named.conf
 
测试:
客户端访问时,访问日志将被存储到 /var/cache/bind/queries.log 下
 
如果要自定义路径:
# 配置bind9:
vim /etc/bind/named.conf
 
# 给予权限:
touch /var/log/queries.log
chown bind:bind /var/log/queries.log
 
# 配置 apparmor:
vim /etc/apparmor.d/usr.sbin.named
添加一行
systemctl restart apparmor
systemctl restart bind9
 
测试:
客户端解析:
 
查看日志: