Wie behebt man einen DNS-Auflösungsfehler auf einem Linux-Server?
Schritt-für-Schritt-Anleitung für vorübergehende Fehler bei der Namensauflösung, Domänenauflösungsfehler und Apt-Update-DNS-Fehler.
Obwohl Linux-Server scheinbar über eine Internetverbindung verfügen, können Domänenadressen möglicherweise nicht aufgelöst werden. In diesem Fall kann der Server jedoch auf IP-Adressen zugreifen google.com, debian.org, ubuntu.com oder Lizenz-/API-Dienste.
Dieses Problem äußert sich insbesondere in folgenden Prozessen:
- passendes Update oder Leckeres Update Fehler empfangen während
- WHMCS-Lizenz, Zahlungs- oder API-Links funktionieren nicht
- Das Game-Panel kann keine Verbindung zu Remote-API-Adressen herstellen
- Domain-Ping funktioniert nicht, während Ping-IP auf dem Server ausgeführt wird
- Vorübergehender Fehler bei der Namensauflösung Fehler gesehen
1. Verstehen, ob DNS wirklich das Problem ist
Überprüfen Sie zunächst den öffentlichen Internetzugang des Servers, indem Sie dessen IP-Adresse anpingen.
ping -c 4 8.8.8.8
Wenn dieser Befehl antwortet, hat der Server Zugriff auf das Internet auf IP-Ebene. Testen Sie nun die Domainauflösung:
ping -c 4 google.com
Wenn der IP-Ping funktioniert, der Domänen-Ping jedoch nicht, liegt das Problem höchstwahrscheinlich auf der DNS-Seite.
2. Überprüfen der aktuellen DNS-Einstellungen
In Linux-Systemen sind es normalerweise DNS-Server /etc/resolv.conf ist in der Datei definiert.
cat /etc/resolv.conf
Eine fehlerfreie DNS-Einstellung sieht normalerweise so aus:
nameserver 1.1.1.1 nameserver 8.8.8.8
Wenn die Datei leer ist, falsche IP-Adressen enthält oder nur lokale/nicht funktionierende DNS-Adressen schreibt, schlägt die Domänenauflösung möglicherweise fehl.
3. Temporäre DNS-Definition
Zum schnellen Testen können Sie temporäres DNS mit dem folgenden Befehl definieren:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Testen Sie später noch einmal:
ping -c 4 google.com
4. Permanente DNS-Einstellung auf Ubuntu-/Debian-Systemen
Auf modernen Ubuntu-Systemen sind es normalerweise Netzwerkeinstellungen Netzplan Es wird verwaltet von . Netplan-Dateien auflisten:
ls /etc/netplan/
Bearbeiten Sie die Datei:
nano /etc/netplan/01-netcfg.yaml
Beispiel einer DNS-Definition:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Um die Einstellung anzuwenden:
netplan apply
Wenn Sie über SSH verbunden sind und sich über die Netzwerkeinstellung nicht sicher sind, seien Sie vorsichtig. Eine falsche Netplan-Einstellung kann Ihre SSH-Verbindung unterbrechen.
5. CentOS / AlmaLinux / Rocky Linux DNS-Einstellung
Auf RedHat-basierten Systemen können DNS-Einstellungen über NetworkManager vorgenommen werden.
So sehen Sie den Namen der aktiven Verbindung:
nmcli con show
Beispiel für eine DNS-Einstellung:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Ihr Verbindungsname kann anders sein. Sie müssen im Befehl Ihren eigenen Verbindungsnamen verwenden.
6. Systemd-aufgelöste Prüfung
DNS-Auflösung auf einigen Systemen systemd-aufgelöst Es wird vom Dienst verwaltet.
systemctl status systemd-resolved
Wenn der Dienst ausgefallen ist, können Sie ihn starten:
systemctl enable systemd-resolved systemctl start systemd-resolved
So sehen Sie den DNS-Status:
resolvectl status
7. DNS-Überprüfung auf Paketaktualisierungsfehler
Wenn DNS beschädigt ist, funktionieren auch Paketmanager nicht. Folgende Fehler können beispielsweise auftreten:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
In diesem Fall sollte der Paketspeicher nicht als beschädigt betrachtet werden. Die DNS-Auflösung sollte zunächst getestet werden.
Häufige Fehler
- Ich denke, dass es kein Internet gibt, erkennt aber nicht, dass eigentlich nur DNS beschädigt ist
- Schreiben Sie temporäres DNS in die Datei /etc/resolv.conf und denken Sie, dass es sich um eine dauerhafte Lösung handelt
- Falsche Leerzeicheneinrückung in der Netplan-Datei
- Falsche Schreibweise des NetworkManager-Verbindungsnamens
- Sie gehen davon aus, dass die funktionierende API oder das Lizenzierungssystem aufgrund eines DNS-Problems fehlerhaft ist
FAQ
IP-Ping funktioniert, aber Domain-Ping funktioniert nicht. Was ist das Problem?
Es liegt höchstwahrscheinlich ein Problem mit der DNS-Auflösung vor. Der Server kann auf das Internet zugreifen, aber er kann keine Domänennamen in IP-Adressen übersetzen.
Welche DNS-Server kann ich verwenden?
Allgemein verfügbar sind 1.1.1.1, 1.0.0.1, 8.8.8.8 und 8.8.4.4. In Unternehmensstrukturen kann ein privater DNS-Server bevorzugt werden.
Warum ändert sich resolv.conf von selbst?
Da die Datei auf den meisten Systemen automatisch von netplan, NetworkManager oder systemd-resolved verwaltet wird.
Sicherheits- und Betriebsempfehlungen
- Führen Sie nach der DNS-Änderung unbedingt einen Domänenauflösungstest durch.
- Fügen Sie DNS-Fehler in Zahlungs-, Lizenzierungs- und API-Systemen zur ersten Checkliste hinzu.
- Definieren Sie mindestens zwei DNS-Adressen anstelle eines einzelnen DNS.
- Wenn Ihr Serveranbieter privates DNS bereitstellt, sollten Sie dies ebenfalls berücksichtigen.
- Beachten Sie, dass eine falsche Netplan-Einstellung die SSH-Verbindung unterbrechen kann.
Dieser Artikel ist speziell für PvPServer vorbereitet.