在預設情況下,bind把日誌訊息寫到/var/log/messages檔案中,而這些日誌訊息是非常少的,主要就是啟動,關閉的日誌記錄和一些嚴重錯誤的訊息,所以要詳細記錄伺服器的執行狀況,需要自己配置伺服器的日誌行為。也就是要在配置檔案named.conf中使用logging語句來定製自己所需要的日誌記錄,logging語句的語法為:
[code:1:8494ad473d]logging ;
};[/code:1:8494ad473d]
在日誌中主要有兩個概念:通道(channel)和類別(category)。通道指定了應該向**傳送日誌資料:是傳送給syslog,還是寫在乙個檔案裡,或是傳送給named的標準錯誤輸出,還是傳送到位儲存桶(bit bucket)。類別則規定了哪些資料需要記錄。下面我們主要介紹一下檔案通道和類別。
在定義通道的語句中,severity是指定記錄訊息的級別。在bind中主要有以下幾個級別(按照嚴重性遞減的順序):
critical
error
warning
notice
info
debug [ level ]
dynamic
定義了某個級別後,系統會記錄包括該級別以及比該級別更嚴重的級別的所有訊息。比如定義級別為error,則會記錄critical和error兩個級別的資訊。一般情況下,我們記錄到info級別就可以了。print-time是設定在日誌中是否需要寫入時間,print-severity是設定在日誌中是否需要寫入訊息級別,print-category是設定在日誌中是否需要寫入日誌類別。
category語句是指定哪一種類別的資料使用哪個或者哪幾個已經定義了的通道。在bind9中類別有:
default
default類別匹配所有未明確指定通道的類別,但是不匹配不屬於任何類別的訊息。這些不屬於任何類別的訊息屬於下面列出的這些類別。
general
包括所有未明確分類的bind訊息。
client
處理客戶端請求。
config
配置檔案分析和處理。
database
同bind內部資料庫相關的訊息,用來儲存區資料和快取記錄。
dnssec
處理dnssec簽名的響應。
lame-servers
發現錯誤授權。
network
網路操作
notify
非同步區變動通知。
queries
查詢日誌
resolver
名字解析,包括對來自解析器的遞迴查詢的處理。
security
認可/非認可的請求。
update
動態更新事件。
xfer-in
從遠端名字伺服器到本地名字伺服器的區傳送。
xfer-out
從本地名字伺服器到遠端名字伺服器的區傳送。
例如要記錄queries訊息,就可以如下配置(把以下語句新增到named.conf中就可以了):
[code:1:8494ad473d] logging ;[/code:1:8494ad473d]
這樣伺服器會在工作目錄(directory語句所指定的目錄,通常為:/var/named)下建立query.log這個檔案,並把執行過程產生的queries訊息寫如到query.log檔案中,如下:
nov 28 16:04:55.516 queries: client 192.168.0.113#32770: query: dns.andy.com in a
另外解釋一下「[color=blue:8494ad473d]file "query.log" versions 3 size 20m;[/color:8494ad473d]」語句中「version」和「size」的意義:
version是指定允許同時存在多少個版本的該檔案,比如指定3個版本(version 3),bind9會儲存query.log、query.log0、query.log1和query.log2。
size是指定檔案大小的上限,如果只設定了size而沒有設定version的話,當檔案達到指定的檔案大小上限時,伺服器停止寫入該檔案。如果設定了version的話,伺服器會進行迴圈,比如把query.log變成query.log1,query.log1變成query.log2等,然後建立乙個新的query.log進行寫入。
bind9配置例項初探
1.關於zone檔案 通常情況下,乙個zone檔案描述該dns伺服器服務的乙個授權伺服器域。例如,我有乙個dns伺服器可以解析taobao.com的網域名稱和baidu.com的網域名稱,那麼我的dns伺服器配置檔案中就可以設定兩個zone標籤如 乙個用於描述taobao.com的網域名稱資訊,另乙...
BIND9安裝配置 手記
zone zone localhost zone example.com zone 0.0.127.in addr.arpa zone 100.168.192.in addr.arpa 這段檔案在 etc rndc.conf 的尾部需拷貝才能使用 tail 13 etc rndc.conf etc ...
BIND9原始碼分析奠基
因為從事的是dns方面的工作,而且也很想學習高效能伺服器的知識,所以學習bind9的實現既能兼顧工作又可以學到高效能伺服器的知識。一是市面上bind9原始碼分析的資料太少了,而且 量又很大,所以對於像我這樣的新手來說入門門檻實在太高,所以想把自己的總結分享出來,幫助那些新人。by the way,我...