DNS 伺服器日誌記錄本機名稱服務(named)的兩件事:誰來查了什麼(查詢記錄),以及服務本身的運作與錯誤(系統事件)。當您剛改完 DNS 記錄要確認有沒有生效、郵件因為「查不到網域」而延遲,或懷疑有人在對本機大量查詢時,就來這一頁。
這兩種訊息性質不同,所以分開成兩個日誌項目:日常排查多半看「DNS 查詢記錄」,服務異常時才需要看「DNS 系統事件」。
什麼時候會用到這一頁:
- 剛新增或修改 DNS 記錄,要確認查詢是否已回覆新值
- 修改記錄後服務重新載入失敗,需要看錯誤原因
- 郵件投遞延遲,懷疑是網域查詢失敗造成
- 查詢量異常暴增,懷疑被當作跳板或遭受放大攻擊
- 要確認某個外部主機是否曾查詢過本機負責的網域
日誌項目與檔案
| 日誌項目 | 檔案 | 內容 |
|---|---|---|
| DNS 查詢記錄 | /var/log/named/query.log |
每一次查詢:誰問、問哪個名字、問哪種記錄型別、得到什麼結果 |
| DNS 系統事件 | /var/log/named/named.log |
服務啟動與停止、轄區載入、區域傳送、錯誤與警告 |
選定項目後,第二層「日誌檔案」列出該項目的輪替檔(新→舊),每個檔名後面標示最後修改時間。
兩個項目放在不同目錄(都在 /var/log/named/ 之下),但共用同一組輪替設定。
記錄頁籤:查詢與閱讀
- 搜尋框:全文檢索日誌內容,輸入即時生效
- 搜尋語法:
字A,字B=任一命中(OR);字A+字B=兩個都要命中(AND);其他寫法當成單一字串。+與,混用不會被拆解,會整串比對 - 比對不分大小寫;
.gz輪替檔會自動解壓後搜尋 - 欄位:只有「日誌內容」一欄,可點標題切換排序方向
- 預設排序:內容由大到小(最新在上面);每頁 50 筆
- 沒有資料時顯示「暫無 DNS 日誌資料」
查詢記錄怎麼讀:一行典型內容會包含「時間、來源 IP、查詢的名字、記錄型別、結果」。排查時常用的關鍵字:
- 網域名稱(例如
yourcompany.com)→ 看這個網域被查了什麼、回什麼 - 記錄型別:
A/AAAA(位址)、MX(郵件主機)、TXT(SPF/DKIM/DMARC 等驗證記錄)、PTR(反解)、NS、SRV NXDOMAIN→ 查的名字不存在(記錄沒設好、或名字打錯時最常看到這個)SERVFAIL→ 伺服器無法回答(通常是轄區載入失敗或上游查不到,要接著看系統事件)REFUSED→ 拒絕回答(查詢來源不在允許範圍內,請看(郵件閘道 / DNS伺服器設定)的允許查詢設定)- 來源 IP → 追某台主機查了什麼
系統事件怎麼讀:
loading configuration/reloading/loaded serial→ 服務載入設定與轄區的過程。改完記錄後若看到loaded serial且序號更新,代表生效了zone ... loaded serial N→ 該轄區載入成功,N是序號zone ... not loaded/failed to load/bad zone→ 載入失敗。這是最重要的訊號:某個轄區有語法錯誤時,該網域的查詢會全部失敗transfer of ... failed/connection refused→ 與上游或次要伺服器的區域傳送失敗network unreachable/timed out→ 對外查詢或轉送失敗(表現為使用者查外部網域變慢)
匯出與刪除
- 匯出:下載該檔完整內容(不受畫面搜尋與分頁影響),檔名自動加時間戳;系統以 root 讀取,權限受限的日誌檔也匯得出來
- 刪除:活檔(
query.log/named.log)→ 只清空內容、保留檔案,確認視窗顯示「此為目前正在寫入的日誌,刪除將僅清空其內容(檔案保留)。確定要清空「:file」嗎?」;輪替檔(.1/.2.gz)→ 真正刪除,確認視窗顯示「確定要刪除日誌檔案「:file」嗎?」 - 成功訊息為「日誌檔案「:file」內容已清空」或「日誌檔案「:file」已刪除」
- 失敗訊息為「刪除日誌檔案失敗」、「刪除日誌檔案失敗:檔案無法刪除(權限或檔案屬性限制)」、「清空日誌檔案失敗:檔案無法寫入(權限或檔案屬性限制)」
清空活檔後系統會處理服務的檔案重新開啟。本頁沒有「不可刪除」的保護檔。
設定頁籤:輪替設定
兩個日誌檔共用一組設定:
- 記錄週期:每週(預設)或每天
- 保留天數/保留週數:可填 1–400,出廠預設保留 8 週
- 單檔大小上限:可填 1–200 MB,出廠預設 50 MB
- 壓縮 rotate 檔:預設開啟
按「儲存設定」,成功顯示「logrotate 設定已儲存」,失敗顯示「logrotate 設定儲存失敗」。設定於下次輪替時生效。
容量提醒:DNS 查詢記錄的成長速度與查詢量成正比,而對外的 DNS 伺服器查詢量通常遠大於郵件量。若您開放對外查詢,query.log 可能很快成長——建議定期查看「空間使用」頁籤,必要時把「記錄週期」改成每天並降低保留份數。
空間使用頁籤
列出這兩個日誌檔(含輪替檔與壓縮檔)的「檔案名稱/最後修改/空間占用」,最後顯示「總計(N 個檔案)」,依時間新到舊。沒有檔案顯示「目前沒有日誌檔。」;讀取失敗顯示「讀取失敗」。
統計時兩個項目會分別列出,所以您可以直接比較「查詢記錄」與「系統事件」何者較大——正常情況下查詢記錄會大得多;若系統事件異常肥大,代表服務持續在報錯。
常見情境與判讀
- 「剛改的 DNS 記錄沒生效」:先看「DNS 查詢記錄」是否已回覆新值;若仍回舊值,可能是用戶端快取(等 TTL 到期)或本機尚未重新載入。再看「DNS 系統事件」有沒有
loaded serial出現 - 「某個網域全部查不到」:在系統事件搜尋該網域,找
not loaded/bad zone;一個轄區載入失敗會讓該網域的所有查詢失敗,這是最常見的原因 - 「外部查詢變慢」:系統事件搜尋
timed out/network unreachable,確認對外連線與上游 DNS 是否正常;搭配(網路設定 / 網路測試工具)測試 - 「查詢量異常暴增」:看查詢記錄的來源 IP 分布。若同一來源大量查詢且多為
ANY或古怪名字,可能是掃描或放大攻擊,請搭配(防火牆設定 / 手動防禦設定)處理 - 「反解查不出來」:確認
PTR型別的查詢與反解轄區設定((郵件閘道 / DNS伺服器設定));反解不正確會影響對方是否願意收您的信 - 「郵件因為 DNS 延遲」:先看系統事件有無大量查詢逾時,再看(系統日誌 / SMTP日誌)中是否有
status=deferred且原因與 DNS 有關
注意事項
- 日誌內容是歷史紀錄,這一頁只讀不寫(唯一的例外是「設定」頁籤的輪替參數)
- 修改 DNS 記錄後請務必回來看「DNS 系統事件」——設定畫面顯示「已儲存」不等於服務已成功載入;載入失敗時畫面不會主動提示,只有這裡看得到
- 用戶端與上層的快取會讓「已生效」看起來像「沒生效」:記錄已更新但查詢仍回舊值是正常的,等 TTL 過期即可
- 查詢記錄只記錄有進到本機的查詢;若用戶端直接向外部 DNS 查詢,本頁不會有紀錄
- 這一頁的日誌檔位於
/var/log/named/(與其他日誌分開放),但輪替設定是與其他日誌頁分開管理的,調整本頁設定不會影響其他頁的日誌 - 相關頁面:(郵件閘道 / DNS伺服器設定)管理轄區與記錄、(郵件閘道 / SPF 管理)/(郵件閘道 / DomainKey管理)/(郵件閘道 / DMARC管理)產生要發布到 DNS 的驗證記錄