Wer Ubuntu im Alltag oder im Serverbetrieb einsetzt, sollte das Thema DNS unter Ubuntu professionell konfigurieren und debuggen verstehen. DNS ist einer der wichtigsten Netzwerkdienste überhaupt. Ohne funktionierende Namensauflösung können Systeme oft keine Webseiten öffnen, keine Updates laden und keine anderen Server über Hostnamen erreichen. Für Anfänger wirkt DNS häufig unsichtbar, weil es im Hintergrund arbeitet. Genau deshalb ist es bei Problemen oft schwer zu erkennen, woran es wirklich liegt. Man sieht nur, dass „das Internet nicht funktioniert“, obwohl vielleicht nur die DNS-Auflösung fehlerhaft ist. In diesem Tutorial lernen Sie Schritt für Schritt, wie DNS unter Ubuntu funktioniert, wo die wichtigen Konfigurationsstellen liegen, wie Sie Nameserver sauber einrichten und wie Sie DNS-Probleme professionell debuggen. Dabei geht es nicht nur um einzelne Befehle, sondern auch um ein klares Verständnis der Zusammenhänge. Die Sprache bleibt bewusst einfach und leicht verständlich, damit auch Anfänger, IT-Studenten und Linux-Lernende das Thema sicher aufbauen können.
Was ist DNS und warum ist es unter Ubuntu so wichtig?
DNS steht für Domain Name System. Dieses System übersetzt Namen wie ubuntu.com oder google.de in IP-Adressen. Computer arbeiten im Netzwerk mit IP-Adressen, Menschen merken sich aber meist lieber Namen. Genau deshalb ist DNS so wichtig. Wenn DNS nicht richtig funktioniert, kann ein Ubuntu-System oft zwar noch Netzwerkverkehr senden, aber keine Ziele mehr über Namen finden.
In der Praxis bedeutet das: Ein Ping auf eine IP-Adresse kann noch funktionieren, während der Ping auf einen Hostnamen fehlschlägt. Genau diese Situation ist typisch für DNS-Probleme. Wer DNS unter Ubuntu professionell konfigurieren und debuggen möchte, muss deshalb zuerst verstehen, dass DNS ein eigener Teil der Netzwerkkonfiguration ist und nicht automatisch mit allgemeiner Netzwerkkonnektivität gleichzusetzen ist.
Typische Aufgaben von DNS
- Hostnamen in IP-Adressen auflösen
- Dienste und Server im Netzwerk auffindbar machen
- Mailserver über MX-Einträge finden
- Interne und externe Namensauflösung ermöglichen
- Grundlage für viele Netzwerkdienste sein
Wie funktioniert DNS unter Ubuntu grundsätzlich?
Ein Ubuntu-System nutzt normalerweise einen oder mehrere DNS-Server. Wenn ein Benutzer oder ein Dienst einen Namen auflösen möchte, sendet das System eine Anfrage an den zuständigen Resolver. Je nach Ubuntu-Version und Konfiguration spielen dabei verschiedene Komponenten eine Rolle. Häufig sind das systemd-resolved, Netplan, NetworkManager oder direkt konfigurierte Nameserver.
Für Anfänger ist wichtig: DNS unter Ubuntu besteht oft nicht nur aus einer einzigen Datei. Früher wurde häufig direkt in /etc/resolv.conf gearbeitet. Heute wird diese Datei oft automatisch verwaltet. Genau deshalb sollte man zuerst prüfen, welche Komponente auf dem eigenen System die DNS-Konfiguration steuert.
Wichtige mögliche Komponenten
- systemd-resolved als lokaler Resolver-Dienst
- Netplan für Netzwerkkonfiguration auf vielen Servern
- NetworkManager auf vielen Desktop-Systemen
- /etc/resolv.conf als sichtbare Resolver-Datei
Die Datei /etc/resolv.conf verstehen
Eine der bekanntesten Dateien bei DNS-Problemen ist:
/etc/resolv.conf
Dort stehen oft die DNS-Server, die ein System verwenden soll. Allerdings ist diese Datei auf modernen Ubuntu-Systemen häufig keine klassische statische Konfigurationsdatei mehr, sondern wird automatisch erzeugt oder verlinkt. Deshalb sollte man sie nicht blind manuell bearbeiten.
Inhalt der Datei anzeigen
cat /etc/resolv.conf
Eine typische Ausgabe kann zum Beispiel so aussehen:
nameserver 127.0.0.53
options edns0 trust-ad
search example.local
Wenn dort 127.0.0.53 steht, bedeutet das oft, dass systemd-resolved als lokaler Stub-Resolver verwendet wird. Das System fragt also nicht direkt den externen DNS-Server, sondern zuerst den lokalen Resolver-Dienst.
Warum /etc/resolv.conf oft verwirrend ist
- Die Datei wird oft automatisch erzeugt.
- Manuelle Änderungen gehen leicht verloren.
- Ein lokaler Resolver kann eingetragen sein statt externer DNS-Server.
- Die echte DNS-Konfiguration liegt oft an anderer Stelle.
Prüfen, ob systemd-resolved aktiv ist
Auf vielen aktuellen Ubuntu-Systemen ist systemd-resolved aktiv. Dieser Dienst kümmert sich um DNS-Auflösung und Cache-Funktionen. Wenn Sie DNS unter Ubuntu professionell konfigurieren und debuggen möchten, sollten Sie zuerst prüfen, ob dieser Dienst läuft.
Status prüfen
systemctl status systemd-resolved
Wenn der Dienst aktiv ist, sehen Sie eine laufende Statusanzeige. Zusätzlich können Sie mit einem weiteren Befehl die aktuelle Resolver-Konfiguration anzeigen.
DNS-Status mit resolvectl anzeigen
resolvectl status
Dieser Befehl ist besonders wichtig. Er zeigt unter anderem:
- Welche DNS-Server aktuell verwendet werden
- Welche Suchdomänen gesetzt sind
- Welche Schnittstelle welche DNS-Informationen hat
- Ob DNSSEC oder andere Optionen aktiv sind
DNS-Server unter Ubuntu mit Netplan konfigurieren
Auf vielen Ubuntu-Servern wird die Netzwerkkonfiguration mit Netplan verwaltet. Wenn Sie dort statische DNS-Server setzen möchten, geschieht das meist direkt in der Netplan-YAML-Datei. Diese Dateien liegen normalerweise in:
/etc/netplan/
Beispiel für DNS-Konfiguration in Netplan
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
search:
- example.local
addresses:
- 8.8.8.8
- 1.1.1.1
Diese Konfiguration setzt zwei DNS-Server und zusätzlich eine Suchdomäne.
Konfiguration prüfen
sudo netplan generate
Konfiguration anwenden
sudo netplan apply
Danach sollten Sie mit resolvectl status kontrollieren, ob die DNS-Server wirklich übernommen wurden.
DNS unter Ubuntu mit DHCP nutzen
In vielen Netzwerken werden DNS-Server automatisch per DHCP verteilt. Das ist besonders in Heimnetzen, kleinen Büros oder Testumgebungen üblich. In diesem Fall müssen keine festen DNS-Server manuell eingetragen werden. Stattdessen übernimmt Ubuntu die Angaben vom DHCP-Server oder Router.
Beispiel für DHCP mit Netplan
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
Wenn DNS per DHCP verteilt wird, sehen Sie die übernommenen Server ebenfalls mit:
resolvectl status
Wann DHCP-DNS sinnvoll ist
- In einfachen Heimnetzwerken
- Bei Testsystemen
- Wenn der Router die DNS-Verteilung übernimmt
- Wenn keine feste DNS-Strategie nötig ist
DNS unter Ubuntu mit NetworkManager verwalten
Auf Ubuntu-Desktops wird oft NetworkManager verwendet. In diesem Fall können DNS-Einstellungen über grafische Werkzeuge oder über die Kommandozeile verwaltet werden. Auch dann ist systemd-resolved oft zusätzlich beteiligt.
Verbindungen anzeigen
nmcli connection show
DNS-Server für eine Verbindung setzen
nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 1.1.1.1"
Automatische DNS-Übernahme abschalten
nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
Verbindung neu laden
nmcli connection up "Wired connection 1"
Diese Methode ist besonders auf Desktop-Systemen nützlich, wenn DNS-Einstellungen gezielt angepasst werden sollen.
Wichtige DNS-Debugging-Befehle unter Ubuntu
Wenn DNS-Probleme auftreten, helfen einige Standardbefehle sehr schnell weiter. Wer DNS unter Ubuntu professionell debuggen möchte, sollte diese Werkzeuge sicher kennen.
DNS-Status prüfen
resolvectl status
Hostnamen auflösen mit resolvectl
resolvectl query ubuntu.com
DNS-Abfrage mit dig
dig ubuntu.com
Falls dig fehlt, können Sie es installieren:
sudo apt update
sudo apt install dnsutils -y
DNS-Abfrage mit nslookup
nslookup ubuntu.com
Netzwerkverbindung mit IP testen
ping -c 4 8.8.8.8
DNS-Auflösung mit Hostnamen testen
ping -c 4 ubuntu.com
Wenn der Ping auf die IP funktioniert, aber der Ping auf den Namen scheitert, ist das ein sehr starker Hinweis auf ein DNS-Problem.
Den Unterschied zwischen Netzwerkproblem und DNS-Problem erkennen
Ein typischer Anfängerfehler ist, jedes Verbindungsproblem sofort als allgemeines Netzwerkproblem zu sehen. In Wirklichkeit funktioniert manchmal das Netzwerk selbst, aber DNS ist fehlerhaft. Deshalb sollten Sie diese beiden Bereiche immer getrennt prüfen.
Typischer Testablauf
- Zuerst eigene IP-Adresse prüfen
- Dann Gateway anpingen
- Dann eine externe IP anpingen
- Danach einen Hostnamen testen
Eigene Adresse prüfen
ip a
Route prüfen
ip route
Gateway testen
ping -c 4 192.168.1.1
Externe IP testen
ping -c 4 8.8.8.8
Namen testen
ping -c 4 ubuntu.com
So erkennen Sie schnell, ob das Problem bei der Verbindung selbst oder speziell bei DNS liegt.
DNS-Cache unter Ubuntu verstehen und leeren
Wenn systemd-resolved aktiv ist, kann ein DNS-Cache verwendet werden. Das ist praktisch, weil wiederholte Anfragen schneller beantwortet werden. Beim Debugging kann ein Cache aber manchmal stören, wenn alte Antworten noch gespeichert sind.
Cache-Statistik anzeigen
resolvectl statistics
DNS-Cache leeren
sudo resolvectl flush-caches
Danach können neue DNS-Tests sauberer durchgeführt werden.
Warum Cache-Leerung beim Debugging sinnvoll ist
- Alte Antworten werden entfernt
- Neue Anfragen werden frisch gestellt
- Tests werden verlässlicher
Direkt gegen einen bestimmten DNS-Server testen
Wenn Sie vermuten, dass ein bestimmter DNS-Server nicht korrekt antwortet, können Sie mit dig direkt gegen genau diesen Server testen. Das ist besonders hilfreich, wenn mehrere Nameserver konfiguriert sind.
Beispiel mit dig gegen 8.8.8.8
dig @8.8.8.8 ubuntu.com
Beispiel gegen internen DNS-Server
dig @192.168.1.10 server01.example.local
So sehen Sie sehr schnell, ob der gewünschte DNS-Server korrekt antwortet oder nicht.
Typische DNS-Fehler unter Ubuntu
Viele DNS-Probleme sind in der Praxis ähnlich. Gerade Anfänger profitieren davon, diese typischen Fehlerbilder zu kennen. Dann lässt sich schneller eingrenzen, wo die Ursache liegt.
Häufige Fehler
- Falsche oder nicht erreichbare DNS-Server
- Falsche Suchdomäne
- Netplan oder NetworkManager überschreibt DNS-Einstellungen
- /etc/resolv.conf wird manuell geändert, aber automatisch neu erzeugt
- systemd-resolved ist deaktiviert oder fehlerhaft
- Firewall blockiert DNS-Verkehr
Typische Symptome
- IP-Pings funktionieren, Namensauflösung aber nicht
- Einige Namen funktionieren, andere nicht
- Interne Hostnamen funktionieren nicht
- DNS-Änderungen greifen scheinbar nicht
Interne DNS-Namen und Suchdomänen richtig nutzen
In Firmennetzen oder Laborumgebungen werden oft interne DNS-Zonen genutzt. Dann reicht es manchmal, nur den kurzen Hostnamen zu schreiben, zum Beispiel server01 statt server01.example.local. Damit das funktioniert, muss die passende Suchdomäne gesetzt sein.
Beispiel für Suchdomäne in Netplan
nameservers:
search:
- example.local
addresses:
- 192.168.1.10
Wenn die Suchdomäne fehlt, funktionieren kurze Hostnamen oft nicht wie erwartet.
Warum Suchdomänen wichtig sind
- Interne Systeme lassen sich leichter ansprechen
- Kurze Hostnamen werden automatisch ergänzt
- DNS in Firmennetzen wird komfortabler
Logs für DNS-Probleme prüfen
Beim Debugging sind Logs oft sehr hilfreich. Besonders wenn systemd-resolved oder NetworkManager beteiligt sind, finden Sie dort wichtige Hinweise.
Logs von systemd-resolved anzeigen
journalctl -u systemd-resolved
Logs von NetworkManager anzeigen
journalctl -u NetworkManager
Dort sehen Sie oft Hinweise auf DNS-Server, Verbindungsänderungen oder Fehler im Resolver-Verhalten.
Eine saubere DNS-Strategie für Ubuntu-Systeme aufbauen
Wer DNS unter Ubuntu professionell konfigurieren möchte, sollte nicht nur einzelne Befehle kennen, sondern auch eine klare Strategie haben. Ein Server braucht oft feste DNS-Server. Eine Workstation kann ihre DNS-Werte vielleicht per DHCP erhalten. Ein internes Netz nutzt oft eigene Resolver und Suchdomänen. Wichtig ist, dass die Konfiguration zur realen Umgebung passt.
Bewährte Regeln für eine saubere DNS-Konfiguration
- Nur passende DNS-Server verwenden
- Interne und externe DNS-Nutzung bewusst planen
- Konfiguration nicht an mehreren Stellen gleichzeitig widersprüchlich pflegen
- Nach Änderungen immer testen
- Logs und Resolver-Status prüfen
Praktische Reihenfolge beim DNS-Debugging
Ein strukturierter Ablauf spart viel Zeit. Statt blind an Dateien zu ändern, sollten Sie DNS-Probleme methodisch prüfen.
Empfohlene Reihenfolge
- Netzwerkverbindung mit IP testen
- Routing prüfen
- resolvectl status ansehen
- /etc/resolv.conf prüfen
- Mit dig oder nslookup testen
- Bei Bedarf Cache leeren
- Logs von systemd-resolved oder NetworkManager prüfen
Diese Reihenfolge ist für Anfänger sehr hilfreich, weil sie klare Schritte vorgibt und viele typische Fehlerquellen schnell sichtbar macht.
Wichtige Befehle im Überblick
Wenn Sie DNS unter Ubuntu professionell konfigurieren und debuggen möchten, sollten Sie diese Befehle sicher kennen.
Resolver-Status anzeigen
resolvectl status
Namen auflösen
resolvectl query ubuntu.com
DNS-Cache leeren
sudo resolvectl flush-caches
Resolver-Datei anzeigen
cat /etc/resolv.conf
DNS-Abfrage mit dig
dig ubuntu.com
Direkt gegen einen DNS-Server testen
dig @8.8.8.8 ubuntu.com
DNS-Abfrage mit nslookup
nslookup ubuntu.com
Netzwerkverbindung testen
ping -c 4 8.8.8.8
ping -c 4 ubuntu.com
Logs von systemd-resolved prüfen
journalctl -u systemd-resolved
Logs von NetworkManager prüfen
journalctl -u NetworkManager
Wer diese Werkzeuge sicher anwenden kann, versteht DNS unter Ubuntu nicht mehr nur oberflächlich, sondern kann Probleme gezielt analysieren und Konfigurationen sauber umsetzen. Genau das ist der Unterschied zwischen einem einfachen „DNS geht nicht“ und einem professionellen, strukturierten DNS-Debugging auf Ubuntu-Systemen.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.