GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Netzwerke - Ein seltsames kleines Problem mit DNS, DHCP

Wissen Sie, woher Sie wissen, dass Sie ein lustiges Linux-Problem haben? Wenn Sie mehr Zeit brauchen, um sich einen passenden Titel für den Artikel auszudenken, als das eigentliche Debuggen. Weil ich auf ein ziemlich bizarres netzwerkbezogenes Problem gestoßen bin und eine Weile damit verbracht habe, herauszufinden, was es gibt. Ich habe es gelöst und teile es jetzt.

Im Wesentlichen ist dies passiert. Ich habe festgestellt, dass ich einige neue Router getestet habe. In meiner KDE-Neon-Instanz habe ich eine Verbindung zum neuen drahtlosen Zugriffspunkt hergestellt und versucht zu durchsuchen. Gar nichts. Ich habe es mit einem kabelgebundenen Kabel versucht, und alles war in Ordnung. Dann habe ich auf diesem Acht-Boot-Computer eine andere Linux-Instanz gebootet, und die drahtlose Verbindung funktionierte ohne Probleme. Beide Systeme basierten auf Ubuntu, beide verwendeten die 18.04-Baseline. Nun, es war an der Zeit, herauszufinden, warum sich mein WLAN nicht im Neonmodus verhielt.

Problem im Detail

Um das Problem besser zu verstehen, habe ich versucht, ein einfaches Ping durchzuführen. Dies gibt Ihnen einen guten Hinweis darauf, ob Sie tatsächlich entfernte Hosts erreichen können, und bietet Ihnen eine Ahnung, ob Ihr DNS richtig eingerichtet ist. Mir ist sofort ein Problem aufgefallen:

Von 192.168.2.107 (192.168.2.107) icmp_seq=1 Zielhost nicht erreichbar
Von 192.168.2.107 (192.168.2.107) icmp_seq=2 Zielhost nicht erreichbar
Von 192.168.2.107 (192.168.2.107) icmp_seq=3.mp_seq=3.mp_seq=3.mp_seq=1 Zielhost nicht erreichbar

Der Versuch, JEDE Adresse (z. B. dedoimedo.com) anzupingen, würde zu 192.168.2.107 führen. Was es noch schlimmer macht, ist, dass der Zugriffspunktbereich 192.168.8.X war. Also war etwas in diesem anderen internen Bereich fest codiert und brachte mein Internetz durcheinander. Ich konnte dies bestätigen, indem ich die Routing-Tabelle überprüfte:

route
Kernel-IP-Routing-Tabelle
Ziel-Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 303 0 0 wlp2s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp2s0
192.168.2.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0

Aus irgendeinem hässlichen Grund wurde immer, wenn ich mich mit dem 192.168.8.0-Netzwerk verbinde, auch das 192.168.2.0-Netzwerk hinzugefügt – und als Standard-Gateway festgelegt, was erklärt, warum es keine Konnektivität gab. Dies geschah jedoch nur mit dem Wireless-Adapter und nicht mit dem kabelgebundenen. Anhaltspunkt, genau dort. Aber lassen Sie uns zuerst ein paar andere Optionen eliminieren.

Systemauflösung

An diesem Punkt, oder besser gesagt kurz vor diesem Punkt, war ich geneigt, systemd die Schuld zu geben. Aber es stellt sich heraus, dass daran nichts auszusetzen ist. Nun, es waren/sind Fehler darin, weshalb es ziemlich weit oben steht, wenn Sie nach Verbindungsproblemen in Linux suchen. Um sicherzustellen, dass es nicht der Übeltäter war, habe ich es deaktiviert:

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

Ich habe auch den symbolischen Link /etc/resolv.conf entfernt und die netzwerkverwaltete Konfiguration bearbeitet:

/etc/NetworkManager/NetworkManager.conf

Im Abschnitt [main] habe ich hinzugefügt:

dns=Standard

Bisher kein Unterschied. Wir müssen weitermachen.

Netzwerkmanager

Ein weiterer möglicher Bösewicht kann der Netzwerkmanager sein. Tatsächlich habe ich, um sicherzustellen, dass es nichts Seltsames macht, alle gespeicherten Wireless-Konfigurationen gelöscht, ich habe seine Konfigurationsdatei gelöscht, neu gestartet und neu gestartet. Auch dies änderte nichts. Nächster Übeltäter.

