构建企业级DNS系统(五)bind9日志记录
生活随笔
收集整理的這篇文章主要介紹了
构建企业级DNS系统(五)bind9日志记录
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
BIND支持豐富的日志記錄,并且支持將日志信息寫入文件和發(fā)送到syslog中。
1. BIND日志記錄的重要的概念。
- 通道channel
用于指定日志數(shù)據(jù)的流向,如syslog、文件 - 類別categories
用于指定記錄哪些日志,如查詢?nèi)罩緌ueries、動態(tài)更新日志update、解析器的遞歸查詢處理日志resolver等。
每個類別的日志數(shù)據(jù)可以指定發(fā)送到一個或者多個不同的通道channels中。
通道允許根據(jù)日志消息的嚴(yán)重級別來過濾輸出指定級別的日志,安裝嚴(yán)重性遞減的順序排列是critical–>error–>warning–>notice–>info–>debug [level]–>dynamic
前面5個就是syslog所使用的嚴(yán)重級別,后面兩個是BIND特有的。
debug日志可以指定級別,如果不指定則默認(rèn)BIND會認(rèn)為是1級。默認(rèn)的嚴(yán)重級別是info,這意味著如果要看調(diào)試日志則必須修改嚴(yán)重級別。
2. BIND日志實(shí)戰(zhàn)舉例。
下面我們通過一個簡單的例子,也是DNS實(shí)際生產(chǎn)環(huán)境中最通用的配置舉例來說明bind日志的使用方法。
在named.conf中使用logging語句配置如下:
- 配置文件中通過channel定義了2個日志,日志數(shù)據(jù)流向均是服務(wù)器本地的文件中,通過file自語句來指定。channel的名稱是根據(jù)情況自己定義。
- query_log這個channel中通過category語句指定了日志的類別是queries即查詢?nèi)罩?#xff0c;而general_log這個channel通過category語句指定了default和general兩種類別的日志均輸入到這個channel中。通過category設(shè)置類別的語法可見,如果需要多個類別那么則寫多個即可,類別后面的花括號指定這類日志歸屬那個channel。
- print-time代表在日志數(shù)據(jù)中打印時間戳信息,通常如果日志流向syslog則不需要這個設(shè)置,因?yàn)閟yslog有也記錄日期和時間。
- print-category代表日志數(shù)據(jù)中打印類別的名稱。
- print-severity yes代表日志數(shù)據(jù)中打印級別。
- severity 日志級別。
- version選項(xiàng)用于指定文件保存多少備份版本(幾個文件回滾),如果設(shè)置為unlimited則代表沒有限制,此時bind將保留99個版本文件。如設(shè)置為3,那么BIND將保留file、file0、file1、file2共4個文件,每次文件的輪轉(zhuǎn)順序是把file1改為file2,把file0改為file1把file改為file0,然后新建一個file。
- size選項(xiàng)用于限制日志文件的增長,K代表kilobytes、M代表megabytes、G代表gigabytes。
常用的日志類別說明如下:
| default | 匹配所有未明確分配通道的類別,bind9的default不匹配未分類的BIND消息 |
| general | 所有未明確分類的BIND消息 |
| config | 配置文件的分析與處理 |
| client | 對客戶端請求的處理 |
| network | 網(wǎng)絡(luò)操作 |
| notify | 異步區(qū)域變更通知 |
| queries | 查詢?nèi)罩?/td> |
| update | 動態(tài)更新日志 |
| query-errors | 關(guān)于域名請求失敗的消息 |
| resolver | 遞歸查詢處理 |
| xfer-in | 服務(wù)器接受區(qū)傳送消息 |
| xfer-out | 服務(wù)器發(fā)出的區(qū)傳送消息 |
| dnssec | DNSSEC和TSIG協(xié)議處理消息 |
本例中query.log.打印的查詢?nèi)罩緝?nèi)容如下:
17-Jun-2020 21:25:16.607 client @0x7fef2c005670 192.168.3.1#49839 (www.example.com): query: www.example.com IN A + (192.168.3.160) 17-Jun-2020 21:25:23.172 client @0x7fef2800eef0 192.168.3.1#49862 (www.test.com): query: www.test.com IN A + (192.168.3.160) 17-Jun-2020 21:25:25.109 client @0x7fef2800eef0 192.168.3.1#49863 (www.test.com): query: www.test.com IN A + (192.168.3.160) 17-Jun-2020 21:25:26.211 client @0x7fef2800eef0 192.168.3.1#49864 (www.test.com): query: www.test.com IN A + (192.168.3.160) 17-Jun-2020 21:25:26.701 client @0x7fef2800eef0 192.168.3.1#49865 (www.test.com): query: www.test.com IN A + (192.168.3.160) 17-Jun-2020 21:30:32.277 client @0x7fef2c005670 192.168.3.1#56935 (www.test.com): query: www.test.com IN A - (192.168.3.160) 17-Jun-2020 21:30:33.639 client @0x7fef2800eef0 192.168.3.1#51568 (www.test.com): query: www.test.com IN A - (192.168.3.160)- 上面的192.168.3.1是客戶端的IP地址,后面#號后的數(shù)字是查詢源端口號。
- A代表請求類型是A記錄
- +號代表查詢類似是期望遞歸,如果是-號則是不期望遞歸也就是收到迭代查詢請求。
本例中g(shù)eneral.log.的日志內(nèi)容如下:
18-Jun-2020 00:46:44.291 lame-servers: info: network unreachable resolving './DNSKEY/IN': 2001:500:200::b#53 18-Jun-2020 00:46:44.291 lame-servers: info: network unreachable resolving './DNSKEY/IN': 2001:503:ba3e::2:30#53 18-Jun-2020 00:46:44.292 dnssec: info: managed-keys-zone: Key 20326 for zone . is now trusted (acceptance timer complete) 18-Jun-2020 00:46:44.488 resolver: info: resolver priming query complete 18-Jun-2020 00:47:37.013 network: info: no longer listening on 127.0.0.1#53 18-Jun-2020 00:47:37.014 network: info: no longer listening on 192.168.3.160#53 18-Jun-2020 00:47:37.017 network: info: no longer listening on ::1#53 18-Jun-2020 00:47:37.017 network: info: no longer listening on fe80::9963:d89b:85c6:928b%2#53 18-Jun-2020 00:47:37.020 general: info: shutting down 18-Jun-2020 00:47:37.020 general: notice: stopping command channel on 127.0.0.1#953 18-Jun-2020 00:47:37.023 general: notice: exiting 18-Jun-2020 00:47:40.064 zoneload: info: managed-keys-zone: loaded serial 20 18-Jun-2020 00:47:40.067 zoneload: info: zone test.com/IN: loaded serial 1 18-Jun-2020 00:47:40.067 general: notice: all zones loaded 18-Jun-2020 00:47:40.069 general: notice: running 18-Jun-2020 00:47:40.079 notify: info: zone test.com/IN: sending notifies (serial 1) 18-Jun-2020 00:47:40.566 resolver: info: resolver priming query complete3. BIND日志實(shí)戰(zhàn)經(jīng)驗(yàn)
- 開啟日志必然帶來bind性能的下降,尤其是在較高的業(yè)務(wù)量下大量的日志會導(dǎo)致解析時延的抖動。
- bind日志無法查看域名解析的結(jié)果,例如解析到的IP地址等信息,如果需要則需要進(jìn)行二次開發(fā)。
- general日志其實(shí)包含了大量的信息,當(dāng)出現(xiàn)域名解析異常及各種失敗的情況下一定要習(xí)慣仔細(xì)的查看此日志。
總結(jié)
以上是生活随笔為你收集整理的构建企业级DNS系统(五)bind9日志记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python序列化和反序列化_Pytho
- 下一篇: 某测试仪控制系统的设计方案--ARM+F