DNSMasq antwortet zufällig

494
kapus

Ich habe gerade DNSMasq auf einem lokalen Gerät (Raspberry Pi) zur Verwendung als DNS-Server installiert. Der Dienst funktioniert jedoch nicht immer ordnungsgemäß, wenn andere Computer im Netzwerk versuchen, ihn zu verwenden. Folgendes habe ich der /etc/dnsmasq.confDatei hinzugefügt :

log-queries no-resolv server=8.8.8.8 server=8.8.4.4 

Dies ist die /etc/hostsDatei:

192.168.1.101 desktop.home 192.168.1.102 laptop.home 

Ich verwende kein DHCP, DHCP erledigt mein Router. Mein Router hat die Möglichkeit, den DNS-Server manuell zu konfigurieren, und ich gebe die IP-Adresse des Raspberry Pi (192.168.1.100) in dieses Feld ein. Ich kann bestätigen, dass sowohl mein Desktop als auch mein Laptop (Linux-Computer) den neuen DNS-Server kennen (DNSMasq bei 192.168.1.100).

Mein Desktop und mein Laptop sind über Kabel miteinander verbunden. Wenn ich nslookup laptop.homezum Beispiel von meinem Desktop aus laufe, bekomme ich mehr oder weniger 50% Treffer - manchmal bekomme ich ein erfolgreiches Ergebnis, manchmal nicht. Gleiches vom Laptop.

Noch merkwürdiger ist, dass die Treffer noch geringer werden, wenn ich den Laptop an das WLAN anschließe. Ich bekomme nur 10% oder weniger Treffer auf meinem Laptop im WLAN. Wirklich seltsam.

Die Protokolle sagen nichts aus. Ich weiß nicht einmal, wo ich anfangen soll, das zu debuggen.

0
Prüfen Sie, welche IP für DNS Sie tatsächlich über DHCP erhalten. Wenn es Windows ist, können Sie ipconfig in einer Eingabeaufforderung verwenden, um anzuzeigen. djsmiley2k vor 5 Jahren 1
Ja, der Laptop und der Desktop verwenden das Raspberry Pi für DNS. So weiß ich, dass es sich um Folgendes handelt: `nmcli device show enp0s25 | grep DNS` und die Antwort enthält `IP4.DNS [1]: 192.168.1.100`. kapus vor 5 Jahren 0
Gibt es noch andere DNS-Server? Wenn ja, würde das erklären, warum es nur "etwas" der Zeit funktioniert djsmiley2k vor 5 Jahren 0
Ja, es listet einen sekundären DNS-Server (OpenDNS) auf. Dies ist ein DNS-Server, den mein Router für den Fall konfigurieren kann, dass der erste fehlschlägt. Es sollte nur verwendet werden, wenn die erste fehlschlägt, daher denke ich, dass das Problem nicht damit zusammenhängt - das Problem ist, dass DNSMasq diese Anforderungen nicht abfangen kann. kapus vor 5 Jahren 0
@ djsmiley2k Ich glaube, du hattest recht mit dem anderen DNS. Ich habe einen anderen DNS-Server (OpenDNS) auf meinem Router verwendet, weil ich dachte, der Router würde es als Failover verwenden, aber eigentlich glaube ich, dass der Router ein Round-Robin zwischen DNSMasq und OpenDNS durchführte. Die Dinge funktionieren jetzt, nachdem ich den anderen DNSServer aus der Routerkonfiguration entfernt habe. Wenn Sie eine Antwort eingeben, werde ich sie als richtig markieren. Vielen Dank! kapus vor 5 Jahren 1

1 Antwort auf die Frage

0
djsmiley2k

Es scheint, als würden Ihre Clients Round-Robin zwischen zwei DNS-Servern durchführen, von denen einer lokal und einer remote ist und die lokalen Namen nicht hinzugefügt werden.

Im Idealfall würden Ihre Clients den ersten (lokalen Server) abfragen, und bei einem Timeout danach den zweiten abfragen. Was jedoch wahrscheinlich passiert, ist, dass beide nacheinander abgefragt werden und derjenige, der schneller reagiert, verwendet wird.