was macht die DNS-Loop-Erkennung eigentlich?

was macht die DNS-Loop-Erkennung eigentlich?

in einem Upstream-Dnsmasq (D1) habe ich:

log-queries
dns-loop-detect
server=/mydomain.net/192.168.200.1

in einem anderen DNSMASQ (D2) habe ich:

log-queries
dns-loop-detect
domain=mydomain.net
...

Wenn ich dig test.mydomain.net Aes tue, funktioniert es einwandfrei. Wenn ich es jedoch tue dig test.mydomain.net AAAA, leitet B die Anfrage zurück an D1, da ich IPv6 nicht eingerichtet habe. Dann tritt die Schleife auf und Anfragen springen zwischen D1 und D2 hin und her. Ich dachte, die DNS-Schleifenerkennung würde diese Schleife verhindern, aber das tut sie nicht. Ich wusste, dass ich local=/mydomain.net/ in D2 einfügen kann, um dies zu verhindern. Aber was ist dann der Zweck der DNS-Schleifenerkennung? Welche Art von Schleife soll sie erkennen und stoppen?

Antwort1

Dieser Algorithmus zur Schleifenerkennung sendet lediglich eine einfache Sonde an alle Upstreamsnichtauf eine bestimmte Domäne beschränkt sein (einschließlich rDNS). Wenn dieser Test zurückerhalten wird, wird die in diesem Test erwähnte Server-ID als Schleife markiert (d. h. sie wird bei der Suche nach einem verwendbaren Upstream übersprungen).

Die offensichtlichste Schleife, die dadurch gestoppt werden soll und kann, besteht darin, dass eine resolvconf-bezogene Automatisierung dnsmasq alle bekannten DNS-Server mit Daten versorgt – einschließlich dnsmasq selbst in der Rolle als lokaler Caching-Resolver.

Der Grund dafür, dass die Probes nur an für beliebige Domänen gültige Upstreams gesendet werden, besteht einfach darin, dass es sich bei der Probe um eine Abfrage nach dem Namen handelt test. dnsmasq sendet eine solche Abfrage nicht an einen Upstream, der ausdrücklich nicht für die Verarbeitung beliebiger Namen konfiguriert ist.

verwandte Informationen