Haben Sie beim Versuch, einen Linux-Server zu erreichen, auf die "Keine Route zum Host" gestoßen? Dieser Dienstverbindungsfehler kann ärgerlich sein, aber Sie können es beheben, sobald Sie die Ursache identifizieren.
"No Route to Host" bezeichnet ein Netzwerkproblem, das normalerweise auftritt, wenn der Server oder Host nicht antwortet. Dies kann aufgrund von Netzwerkproblemen oder aufgrund einer ungeeigneten Installation auftreten.
Sind Ihre Netzwerkeinstellungen korrekt?
Bevor wir uns die spezifischeren Ursachen für dieses Problem ansehen, stellen Sie sicher, dass Ihre Netzwerkeinstellungen korrekt sind. Kannst du dich mit dem Internet verbinden? Ist Ihr DNS richtig konfiguriert?
Führen Sie diesen Befehl aus, um Folgendes herauszufinden:
systemd-resolve -status
Wenn Sie dort DNS-Probleme entdecken, gehen Sie zurück zu Ihrer Netzwerkkonfiguration und wiederholen Sie sie gegebenenfalls. Wenn Sie ein Standardnetzwerk mit einer dynamischen IP verwenden, sollten die DNS-Nummern automatisch aktualisiert werden.
Um Ihren DNS manuell zu konfigurieren, wechseln Sie zu Network Manager und geben Sie die IP-Adresse manuell auf der Registerkarte IPv4 ein.
Wenn Ihre Linux-Distribution keinen grafischen Desktop hat, gehen Sie zu "/etc/systemd/resolved.conf." Und finden Sie die DNS-Zeile.
Ändern Sie die Nummern mit den Nummern des gewünschten DNS und nehmen Sie gegebenenfalls andere Konfigurationen vor.
Wenn Sie eine statische IP-Adresse eingerichtet haben, möchten Sie möglicherweise zu einer dynamischen IP-Adresse zurückkehren und Ihr Netzwerk die Verbindungsinformationen über DHCP beziehen lassen.
Vergessen Sie nicht, Ihren Computer neu zu starten, bevor Sie erneut versuchen, eine Verbindung zum Host herzustellen. Wenn Sie immer noch "No Route to Host" erhalten, lesen Sie weiter.
Ist der Hostserver online?
Der nächste Schritt besteht darin, zu überprüfen, ob der Host, mit dem Sie sich verbinden möchten, tatsächlich online ist. Eine der häufigsten Ursachen für den Fehler ist, dass der Dienst aufgrund von Wartungsarbeiten oder anderen Problemen nicht ausgeführt wird.
Wenn der Dienst nicht online ist, überprüfen Sie, ob der Host ist. Manchmal wurde der Dienst möglicherweise gestoppt oder nicht gestartet, auch wenn mit dem Server selbst nichts falsch ist.
Verwenden Sie Systemd, führen Sie den Befehl ...
sudo systemctl status Servicename
Wenn der Dienst ausgeführt wird, müssen Sie nach einer anderen Ursache suchen.
Verbindest du dich mit dem richtigen Port?
Überprüfen Sie alle vom Host bereitgestellten Dokumente. Es ist eine übliche Vorgehensweise für Servermanager, Ports zu sperren, die nicht zur Verbesserung der Serversicherheit verwendet werden. Angreifer verwenden häufig gemeinsame Ports, um auf Linux-Dienste abzuzielen.
Wenn Sie versuchen, eine Verbindung zu Ihrem eigenen Server herzustellen, können Sie den Dienst zum richtigen Port zurückverfolgen. Um dies zu tun, müssen Sie ein Sicherheitstool installieren, das Ihnen hilft, offene Ports zu sehen - NMAP.
Hier sind die Befehle zum Installieren von NMAP über verschiedene Linux-Distributionen:
CentOS: yum install nmap
Debian: apt-get install nmap
Ubuntu: sudo apt-get installieren nmap
Sobald Sie NMAP installiert haben, prüfen Sie, ob offene Ports mit dem folgenden Befehl angezeigt werden:
sudo nmap -sS zielserver-ip
Wenn Sie keinen direkten Zugriff auf den Server haben, müssen Sie sich an den Host wenden. Aber bevor Sie das tun, sehen Sie sich die anderen möglichen Ursachen für den Fehler "Keine Route zum Host" in Linux an.
Ist der Hostname richtig?
Sie erhalten möglicherweise auch den Fehler "Keine Route zum Host", wenn Ihr Computer und der Server, mit dem Sie eine Verbindung herstellen möchten, andere Hostnamen verwenden. Beide Maschinen sollten so konfiguriert sein, dass sie sich miteinander verbinden.
Neben der üblichen Konfiguration der Hosts sollten Sie auf die Dateien hosts.deny und hosts.allow in "/ etc" achten. Wenn Sie versuchen, eine Verbindung zu einem neuen Server herzustellen, stellen Sie sicher, dass Sie den Hostnamen des Servers richtig eingegeben haben.
Blockiert iptables die Verbindung?
iptables ist sehr nützlich, wenn Sie die Linux-Kernel-Firewall-Tabellen konfigurieren möchten. Die volle Kontrolle, die es Ihnen über den Verkehr gibt, der in und aus Ihrem Computer kommt, ist groß.
Durch einen einfachen Konfigurationsfehler konnte iptables jedoch die Verbindung zu dem Port blockieren, den Sie erreichen möchten, und den Fehler "Keine Route zum Host" verursachen.
Um zu überprüfen, ob iptables verantwortlich ist, führen Sie den folgenden Befehl aus:
sudo iptables -S
Überprüfen Sie, ob die von Ihnen festgelegten iptables-Regeln die Verbindung blockieren. Möglicherweise müssen Sie der Standard-INPUT-Kette eine Annahmeregel hinzufügen.
Um die Firewall-Regeln für eine externe Firewall zu löschen, können Sie diesen Befehl verwenden:
iptables -F
Schlussgedanken
Wie Sie sehen, kann es eine Weile dauern, bis der Fehler "Keine Route zum Host" angezeigt wird. Die oben genannten Schritte sollten Ihnen jedoch helfen. Obwohl es sich um ein komplexes Problem handelt, ist es oft das Ergebnis widersprüchlicher Konfigurationen oder einfacher Netzwerkprobleme.
Sind Sie auf andere mögliche Ursachen und Korrekturen für diesen Fehler gestoßen? Schreiben Sie uns einen Kommentar und erzählen Sie uns davon.