
Gelegentlich kann unser LAN keine Hostnamen mehr auflösen. Wir haben keine Ahnung, warum das passiert. Wie können wir diese Probleme diagnostizieren?
Wir haben zwei Router. Einer ist mit dem Internet verbunden (über ein Glasfasermodem). Der andere ist als drahtloser Switch eingerichtet. Das heißt, er stellt das Internet über den ersten Router bereit, befindet sich jedoch in einem anderen Raum und wird für Ethernet-Verbindungen zu Computern in diesem Raum verwendet.
Das Problem scheint vom ersten Router (oder etwas anderem) herzurühren. Ich bezweifle, dass es am Switch-Router liegt oder dass es ein Konfigurationsproblem im gesamten Netzwerk gibt. Das liegt daran, dass wir normalerweise http://home
die Routerkonfiguration für den mit dem Internet verbundenen Router eingeben, aber das funktioniert nicht. Wir können jedoch die IP-Adresse eingeben und auf die Konfigurationsseite gelangen. Dies geschieht unabhängig davon, ob wir mit dem Original- oder dem Switch-Router verbunden sind.
Ebenso haben wir einen Webserver im LAN, auf den wir normalerweise über den Hostnamen des Computers zugreifen, was über das Netzwerk jedoch nicht möglich ist (die IP-Adresse funktioniert jedoch auch hier).
Ebenso funktioniert das Pingen der IP-Adressen im Netzwerk, nicht jedoch der Hostnamen.
Ich weiß nicht, wie wir das beheben können, wenn überhaupt. Normalerweise starten wir die Router und dergleichen neu und sie kommen zurück. Diesmal war das jedoch nicht der Fall, also suche ich nach etwas mehr Einblick, warum das passieren könnte.
Antwort1
Anhand der von Ihnen bereitgestellten Informationen sollten Sie zunächst feststellen, ob der DNS-Dienst des Routers tatsächlich funktioniert oder nicht. Dies können Sie feststellen, indem Sie in der Konfiguration des Routers nachsehen, ob der Dienst aktiv ist oder nicht. Wenn jedoch keine Hinweise vorhanden sind, die Ihnen weiterhelfen, können Sie einen Port-Scan durchführen.
ÜBERSPRINGEN SIE DIESEN ABSCHNITT, WENN IHR ROUTER IHNEN MITTEILT, DASS DNS LIVE IST:
Verwenden Sie ein Werkzeug wienmap. Sie können es schnell für Ihren Linux-Server herunterladen, da es in den meisten Standardpaket-Repositorys für Ihre Standard-Linux-Distributionen (Debian, Ubuntu, CentOS, Mint, Fedora, Redhat usw.) enthalten ist. Je nachdem, ob Sie eine Debian-basierte oder eine RPM-basierte Distribution ausführen, kann Ihre Befehlssyntax unterschiedlich sein.
Für Debian:
- Suchen nach
nmap
:sudo apt-cache search nmap
- Installieren
nmap
:sudo apt-get install nmap
- Suchen nach
Für RPMs (Fedora, Centos, RedHat und ähnliche):
dnf search nmap
dnf install nmap
(auf älteren Versionen vorher
dnf
:)yum search nmap
yum install nmap
Nach DNS suchen
Angenommen, die IP Ihres Routers ist 192.168.1.1
, möchten Sie einen Service-UDP-Scan ( -sU
) auf Port 53 ( -p53
) mit aggressiver Auflösung ( -A
) durchführen, um herauszufinden, ob er aktiv und funktionsfähig ist:
nmap -sU -p53 -A 192.168.1.1
Vorausgesetzt, der Dienst kommt zurückOFFEN|UNGEFILTERT, dann ist alles in Ordnung. Wenn es angezeigt wird alsGESCHLOSSENDann stöbern Sie noch ein bisschen in den Konfigurationen herum und sehen Sie, ob es Optionen gibt, mit denen Sie DNS neu konfigurieren oder den Router einfach neu starten können, in der Hoffnung, dass er wieder zum Leben erwacht. Wenn alles andere fehlschlägt, rufen Sie den Hersteller an und beschweren Sie sich ausgiebig. Das funktioniert manchmal :)
Konfigurieren des Windows-Hosts:
Zurück zur eigentlichen Aufgabe: Solange Sie sicher sind, dass DNS auf dem Router läuft und ordnungsgemäß funktioniert, sollten Sie versuchen, den Windows-Client zum Laufen zu bringen, da dies etwas einfacher ist und Sie eine GUI haben, auf die Sie sich verlassen können. Ich empfehle, Fallback-DNS auf Ihrem Router einzurichten, damit er mehrere DNS-Server abfragen kann, falls einer ausfällt.
Meine persönlichen Favoriten:
8.8.8.8
ist Google 18.8.4.4
ist Google 2208.67.220.220
ist OpenDNS 1208.67.222.222
ist OpenDNS 2
Wenn dies erledigt ist, sollten Sie im nächsten Schritt prüfen, ob Sie das Windows-System dazu bringen können, DNS auf dem Router aufzulösen, indem Sie es manuell in den TCP/IPv4-Netzwerkeinstellungen konfigurieren.
- Klicken Sie mit der rechten Maustaste auf das Netzwerksymbol unten rechts in der Taskleiste und gehen Sie zu
Networking and Sharing Center
. - Klicken Sie auf Ihre Netzwerkschnittstelle (sollte
ethernet 1
oder ähnlich sein) und gehen Sie zuproperties
. - Klicken
Internet Protocol Version 4 (TCP/IPv4)
undproperties
noch einmal drücken, - Klicken Sie auf die
User the following DNS server addresses
radiale Schaltfläche. - Geben Sie die IP des Routers/DNS-Servers als bevorzugten DNS ein,
- Geben Sie
8.8.8.8
(Googles öffentliches DNS) als alternativen DNS ein, für den Fallback - Kontrolle
Validate Settings
beim Verlassen - Klicken Sie
OK
zum Anwenden auf „Übernehmen“ und warten Sie, bis die Netzwerkschnittstelle die Fehlerbehebung/den Neustart durchgeführt hat.
Sie sollten an dieser Stelle in der Lage sein, DNS-Hostnamen auf den Windows-Systemen aufzulösen. Wenn das der Fall ist, wissen Sie, dass der DHCP-Dienst Ihres Routers aus irgendeinem Grund nicht die richtigen Einstellungen sendet. Sie müssen sich entweder an den Hersteller wenden oder selbst daran herumbasteln, in der Hoffnung, dass Sie damit weiterkommen. Lesen Sie immer die Dokumentation.
Wenn es hingegen nicht funktioniert, würde ich die Kabel selbst oder die Router-Hardware vermuten. An diesem Punkt bleibt nicht viel übrig, außer mit dem Austausch der physischen Geräte zu beginnen.
Konfigurieren des Linux-Servers:
(Möglicherweise müssen Sie diese Befehle vom root
/ sudo
-Benutzer aus ausführen, wenn Berechtigungsfehler auftreten.)
Wenn Sie nicht viel Erfahrung mit Linux haben, wird dies wahrscheinlich ein neues Abenteuer für Sie, aber keine Sorge.
Überprüfen Sie die Datei zunächst /etc/resolv.conf
mit:
cat /etc/resolv.conf
In dieser Datei werden Nameserver, Domänennamen und Suchdomänen konfiguriert. Normalerweise sehen Sie Folgendes:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
Es gibt zwei Möglichkeiten, je nachdem, wie Ihr Setup aussieht. Eine davon ist, dass Sie dnsmasq installiert haben und Sie ein Warnbanner erhalten, das Sie auffordert, Ihre resolv.conf nicht zu ändern. In diesem Fall wird es den Loopback (127.0.0.1 oder 127.0.1.1) haben, genau wie Sie es in meiner Konfiguration sehen, was darauf hinweist, dass es seinen eigenen DNS-Dienst über dnsmasq betreibt. Wenn Sie dies sehen, führen Sie Folgendes aus:
/etc/init.d/dnsmasq status
Wenn Sie sehen, No such file or directory
dass dnsmasq nicht installiert ist, ist das kein Problem. Sie können entweder ohne es weitermachen, oder wir können es schnell mit
apt-get install dnsmasq
(oder dnf install dnsmasq
) installieren.
Wenn Sie dnsmasq nicht installieren/neu starten möchten, können Sie Ihre /etc/resolv.conf
Datei einfach mit Ihrem bevorzugten Texteditor (ich bevorzuge nano
) bearbeiten und die folgenden Zeilen einfügen:
nameserver 192.168.1.1 8.8.8.8 8.8.4.4 # That's your router and two fallback DNS servers
Wenn Sie sehen, dass dnsmasq den Status „Aktiv/Wird ausgeführt“ hat, ist es installiert und wird ordnungsgemäß ausgeführt. Wenn dnsmasq inaktiv/tot ist, sollten Sie es wie folgt starten:
/etc/init.d/dnsmasq start
dnsmasq übernimmt normalerweise die DNS-Auflösung, indem es die /etc/resolv.conf
Datei dynamisch für Sie ändert. In Fällen, in denen Ihr Resolver Anfragen nicht richtig verarbeitet oder dnsmasq nicht richtig konfiguriert ist, empfehle ich dringend, Folgendes durchzulesen:seine schöne Dokumentation.
Sie müssen jedoch wirklich nur zwei Einstellungen sicherstellen, die für Ihr vorhanden sind /etc/dnsmasq.conf
:
server=/yourlocaldomain/192.168.1.1
local=/yourlocaldomain/
Diese stellen den Server auf Ihren lokalen Domänennamen und die IP für den DNS-Server ein und local=/yourlocaldomain/
verhindern, dass dnsmasq versucht, eine Auflösung zu Upstream-Nameservern vorzunehmen, wenn Ihre Domäne im FQDN des Hosts gefunden wird, den Sie aufzulösen versuchen.
Wenn Sie diese Einstellung beispielsweise nicht festlegen und versuchen, es aufzulösen
emailserver.localdomain
, fragt dnsmasq den öffentlichen DNS von Google, wo emailserver.localdomain
sich dieser befindet ... und antwortet natürlich: „Ich habe keine Ahnung!“
Wenn Sie dies einstellen, sagt dnsmasq: „ emailserver.**localdomain**
… ich sollte fragen, 192.168.1.1
wo das ist.“ – und 192.168.1.1
, Ihr Router, kann entsprechend mit einer richtigen DNS-Antwort und der IP von reagieren emailserver.localdomain
.
Ich hoffe, diese Erklärung und die langatmige Lösung helfen Ihnen weiter. Ich habe versucht, jedes Szenario zu berücksichtigen, das mir einfiel, aber lassen Sie mich wissen, wenn ich etwas übersehen habe oder etwas nicht funktioniert.
Antwort2
Wenn das LAN nicht über zu viele Computer verfügt und/oder nicht von internen DNS-Routen abhängig ist, legen Sie die DNS-Parameter in der pv4-Konfiguration wie folgt fest:
8.8.8.8
Und
8.8.4.4
Dadurch wird die Aufgabe der DNS-Auflösung an die Server von Google übertragen.