2014-02-24 08:49:11 +0000 2014-02-24 08:49:11 +0000
20
20

"Verbindung verweigert" vs. "Keine Route zum Host"

Ich habe einen Apache-Server, der auf einem Server läuft:

[root@te-srv2 ~]# ps -ecf|grep httpd
root 698 32047 TS 19 10:45 pts/24 00:00:00 grep httpd
root 32081 1 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
apache 32083 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
apache 32084 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
....

Wenn ich jedoch versuche, mich mit dem lokalen Host zu verbinden, erhalte ich “Connection refused”:

[root@te-srv2 ~]# wget http://127.0.0.1
--2014-02-24 10:46:16-- http://127.0.0.1/
Connecting to 127.0.0.1:80... failed: Connection refused.

Dasselbe passiert, wenn ich versuche, mich mit der lokalen IP-Adresse zu verbinden:

[root@te-srv2 ~]# wget http://132.70.6.157
--2014-02-24 10:46:40-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: Connection refused.

Andererseits, wenn ich dasselbe von einem anderen Computer im selben Netzwerk versuche, erhalte ich eine andere Fehlermeldung “No route to host”:

[erelsgl@erel-biu ~]$ wget http://132.70.6.157
--2014-02-24 10:49:11-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: No route to host.

Warum bekomme ich diese Fehler? Und was muss ich tun, damit ich mich sowohl vom selben Computer als auch von anderen Computern im Netzwerk mit dem http-Server verbinden kann?

UPDATES: Basierend auf den Kommentaren und Antworten sind hier einige weitere Informationen:

[root@te-srv2 ~]# traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 hops max, 60 byte packets
 1 te-srv2 (132.70.6.157) 0.082 ms 0.007 ms 0.005 ms

[erelsgl@erel-biu ~]$ traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 hops max, 60 byte packets
 1 te-srv2 (132.70.6.157) 0.446 ms !X 0.431 ms !X 0.420 ms !X

[root@te-srv2 ~]# netstat -lnp|grep http
tcp 0 0 :::443 :::* LISTEN 5756/httpd

Antworten (4)

26
26
26
2014-02-24 09:11:38 +0000

“Verbindung abgelehnt” bedeutet, dass der Zielrechner die Verbindung aktiv abgelehnt hat. Mit Port 80 als Kontext ist wahrscheinlich eines der folgenden Dinge der Grund:

  • Nichts hört auf 127.0.0.1:80 und 132.70.6.157:80
  • Nichts hört auf *:80
  • Die Firewall blockiert die Verbindung mit REJECT

Überprüfen Sie also Ihre Apache- und iptables-Konfiguration.

“Keine Route zum Host” bezieht sich auf ein Netzwerkproblem. Es handelt sich nicht um eine Antwort des Zielrechners.

13
13
13
2014-02-24 09:09:12 +0000

Zeigen Sie die Ausgabe von netstat -lnp, damit wir sehen können, welche Prozesse tatsächlich auf welche Ports des Servers hören und an welche IP-Adressen sie gebunden sind.

Was den zweiten Computer betrifft, so sieht seine Netzwerkkonnektivität gestört aus. netstat -rn wird Aufschluss über das Problem geben.

Um bessere Ratschläge geben zu können, werden mehr Details zur allgemeinen Netzwerkkonfiguration und IP-Konfiguration auf beiden Computern benötigt.

Bearbeiten:

Sie müssen Ihre Apache-Konfiguration so ändern, dass es sich um einen HTTP-Server und nicht um einen SSL-Server handelt. Die Konfigurationsdateien befinden sich meist unter /etc/apache2.

Die Informationen zur IP-Konfiguration und Netzwerkkonfiguration werden noch benötigt, um das andere Problem zu analysieren. Die Traceroute-Informationen brachten nichts zutage.

3
3
3
2018-06-14 09:23:31 +0000

Ich habe diesen Beitrag gefunden, der das Problem beschreibt, mit dem ich konfrontiert war, als ich versuchte, eine einfache http-Seite mit Nodejs auf einem Public-Cloud-Rechenknoten einzurichten.

Dieser Befehl hat den Trick für mich erledigt:

iptables -F

Dieser Befehl flusht, d.h. löscht die Firewall-Regeln, die im Linux-System eingerichtet sind.

Ein Wort der Vorsicht: Da ich die verteilte Firewall verwende, die Teil des Public Cloud VCN ist, habe ich die Firewall meines Betriebssystems nicht wirklich verwendet. Falls Sie keine externe Firewall haben, stellen Sie sicher, dass Sie eine Firewall-Regel in iptables hinzufügen.

1
1
1
2017-08-01 08:16:53 +0000

Unter Bezugnahme auf die Antwort von Ron Maupin aus https://networkengineering.stackexchange.com/questions/33397/debugging-no-route-to-host-over-ethernet :

Die ICMP-Meldung “no route to host” bedeutet, dass ARP die Schicht-2-Adresse für den Zielhost nicht finden kann. Normalerweise bedeutet dies, dass der Host mit dieser IP-Adresse nicht online ist oder nicht antwortet.