MailVSR MailVSR 三分鐘搞定你的企業網站

DNS伺服器日誌

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 的驗證記錄