我已經BIND
在我的 centOS 8 伺服器上安裝了服務並進行了recursion yes;
設定。我注意到我的伺服器每小時發送一個非常大的流量(約 8 GB),但我無法偵測到該流量的來源是什麼。然後我更改了命名配置並禁用了遞歸:recursion no;
停用遞歸並測量流量後,我可以看到發送流量已急劇下降至 200 MB 以下。現在我的問題是這種遞歸如何導致如此大的發送流量?
答案1
遞歸意味著名稱伺服器會盡力回答每個查詢,即使對於他不負責的區域也是如此。
啟用遞歸並讓他不受任何限制地回答每個客戶端的任何查詢是一個壞主意,因為那裡會有很多白痴,他們要么喜歡使用其他開放的名稱伺服器,要么甚至試圖用答案淹沒第三方。
僅應為此名稱伺服器必須確認為解析器的用戶端啟用遞歸。所以,如果你有
recursion yes;
你也應該有一個限制,例如:
allow-recursion { 127.0.0.1; x.x.x.x; };
並列出所有有效的客戶端 IP。
如果此名稱伺服器不是網域名稱的主要 NS,您也可以開啟它以僅回答允許的客戶端的查詢
allow-query { 127.0.0.1; x.x.x.x; };
allow-query-cache { 127.0.0.1; x.x.x.x };
此外,如果該名稱伺服器僅負責少數客戶端,則應考慮使用防火牆關閉所有其他 IP 的 UDP 53 和 TCP 53。