Ich habe BIND
den Dienst mit Konfiguration auf meinem CentOS 8-Server installiert recursion yes;
. Mir fiel auf, dass jede Stunde sehr viel Datenverkehr (~ 8 GB) von meinem Server gesendet wird und ich konnte nicht feststellen, woher dieser Datenverkehr kommt. Dann habe ich die benannte Konfiguration geändert und die Rekursion deaktiviert:recursion no;
nachdem ich die Rekursion deaktiviert und den Datenverkehr gemessen habe, kann ich sehen, dass der Sendeverkehr drastisch auf unter 200 MB gesunken ist. Nun ist meine Frage, wie diese Rekursion einen derart großen Sendeverkehr verursachen kann?!
Antwort1
Rekursion bedeutet, dass der Nameserver jede Anfrage bestmöglich beantwortet, auch für Zonen, für die er nicht zuständig ist.
Es ist keine gute Idee, Rekursion zu aktivieren und ihn jede Anfrage für jeden Client ohne Einschränkung beantworten zu lassen, da es da draußen viele Idioten geben wird, die entweder gerne andere offene Nameserver verwenden oder sogar versuchen, Dritte mit den Antworten zu überfluten.
Rekursion sollte nur für Clients aktiviert werden, deren Nameserver als Resolver bestätigt werden muss. Wenn Sie also
recursion yes;
Sie sollten auch eine Einschränkung wie die folgende haben:
allow-recursion { 127.0.0.1; x.x.x.x; };
und liste alle gültigen Client-IPs auf.
Wenn dieser Nameserver kein primärer NS für Domänennamen ist, können Sie ihn auch öffnen, um Anfragen nur für zulässige Clients zu beantworten mit
allow-query { 127.0.0.1; x.x.x.x; };
allow-query-cache { 127.0.0.1; x.x.x.x };
Wenn dieser Nameserver außerdem nur für wenige Clients zuständig ist, sollten Sie in Erwägung ziehen, UDP 53 und TCP 53 für alle anderen IPs mithilfe einer Firewall zu sperren.