Lösung

Wir können sehen, dass wir weder DNS noch dem Netzwerkmanager die Schuld geben können. Wir können auch sehen, dass jedes Mal, wenn ich mich mit dem Nicht-192.168.2.0-Netzwerk verbinde, das falsche Gateway konfiguriert ist. Dies deutet höchstwahrscheinlich auf etwas in der DHCP-Konfiguration hin - automatische (statische) Zuweisung von IP-Adressen. Vielleicht gibt es ja irgendwo eine statische Regel? Und siehe da, es gab! Unter /etc/dhcpcd.conf hatte ich Folgendes:

...
slaac private
interface wlp2s0
static ip_address=192.168.2.107/24
static routers=192.168.2.1
static domain_name_servers=127.0.0.1
...

Irgendetwas - und ich verwende den Ausdruck vage - hatte eine statische IP-Adresse und einen Router konfiguriert, daher das Problem. Und dann konnte ich mich erinnern, was dieses Etwas war. Ich hatte vor einiger Zeit Pi-Hole auf dieser Box getestet. Und nach dem Entfernen wurde die Konfiguration anscheinend nicht bereinigt. All die verschiedenen Kleinigkeiten waren weg, aber nicht die DHCP-Konfiguration. Kein Problem, wenn Sie ein Netzwerk verwenden, das dem statischen Routing entspricht, aber ein großes Problem, wenn Sie einen anderen Bereich ausprobieren. Sobald ich die beiden Einträge für die Funkschnittstelle gelöscht hatte, war alles in Ordnung! Problem behoben.

Schlussfolgerung

Es ist durchaus möglich, dass Sie niemals auf ein solches Problem stoßen werden. Aber wenn Sie dies tun, ziehen Sie vorschnelle Schlüsse, die Sie nicht dürfen, und Sie sollten sorgfältig und methodisch vorgehen. Ich muss zugeben, dass ich systemd sofort vermutete, aber dann habe ich langsam die verschiedenen Komponenten im Netzwerkstapel untersucht, bis ich den Bösewicht isoliert hatte. Wie sich herausstellte, hatte eine deinstallierte Software Konfigurationsänderungen auf dem System hinterlassen, die das Problem verursachten. Schlimmer noch, dies geschah viele Monate später, daher ist es nicht immer trivial, die beiden miteinander zu verbinden.

Hoffentlich haben Sie einen Einblick in die Lösung von Netzwerkproblemen erhalten. Beginnen Sie einfach, überprüfen Sie die grundlegende Konnektivität, versuchen Sie, Informationen zu korrelieren, und arbeiten Sie sich dann zur eigentlichen Ursache vor. Hier hatte ich zwar Internet per se, aber durch falsch konfigurierte Routen kam ich nicht wirklich auf die richtigen Webseiten - bzw. die Adressen richtig auflösen. Das kann Sie vom Kurs abbringen, aber dann habe ich systemd aus der Gleichung eliminiert, herausgefunden, dass es nicht der Netzwerkmanager war, der etwas falsch gemacht hat, und mich schließlich auf die statische IP-/Routenzuweisung von DHCP eingezont. Nun, wenn das hilft, kaufen Sie mir irgendwann irgendwo ein virtuelles Getränk. Wir sind fertig. ACK.


Linux
  1. So beheben Sie Video-Tearing unter Linux (mit Intel-Grafik)

  2. Haben Sie ein echtes Problem mit Systemctl Networking?

  3. DNS-Caching unter Linux

  4. Wie registriere ich einen Linux-Server beim Windows-DNS-Server?

  5. Ermitteln Sie den DNS-Server für eine DHCP-Verbindung unter Linux

Analysieren der Linux-Serverleistung mit atop

Linux-Prozessverwaltung mit htop verbessert

Linux-Paketverwaltung mit YUM und RPM

Linux Mint 20.2 Uma - Eine Mischung aus Gut und Seltsam

Notepad++ unter Linux optimieren

Ein seltsames Gui-Problem mit Gnome-Programmen?