Domain-Name-System

啟用遞歸會導致大量發送流量

  • August 27, 2020

我已經BIND在我的 centOS 8 伺服器上安裝了recursion yes;配置服務。我注意到每小時從我的伺服器發送非常大的流量(約 8 GB),我無法檢測到此流量的來源。然後我更改了命名配置並禁用了遞歸:recursion no;

禁用遞歸併測量流量後,我可以看到發送流量已急劇下降到 200 MB 以下。現在我的問題是,這種遞歸如何導致如此大的發送流量?!

遞歸意味著名稱伺服器正在盡最大努力回答每個查詢,即使對於他不負責的區域也是如此。

啟用遞歸併讓他不受任何限制地回答每個客戶端的任何查詢是一個壞主意,因為那裡會有很多白痴,他們要麼喜歡使用其他開放的名稱伺服器,要麼甚至試圖用答案淹沒第三方。

遞歸應該只為這個名稱伺服器必須確認為解析器的客戶端啟用。所以,如果你有

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。

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