Domain-Name-System

綁定請求的 DNS 伺服器 IP 日誌

  • April 15, 2014

我有一個 DNS 伺服器,它在具有多個 IP 的虛擬 linux 機器上執行。Bind 提供了一些非常詳細的調試日誌,但是,似乎沒有記錄的一條資訊是請求的IP 地址。

例如,如果我在同一個盒子上操作 google 的 DNS 伺服器 8.8.8.8 和 8.8.4.4,我會查看使用者是通過 8.8.8.8 還是 8.8.4.4 請求 DNS 記錄。

理想情況下,我不想涉及其他網路流量監控工具,而只堅持使用 BIND。我的另一個興趣是根據請求的伺服器 ip 改變響應,類似於 bind 中的 view 子句,但如果可以實現前者,那似乎會簡單得多。

謝謝!

Bind 9 中的日誌記錄選項非常全面,您需要像這樣設置一個通道:

channel resolving {
               file "data/named.resolve" versions 10 size 5m;
               severity info;
               print-time yes;
        };

然後一個類別將查詢強制進入通道

category queries {
                       resolving;
        };

這一切都在該logging {};部分內。

警告,如果您記錄所有查詢,您將花費大量時間將它們寫入磁碟,並且它們會變大。選項版本 10,大小 5m 是我控制日誌的方式,它保留 10 個版本,最大大小為 5 MB。然後,我有一個 cron 作業,可以在它們被綁定刪除之前解析出資訊。

這是我在該日誌中獲得的資訊:

15-Apr-2014 16:15:15.041 client 192.168.xxx.xxx#40978: view That-one : query: XXXXX IN A + (192.168.xxx.xx)

() 中的 IP 地址是響應的 BIND 伺服器 IP。

引用自:https://serverfault.com/questions/589225