《2022年BIND9详解之日志篇域名服务器教程.docx》由会员分享,可在线阅读,更多相关《2022年BIND9详解之日志篇域名服务器教程.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022年BIND9详解之日志篇域名服务器教程摘要:BIND9详解之日志篇前几天始终有网友询问关于DNS的日志问题。今日我刚好有空,整理了一下共享给大家:D在默认状况下,BIND把日志消息写到/var/log/messages文件中,而这些日志消息是特别少的,主要就是启动,关闭的日志记录和一些严峻错误的消息,所以要具体记录服务器的运行状况,须要自己配置服务器的日志行为。也就是要在配置文件named.conf中运用logging语句来定制自己所须要的日志记录,logging语句的语法为:code:1:8494ad473dlogging{channel<string>
2、3;file<logfile>syslog<optional_facility>null;stderr;severity<logseverity>print-time<boolean>print-severity<boolean>print-category<boolean>}category<string>{<string>.}}/code:1:8494ad473d在日志中主要有两个概念:通道(channel)和类别(category)。通道指定了应当向哪里
3、发送日志数据:是发送给syslog,还是写在一个文件里,或是发送给named的标准错误输出,还是发送到位存储桶(bitbucket)。类别则规定了哪些数据须要记录。下面我们主要介绍一下文件通道和类别。在定义通道的语句中,severity是指定记录消息的级别。在bind中主要有以下几个级别(根据严峻性递减的依次):criticalerrorwarningnoticeinfodebugleveldynamic定义了某个级别后,系统会记录包括该级别以及比该级别更严峻的级别的全部消息。比如定义级别为error,则会记录critical和error两个级别的信息。一般状况下,我们记录到info级别就可以
4、了。print-time是设定在日志中是否须要写入时间,print-severity是设定在日志中是否须要写入消息级别,print-category是设定在日志中是否须要写入日志类别。category语句是指定哪一种类别的数据运用哪个或者哪几个已经定义了的通道。在bind9中类别有:defaultdefault类别匹配全部未明确指定通道的类别,但是不匹配不属于任何类别的消息。这些不属于任何类别的消息属于下面列出的这些类别。general包括全部未明确分类的BIND消息。client处理客户端恳求。config配置文件分析和处理。database同BIND内部数据库相关的消息,用来存储区数据和缓
5、存记录。dnssec处理DNSSEC签名的响应。lame-servers发觉错误授权。network网络操作notify异步区变动通知。queries查询日志resolver名字解析,包括对来自解析器的递归查询的处理。security认可/非认可的恳求。update动态更新事务。xfer-in从远程名字服务器到本地名字服务器的区传送。xfer-out从本地名字服务器到远程名字服务器的区传送。例如要记录queries消息,就可以如下配置(把以下语句添加到named.conf中就可以了):code:1:8494ad473dlogging{channelquery_log{fil
6、equery.logversions3size20m;severityinfo;print-timeyes;print-categoryyes;}categoryqueries{query_log;}}/code:1:8494ad473d这样服务器会在工作书目(directory语句所指定的书目,通常为:/var/named)下创建query.log这个文件,并把运行过程产生的queries消息写如到query.log文件中,如下:Nov2816:04:55.516queries:client192.168.0.113#32770:query:INA另外
7、说明一下“color=blue:8494ad473dfilequery.logversions3size20m;/color:8494ad473d”语句中“version”和“size”的意义:version是指定允许同时存在多少个版本的该文件,比如指定3个版本(version3),bind9会保存query.log、query.log0、query.log1和query.log2。Size是指定文件大小的上限,假如只设定了size而没有设定version的话,当文件达到指定的文件大小上限时,服务器停止写入该文件。假如设定了version的话,服务器会进行循环,比如把query.log变成query.log1,query.log1变成query.log2等,然后建立一个新的query.log进行写入。白雪茫茫 回复于:2022-12-01 12:14:41good阿骁 回复于:2022-12-04 09:01:18简洁明白!顶一下!sunnycn 回复于:2022-05-11 14:26:38我根据上面的要求写了,文件是产生了。但是,里面没有日志。什么缘由呢。感谢!