[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