jms3000
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
Da ich einige Tage kein DSL habe, habe ich mir einen Wifi-Stick an den Rechner gesteckt, um das WiFi des Nachbarn zu benutzen. Die Verbindung zur Fritzbox brauche ich aber noch, da dran z.B. meine NAS hängt.
Ich habe daher bei der er Ethernet-Schnittstelle mittels "route del -net default enp0s31f6" das default-routing über die Fritzbox rausgenommen.
Das Internet (über Wifi) läuft jetzt aber total hakelig, schuld ist wohl die Namensauflösung.
In /etc/resolv.conf ist nur 127.0.0.1 drin, auf dem Port 53 sitzt wohl dsnmasq.
Ich konnte aber nicht rausfinden, welche Nameserver dnsmasq benutzt und wie ich das debuggen kann. Was kann ich da noch tun?
|
Into_the_Pit
Ehemalige
Anmeldungsdatum: 25. Juni 2008
Beiträge: 9490
Wohnort: Bochum
|
jms3000 schrieb: Da ich einige Tage kein DSL habe, habe ich mir einen Wifi-Stick an den Rechner gesteckt, um das WiFi des Nachbarn zu benutzen.
Natürlich mit dem Einverständniss des Nachbarn, oder?
Das Internet (über Wifi) läuft jetzt aber total hakelig, schuld ist wohl die Namensauflösung.
Zeige mal die Ausgabe von
ip route list
|
jms3000
(Themenstarter)
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
ip route list
default via 192.168.0.1 dev wlxfcf528fe8bd4 proto static metric 600
169.254.0.0/16 dev virbr0 scope link metric 1000 linkdown
192.168.0.0/24 dev wlxfcf528fe8bd4 proto kernel scope link src 192.168.0.241 metric 600
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
192.168.178.0/24 dev enp0s31f6 proto kernel scope link src 192.168.178.35 metric 100 192.168.178.* ist mein Fritzbox-Subnetz.
wlx... ist das wlan-Interface. Meistens hängt der Browser beim erstmaligen Aufrufen. Wenn ich dann mit "nslookup beispiel.de 8.8.8.8" nachhelfe, dann geht es wohl meistens.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Du kannst den DNS 8.8.8.8 auch einfach im NetworkManager für die Verbindung eintragen.
|
jms3000
(Themenstarter)
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
Es sind natürlich einige Workarounds denkbar. Die Frage ist aber: wieso funktioniert es nicht einwandfrei.
Das ethernet-Interface liefert den Nameserver 192.168.178.1 und das Wlan liefert 192.168.0.1.
Damit lässt sich alles auflösen.
Ich könnte mir höchstens vorstellen, dass mehrere Minuten versucht wird, einen Namen wie zeitung.de über 192.168.178.1 aufzulösen, und das klappt aber nicht, weil nur 192.168.0.1 das auflösen kann.
Das wäre dann aber schon ein heftiger Designfehler. Auf der Seite https://wiki.ubuntuusers.de/DNS_Problembehebung/ wird ein bisschen was orakelt, aber es wird nicht klar, woher die Probleme kommen.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Also z.B. bei UMTS wird manchmal "vergessen", automatisch einen DNS beim Verbinden zuzuweisen - da ist so ein statischer Eintrag sinnvoll und wichtig. Da braucht man also ebenfalls nicht lange rumzuorakeln und mit Servervarianten wie DNS in der interfaces bei dir zu hantieren, da du ja einen Desktop mit NetworkManager hast und offenkundig begrenztes Hintergrundwissen, sonst würdest du ja nicht fragen müssen bzw. die man zu dnsmasq usw. selber durchgucken. Wenn das bei dir funktionieren sollte, ersparen sich die tieferwühlenden Varianten.
|
jms3000
(Themenstarter)
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
Ich wüsste halt gerne, was dsnmasq eigentlich macht.
Bei nslookup habe ich -debug, aber bei dnsmasq sehe ich nicht, wieso er Probleme beim Auflösen hat.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
jms3000 schrieb: Ich wüsste halt gerne, was dsnmasq eigentlich macht.
Es ist ein Caching-DNS-Server.
Bei nslookup habe ich -debug, aber bei dnsmasq sehe ich nicht, wieso er Probleme beim Auflösen hat.
Dann schau dir die Konfiguration von dnsmasq an, und prüfe händisch, beispielsweise per dig, ob du die entsprechenden DNS-Server erreichst. Normalerweise nimmt dnsmasq einfach den DNS-Server der per DHCP kommt, also 192.168.178.1.
|
jms3000
(Themenstarter)
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
misterunknown schrieb: jms3000 schrieb: Ich wüsste halt gerne, was dsnmasq eigentlich macht.
Es ist ein Caching-DNS-Server.
☺
Ich meinte: ich würde gerne den Log sehen, welche Aktion es gerade ausführt.
Bei nslookup habe ich -debug, aber bei dnsmasq sehe ich nicht, wieso er Probleme beim Auflösen hat.
Dann schau dir die Konfiguration von dnsmasq an, und prüfe händisch, beispielsweise per dig,
ob du die entsprechenden DNS-Server erreichst. Normalerweise nimmt dnsmasq einfach den DNS-Server
der per DHCP kommt, also 192.168.178.1.
Ich finde keine Konfiguration. Die im wiki genannten Dateien existieren nicht.
Was meinst du mit "den DNS-Server".
Wenn ich per ethernet und wifi verbunden bin, habe ich mindestens 2 DNS-Server. Und das scheint auch das Problem zu sein.
|
Into_the_Pit
Ehemalige
Anmeldungsdatum: 25. Juni 2008
Beiträge: 9490
Wohnort: Bochum
|
jms3000 schrieb: Ich meinte: ich würde gerne den Log sehen, welche Aktion es gerade ausführt.
Wo läuft dnsmasq?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
jms3000 schrieb: Ich meinte: ich würde gerne den Log sehen, welche Aktion es gerade ausführt.
Achso. Dazu kannst du den dnsmasq killen und händisch so starten:
dnsmasq -dq
Siehe auch die manpage von dnsmasq.
Ich finde keine Konfiguration. Die im wiki genannten Dateien existieren nicht.
Ok, also es existiert keine /etc/dnsmasq.conf? Dann nimmt er vermutlich nur Standardwerte. Standardmäßig läuft dnsmasq lokal auf Port 53. Folgende Priorität ist implementiert:
Prüfen, ob der Eintrag in der /etc/hosts existiert Weiterleiten an den/die Server in /etc/resolv.conf
Wenn er also nur selbst in der /etc/resolv.conf steht, führt das zu Problemen.
Was meinst du mit "den DNS-Server". Wenn ich per ethernet und wifi verbunden bin, habe ich mindestens 2 DNS-Server.
Klingt als hättest du da noch Verständnisprobleme. Nur, weil du mit 2 Netzwerken verbunden bist, heißt das nicht, dass dort jeweils auch ein DNS-Server existiert. Wenn du für dein Heim-Netzwerk einen eigenen DNS-Server hast, musst du den natürlich noch mit in die /etc/resolv.conf eintragen. Ansonsten ist die Fritzbox für dich primärer DNS-Server, jedenfalls standardmäßig. Alternativ kannst du natürlich auch andere Public-DNS-Server, wie 8.8.8.8, nutzen.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Unter meinem 14.04 existiert zwar auch keine dnsmasq.conf, aber eine minimalistische vom Networkmanager unter /etc/dnsmasq.d. Man muss nur die Augen öffnen und darf nicht glauben, dass es keine geringfügigen Abweichungen zum Wiki oder sogar der Manpage geben darf.
|
jms3000
(Themenstarter)
Anmeldungsdatum: 29. Januar 2015
Beiträge: 799
Wohnort: Schwetzingen
|
misterunknown schrieb: jms3000 schrieb: Ich meinte: ich würde gerne den Log sehen, welche Aktion es gerade ausführt.
Achso. Dazu kannst du den dnsmasq killen und händisch so starten:
dnsmasq -dq
Siehe auch die manpage von dnsmasq.
Ok, das probier ich mal. Ok, also es existiert keine /etc/dnsmasq.conf?
Existiert nicht.
Folgende Priorität ist implementiert:
Weiterleiten an den/die Server in /etc/resolv.conf
Das glaub ich kaum. Ich denke, die 127.0.0.1 in der resolv.conf hat schon seinen Sinn.
Denn die anderen Internet-Teilnehmer auf meinem PC wissen ja nichts von dsnmasq. Die nehmen, was in resolv.conf drin ist.
Der dnsmasq merkt sich die DNS-Server woanders.
Was meinst du mit "den DNS-Server". Wenn ich per ethernet und wifi verbunden bin, habe ich mindestens 2 DNS-Server.
Klingt als hättest du da noch Verständnisprobleme. Nur, weil du mit 2 Netzwerken verbunden bist,
heißt das nicht, dass dort jeweils auch ein DNS-Server existiert.
Wenn man sich an der Fritz-Box per dhcp anmeldet, dann bekommt man die 192.169.178.1 als Nameserver, und den braucht man auch, um die Adressen im eigenen Netz aufzulösen. Und bei der Anmeldung im Wifi des Nachbarn bekomme ich natürlich auch noch mal DNS-Server für die öffentliche Namensauslösung.
Wenn du für dein Heim-Netzwerk einen eigenen DNS-Server hast, musst du den natürlich noch mit in die /etc/resolv.conf eintragen. > Ansonsten ist die Fritzbox für dich primärer DNS-Server
Auf meinem Rechner ist dnsmasq primärer Nameserver und das war seit der Installation von 16.04 so.
Das ist ja auch in Ordnung, nur kann dnsmasq anscheinend nicht richtig mit mehreren Nameservern umgehen.
Mein Verdacht ist eben, dass er minutenlang versucht, über den einen/ersten aufzulösen.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
jms3000 schrieb: Existiert nicht.
Eventuell aber, wie Benno-007 schrieb, ein Ordner /etc/dnsmasq.d/ mit einer Konfigurationsdatei. Ansonsten, wie gesagt, werden überall Standardwerte genommen.
Das glaub ich kaum. Ich denke, die 127.0.0.1 in der resolv.conf hat schon seinen Sinn.
Die 127.0.0.1 hat nur den Sinn, dass Anfragen an den dnsmasq gesendet werden. Entweder bearbeitet er die Anfragen lokal (/etc/hosts) oder er sendet die Anfragen an einen definierten DNS-Server weiter. dnsmasq ist damit nur ein DNS-Query-Forwarder, und kein echter DNS-Server, welcher auch rekursive Requests von den Root-Servern ausgehend beherrscht. Ich zitiere dazu mal aus der Manpage:
Dnsmasq is a DNS query forwarder: it it not capable of recursively answering arbitrary queries
starting from the root servers but forwards such queries to a fully recursive upstream DNS server which is
typically provided by an ISP. By default, dnsmasq reads /etc/resolv.conf to discover the IP addresses
of the upstream nameservers it should use, since the information is typically stored there.
Wenn man sich an der Fritz-Box per dhcp anmeldet, dann bekommt man die 192.169.178.1 als Nameserver, und den braucht man auch, um die Adressen im eigenen Netz aufzulösen.
Richtig. Dieser sollte demzufolge in der /etc/resolv.conf auftauchen. In üblichen Heimsetups kümmert sich der Netzwerk-Manager darum (beispielsweise NetworkManager). Wenn du selbst an der Konfiguration schraubst, und keinen NetworkManager benutzt, dann musst du selbst dafür sorgen.
Und bei der Anmeldung im Wifi des Nachbarn bekomme ich natürlich auch noch mal DNS-Server für die öffentliche Namensauslösung.
Diesen musst du ebenfalls konfigurieren, da im Moment nur dieser öffentliche Namen auflösen kann.
Das ist ja auch in Ordnung, nur kann dnsmasq anscheinend nicht richtig mit mehreren Nameservern umgehen.
Doch, dnsmasq kann mit mehreren DNS-Servern umgehen, ein Bug dahingehend ist mir jedenfalls nicht bekannt, und ich kenne mehrere Setups, in denen dnsmasq bis zu 3 weitere DNS-Server befragt. Das Problem ist vermutlich eher die Reihenfolge der verwendeten DNS-Server. Als primären DNS-Server würde ich an deiner Stelle den vom Nachbarn nutzen und später wieder auf deine heimische Fritzbox switchen.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Offensichtlich wertet dnsmasq nicht nur die /etc/resolv.conf aus, sondern auch eine eigene Datei, nämlich /var/run/dnsmasq/resolv.conf. Dort werden bei dir vermutlich die weiteren Nameservereinträge stehen.
|