[Fli4l_dev] [r30947] DNS-Forwarding funktioniert nicht

Christoph Schulz fli4l at kristov.de
Mo Mai 19 12:47:12 CEST 2014


Hallo!

Heinz-Peter Faasen schrieb:

> das Problem ist eingegrenzt.

Gut.

> 
> Der erste von mehreren DNS-Servern, die ich in der base.txt eingetragen
> hatte, antwortete nicht/nicht mehr richtig.

Das ist schlecht.

> Die alten Versionen waren diesbezüglich tolerant und nutzten halt den
> zweiten, dritten......

Woher weißt du das?

Ich meine: Wenn der Server nicht antwortet, ist es klar, dass der dnsmasq 
einen anderen aus der Liste nutzt bzw. nutzen sollte. Wenn es hier 
Änderungen in dessen Verhalten gibt, ist das nicht gut und sollte untersucht 
werden.

Aber wenn dein DNS-Server "nicht mehr richtig" antwortet, dann kann das der 
dnsmasq nicht als Fehler erkennen. Woher auch? Dazu müsste er die Anfrage an 
alle Server schicken, alle Antworten auswerten und die häufigste als "wahr" 
annehmen. Es ist klar, dass dnsmasq so _nicht_ vorgeht. Die Antworten jedes 
Upstream-Servers werden halt als richtig hingenommen.

> Mit r30947 funktioniert dieses Fallback aber nicht mehr. Macht es da
> überhaupt noch Sinn, mehrere Server einzutragen?

Sicher, wenn der Server gar nicht antwortet (sprich der dnsmasq in ein 
Timeout läuft).

Man könnte eine dnsmasq-Option konfigurierbar machen, die dir im Falle eines 
langsam antwortenden Upstream-Servers geholfen hätte: --all-servers. Siehe 
dnsmasq-Handbuch:

> --all-servers
>     By default, when dnsmasq has more than one upstream server available,
>     it will send queries to just one server. Setting this flag forces
>     dnsmasq to send all queries to all available servers. The reply from
>     the server which answers first will be returned to the original
>     requester. 

Allerdings hilft das nicht gegen falsche Antworten und es erhöht den 
Datenverkehr.


Viele Grüße,
-- 
Christoph Schulz
[fli4l-Team]



Mehr Informationen über die Mailingliste Fli4l_dev