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

"Verbinding geweigerd" vs "Geen route naar host"

Ik heb een Apache server draaien op een server:

[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
....

Wanneer ik echter verbinding probeer te maken met de lokale host, krijg ik de foutmelding “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.

Hetzelfde gebeurt wanneer ik verbinding probeer te maken met het lokale IP-adres:

[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.

Aan de andere kant, wanneer ik hetzelfde probeer vanaf een andere computer in hetzelfde netwerk, krijg ik een andere foutmelding “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.

Waarom krijg ik deze fouten? En wat moet ik doen om verbinding te kunnen maken met de http server vanaf zowel dezelfde computer als andere computers in het netwerk?

UPDATES: Gebaseerd op de commentaren en antwoorden, hier is wat meer informatie:

[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

Antwoorden (4)

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

“Verbinding geweigerd” betekent dat de doelmachine de verbinding actief heeft geweigerd. Met poort 80 als context is waarschijnlijk een van de volgende dingen de reden:

  • Er luistert niets op 127.0.0.1:80 en 132.70.6.157:80
  • Er luistert niets op *:80
  • De firewall blokkeert de verbinding met REJECT

Dus controleer je Apache en iptables configuratie.

“Geen route naar host” verwijst naar een netwerkprobleem. Het is niet een antwoord van de doelmachine.

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

Laat de uitvoer van netstat -lnp zien, zodat we kunnen zien welke processen naar welke poorten op de server luisteren, en aan welke IP adressen ze gebonden zijn.

Wat betreft de tweede computer, de netwerkconnectiviteit lijkt verbroken. netstat -rn zal enig inzicht geven in het probleem daar.

Om beter advies te kunnen geven, zijn meer details nodig over de algemene netwerkconfiguratie en de IP configuratie op beide computers.

Bewerken:

Je moet je Apache configuratie veranderen, zodat het een HTTP server is, en geen SSL server. Configuratiebestanden bevinden zich meestal onder /etc/apache2.

De IP configuratie en netwerk configuratie informatie is nog nodig om het andere probleem te analyseren. De traceroute informatie heeft niets opgeleverd.

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

Ik vond deze post die het probleem beschreef waarmee ik werd geconfronteerd toen ik probeerde een eenvoudige http-pagina op te zetten met behulp van nodejs op een Public Cloud compute node.

Dit commando deed de truc voor mij:

iptables -F

Dit commando spoelt, d.w.z. wist de firewallregels die in het Linux-systeem zijn ingesteld.

Een woord van voorzichtigheid: Aangezien ik de gedistribueerde firewall gebruik die deel uitmaakt van het Public Cloud VCN, heb ik de firewall van mijn OS niet echt gebruikt. Als u geen externe firewall hebt, zorg er dan voor dat u een firewallregel toevoegt in iptables.

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

Citerend het antwoord van Ron Maupin van https://networkengineering.stackexchange.com/questions/33397/debugging-no-route-to-host-over-ethernet :

Het ICMP bericht, “no route to host,” betekent dat ARP het layer-2 adres voor de destination host niet kan vinden. Gewoonlijk betekent dit dat de host met dat IP-adres niet online is of reageert.