[Fli4l_dev] [r30947] DNS-Forwarding funktioniert nicht
Heinz-Peter Faasen
fli.und.eis at web.de
Mo Mai 19 18:13:26 CEST 2014
Hallo Christoph!
>> 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?
Weil ich dieselbe Kette seit langer Zeit verwende und sie nach einem
"Downgrade" auf r30867 eben auch wieder klappt.
> 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.
Genau so ist es: Das Verhalten hat sich eindeutig verändert, denn es
lässt sich durch hin- und herschalten zw. der aktuellen und den
Vorgängerversionen beliebig reproduzieren.
> 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.
Es kommt halt gar nichts. Er antwortet überhaupt nicht auf Anfragen,
obwohl Anpingen funktioniert. Dabei sieht es mehr nach einem Reject aus,
denn es gibt praktisch keinen Zeitverzug zw. dem Absenden der Anfrage
und der Nichterreichbarkeitsmeldung im Browser. Ein Timeout sieht
eigentlich anders aus.
>> 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).
Deshalb hatte hatte ich ja mehrere eingetragen. Und in der Vergangenheit
klappte es auch, nur jetzt leider nicht mehr.
> 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.
Ist klar.
Ich denke, so einen Ansatz sollten wir nicht verfolgen, sondern klären,
wie es zu dem unterschiedlichen Verhalten kommt und die alte
Wirkungsweise wiederherstellen.
Gruß
Heinz-Peter
Mehr Informationen über die Mailingliste Fli4l_dev