DNS-Konfiguration und Fehlerbehebung
Verstehen Sie, wie Linux-Server Hostnamen in IP-Adressen auflösen: Konfigurieren Sie Resolver, bearbeiten Sie /etc/hosts und verwenden Sie dig, nslookup und host, um DNS-Probleme zu diagnostizieren, die die Verbindung beeinträchtigen, obwohl das Netzwerk funktioniert.
DNS-Konfiguration und Fehlerbehebung ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Warum DNS auf einem Server wichtig ist
Ihr Server kann über eine einwandfreie Netzwerk- und Firewall-Konfiguration verfügen und dennoch keine Verbindung zur Außenwelt herstellen, wenn er Namen nicht auflösen kann. DNS übersetzt menschenlesbare Hostnamen wie example.com in IP-Adressen.
Zu wissen, wie die Namensauflösung funktioniert — und wie Sie sie debuggen — ist eine unverzichtbare Netzwerkkompetenz.
Der Weg der Namensauflösung
Wenn ein Programm die IP-Adresse eines Namens benötigt, prüft Linux normalerweise nacheinander:
- Die lokale Datei
/etc/hosts - Konfigurierte DNS-Server (Resolver)
Die Reihenfolge wird in /etc/nsswitch.conf in der Zeile hosts: festgelegt.
grep hosts /etc/nsswitch.conf
# hosts: files dnsDie Datei /etc/hosts
/etc/hosts ordnet Namen lokal IP-Adressen zu und umgeht dabei DNS. Die Datei eignet sich ideal für Tests, interne Hostnamen oder um eine Domain fest einer bestimmten IP-Adresse zuzuordnen.
Jede Zeile enthält eine IP-Adresse, gefolgt von einem oder mehreren Namen.
127.0.0.1 localhost
192.168.1.50 db.internal dbWo Resolver konfiguriert werden
Die klassische Datei ist /etc/resolv.conf, in der Nameserver aufgeführt sind. Auf modernen Systemen wird sie häufig von systemd-resolved oder NetworkManager verwaltet, sodass direkte Änderungen möglicherweise nicht dauerhaft bestehen bleiben.
Prüfen Sie vor jeder Änderung, was tatsächlich verwendet wird.
cat /etc/resolv.conf
resolvectl statusDNS-Server festlegen
Auf einem systemd-resolved-System legen Sie DNS pro Schnittstelle fest, statt resolv.conf zu bearbeiten. Auf Servern mit Netplan definieren Sie die Einstellung in der YAML-Konfiguration.
Dieses Beispiel legt öffentliche Resolver für eine Schnittstelle fest.
sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0Datensätze mit dig abfragen
dig ist das leistungsfähigste DNS-Abfragewerkzeug. Es zeigt die Antwort zusammen mit Metadaten zur Abfrage an.
Die Option +short reduziert die Ausgabe auf die reine Antwort — ideal für Skripte.
dig example.com
dig +short example.comBestimmte Datensatztypen abfragen
DNS speichert viele Datensatztypen. Geben Sie einen Typ an, um Mailserver, Nameserver oder Aliase zu untersuchen.
A— IPv4-AdresseAAAA— IPv6-AdresseMX— MailserverNS— NameserverCNAME— Alias
dig example.com MX +short
dig example.com NS +shortnslookup und host
nslookup und host sind einfachere Alternativen zu dig. Sie eignen sich für schnelle Prüfungen und eine Rückwärtsauflösung (IP-Adresse zu Name).
Rückwärtsauflösungen fragen den PTR-Datensatz einer Adresse ab.
host example.com
nslookup example.com
dig -x 8.8.8.8 +shortEinen bestimmten Server abfragen
Um zu testen, ob ein bestimmter Resolver das Problem verursacht, richten Sie eine Abfrage mit der Syntax @ an einen bestimmten Server. Wenn ein öffentlicher Resolver funktioniert, Ihrer jedoch nicht, liegt das Problem in Ihrer DNS-Konfiguration.
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +shortEin Ablauf zur Fehlersuche
Wenn ein Name nicht aufgelöst werden kann, arbeiten Sie die Ebenen nacheinander durch:
- Können Sie eine IP-Adresse direkt anpingen? (Schließt das Netzwerk als Ursache aus.)
- Funktioniert
dig @1.1.1.1 name? (Schließt den Namen selbst als Ursache aus.) - Funktioniert
dig namemit Ihrem Standardresolver? (Grenzt die Resolver-Konfiguration ein.) - Gibt es einen veralteten Eintrag in
/etc/hosts, der die Auflösung überschreibt?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +shortBewährte Vorgehensweisen
Sorgen Sie für eine zuverlässige Namensauflösung:
- Verwenden Sie zur Redundanz mindestens zwei Resolver
- Bearbeiten Sie
resolv.confnicht manuell, wenn die Datei automatisch verwaltet wird - Verwenden Sie
/etc/hostsfür Tests, bereinigen Sie jedoch veraltete Einträge - Bevorzugen Sie in Skripten
dig +shortfür eine übersichtliche Ausgabe
Schnelltest
Testen Sie Ihr Wissen über die Fehlersuche bei DNS.
Zusammenfassung
Sie können DNS auf einem Server nun konfigurieren und Fehler beheben:
- Reihenfolge der Namensauflösung über
/etc/nsswitch.confund/etc/hosts - Resolver in
resolv.conf/systemd-resolved - Abfragen mit
dig,hostundnslookup, einschließlich bestimmter Datensatztypen und Server - Ein schrittweiser Ablauf zur Fehlersuche
Damit ergänzen Sie Ihre Kenntnisse zu Netzwerk und Firewall um die Namensebene.
Häufig gestellte Fragen
Ist die Lektion „DNS-Konfiguration und Fehlerbehebung“ kostenlos?
Ja — der vollständige Text von „DNS-Konfiguration und Fehlerbehebung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „DNS-Konfiguration und Fehlerbehebung“?
Verstehen Sie, wie Linux-Server Hostnamen in IP-Adressen auflösen: Konfigurieren Sie Resolver, bearbeiten Sie /etc/hosts und verwenden Sie dig, nslookup und host, um DNS-Probleme zu diagnostizieren,… Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „DNS-Konfiguration und Fehlerbehebung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlegende Netzwerkkonfiguration
- Firewalls verstehen (UFW/firewalld)
- Portverwaltung und Sicherheit
- DNS-Konfiguration und Fehlerbehebung