Domain-Name-System
綁定請求的 DNS 伺服器 IP 日誌
我有一個 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。