DNS伺服器日誌是內建 DNS 服務(named/BIND)的記錄,並且刻意把「查詢記錄」與「系統事件」分成兩個項目,避免大量的查詢紀錄蓋掉真正重要的服務訊息。當您要確認某個網域是否真的被查詢過、某台機器為什麼解析不到名稱,或要看 DNS 服務本身有沒有載入錯誤時,會使用這一頁。
什麼時候會用到這一頁:
- 外部使用者說「你們的網站/郵件主機連不上」,想確認 DNS 查詢是否有進來、是否回應正常
- 剛新增或修改了一筆 DNS 記錄,想確認查詢是否已經生效
- 郵件被退信且原因與 DNS 有關(例如找不到對方主機、反解查不到)
- DNS 服務啟動失敗或轄區載入失敗,需要看錯誤訊息
- 懷疑有人對 DNS 服務做大量異常查詢
日誌項目
「記錄」分頁的「日誌項目」可切換兩支日誌,兩者都位於 /var/log/named:
- DNS 查詢記錄 (
query.log):每一筆查詢的來源、查詢名稱與類型,用來確認「某個名稱有沒有被查過、被誰查、查什麼類型」 - DNS 系統事件 (
named.log):服務啟動、轄區(zone)載入、查詢被拒等系統層級訊息。排查服務本身問題時看這一支
切換日誌項目時,系統會自動選取該項目的第一個檔案。
列表與查詢
選定日誌項目後,下方的「日誌檔案」會列出該項目目前的檔案與輪替舊檔(含 .gz 壓縮檔)。
- 表格只有「日誌內容」一欄,一列就是一行日誌
- 預設順序:由新到舊,可切換排序方向
- 每頁筆數:預設 50 筆
- 搜尋:即時全文檢索,符合的關鍵字會反白
- 搜尋語法:
關鍵字1,關鍵字2為 OR(任一命中)、關鍵字1+關鍵字2為 AND(兩者都命中);逗號與加號不要混用,混用時整串會被當成一個關鍵字原樣比對 - 沒有資料時顯示「暫無 DNS 日誌資料」
實際最好用的關鍵字:
| 想查什麼 | 搜尋什麼 |
|---|---|
| 某個網域被查過幾次 | 網域名稱(例:yourcompany.com) |
| 某台機器的查詢 | 它的 IP(例:203.0.113.8) |
| 某種類型的查詢 | 記錄類型(MX、A、AAAA、TXT、PTR) |
| 查詢被拒 | refused、denied |
| 轄區載入問題 | zone、loaded、error |
組合範例:
- 只看某網域的 MX 查詢:
yourcompany.com+MX - 同時看兩種記錄類型:
MX,TXT
查詢記錄的成長速度很快(站上每一台機器、每一個郵件連線都可能產生查詢),請務必先用關鍵字縮小範圍再逐頁看,不要直接從第一頁翻。
匯出與刪除
日誌檔案選擇器旁有兩個共用按鈕:
- 匯出:把目前選取的日誌檔下載。純文字以純文字下載、
.gz維持壓縮格式;檔名會自動加上下載時間戳,不會覆蓋舊檔 - 刪除:輪替舊檔整檔刪除(確認視窗「確定要刪除日誌檔案「:file」嗎?」);現役檔只清空內容、保留檔案(確認視窗「此為目前正在寫入的日誌,刪除將僅清空其內容(檔案保留)。確定要清空「:file」嗎?」)
- 成功顯示「日誌檔案「:file」內容已清空」或「日誌檔案「:file」已刪除」;失敗顯示「刪除日誌檔案失敗」
- 刪除日誌的動作本身也會寫入「操作日誌」
設定(輪替)
「設定」分頁的輪替參數由 query.log 與 named.log 共用同一組設定:
- 記錄週期:每週(預設)或每天
- 保留天數/保留週數:依週期決定單位
- 單檔大小上限(MB):超過就提前輪替
- 壓縮 rotate 檔:舊檔以 gzip 壓縮
調整後按「儲存設定」,成功顯示「logrotate 設定已儲存」,失敗顯示「logrotate 設定儲存失敗」。
空間使用
「空間使用」分頁會依日誌項目分組,列出各檔案的檔名、最後修改時間、空間占用,並顯示「總計(N 個檔案)」,清單依時間倒序(新→舊)。沒有檔案時顯示「目前沒有日誌檔。」;讀取失敗時顯示「讀取失敗」。
查詢記錄的成長速度取決於站上實際的解析量,請留意總計數字;若成長過快,優先調整的是 query.log 的保留份數(named.log 通常很小,保留久一點沒關係)。
常見情境與判讀
- 「外部連不上我們的網站/郵件」:先到
query.log搜尋您的網域。若完全沒有查詢記錄,代表查詢根本沒送到這台 DNS(上游或對方的 DNS 設定問題);若有查詢記錄,接著看named.log有沒有載入錯誤或回應被拒 - 「剛改了 DNS 記錄,什麼時候生效」:在
query.log搜尋該名稱,確認現在回應的是否為新值;同時注意其他 DNS 伺服器可能有快取,實際生效時間取決於該記錄的 TTL - 「服務啟動後就沒有回應」:到
named.log看啟動過程,找zone、loaded或error相關訊息。常見原因是轄區記錄內容有語法問題(例如 CNAME 設在@、TXT 值含特殊字元) - 「某些查詢被拒絕」:在
named.log搜尋refused、denied。這通常與允許查詢的來源範圍設定有關,請到「服務管理 / DNS伺服器設定」確認 - 「懷疑有人對 DNS 大量查詢」:在
query.log用單一來源 IP 搜尋,短時間內出現大量不同名稱就是警訊;這類異常也可能觸發自動防禦,請看「防火牆設定 / 自動防禦設定」
注意事項
- 查詢記錄的成長速度取決於站上實際的解析量,請留意「空間使用」的總計,必要時縮短保留週數
- 這一頁只負責檢視;DNS 服務的啟用、監聽位址與轄區記錄都在「服務管理 / DNS伺服器設定」維護
named.log同時是「防火牆設定 / 自動防禦設定」中 DNS 防禦項目的判斷來源(查詢被拒的異常行為);要查看或解除封鎖請到該頁的「已封鎖清單」- 若 DNS 服務未曾啟動,這兩個項目都不會有資料(檔案清單會是空的)
- 這一頁記錄的是「本機這台 DNS 服務」的活動,不是您向 DNS 代管商申請的網域設定;對外的網域記錄仍以您的 DNS 代管商或上層 DNS 為準