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

"Połączenie odrzucone" vs "Brak trasy do hosta".

Advertisement

Mam serwer Apache działający na serwerze:

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

Jednak, gdy próbuję połączyć się z lokalnym hostem dostaję “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.

To samo dzieje się, gdy próbuję połączyć się z lokalnym adresem IP:

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

Z drugiej strony, gdy próbuję tego samego z innego komputera w tej samej sieci, dostaję inny błąd “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.

Dlaczego dostaję te błędy? I co powinienem zrobić, aby móc połączyć się z serwerem http zarówno z tego samego komputera, jak i z innych komputerów w sieci?

AKTUALIZACJE: W oparciu o komentarze i odpowiedzi, oto kilka dodatkowych informacji:

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

Odpowiedzi (4)

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

“Connection refused” oznacza, że maszyna docelowa aktywnie odrzuciła połączenie. Z portem 80 jako kontekstem, jedna z następujących rzeczy jest prawdopodobną przyczyną:

  • Nic nie nasłuchuje na 127.0.0.1:80 i 132.70.6.157:80
  • Nic nie nasłuchuje na *:80
  • Firewall blokuje połączenie z REJECT

Sprawdź konfigurację Apache i iptables.

“No route to host” odnosi się do problemu z siecią. To nie jest odpowiedź z maszyny docelowej.

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

Pokaż wynik działania polecenia netstat -lnp, abyśmy mogli zobaczyć, które procesy faktycznie nasłuchują na jakich portach na serwerze i z jakimi adresami IP są związane.

Jeśli chodzi o drugi komputer, jego łączność sieciowa wygląda na przerwaną. netstat -rn pozwoli nam zorientować się, na czym polega problem.

Aby udzielić lepszej porady, potrzebne jest więcej szczegółów dotyczących ogólnej konfiguracji sieci i konfiguracji IP na obu komputerach.

Edycja:

Musisz zmienić konfigurację Apache tak, aby był to serwer HTTP, a nie SSL. Pliki konfiguracyjne znajdują się w większości przypadków pod /etc/apache2.

Informacje o konfiguracji IP i konfiguracji sieci są nadal potrzebne do przeanalizowania innego problemu. Informacje o traceroute nie ujawniły niczego.

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

Znalazłem ten post opisujący problem, z którym miałem do czynienia, próbując skonfigurować prostą stronę http przy użyciu nodejs na węźle obliczeniowym Public Cloud.

To polecenie zrobiło dla mnie sztuczkę:

iptables -F

To polecenie przepłukuje, tj. czyści reguły zapory sieciowej, które są skonfigurowane wewnątrz systemu Linux.

Słowo ostrzeżenia: Ponieważ używam rozproszonego firewalla, który jest częścią Public Cloud VCN, tak naprawdę nie używałem firewalla mojego systemu operacyjnego. W przypadku, gdy nie masz zewnętrznego firewalla, upewnij się, że dodałeś regułę firewalla w iptables.

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

Powołując się na odpowiedź Rona Maupina z https://networkengineering.stackexchange.com/questions/33397/debugging-no-route-to-host-over-ethernet :

Komunikat ICMP, “brak trasy do hosta”, oznacza, że ARP nie może znaleźć adresu warstwy 2 dla hosta docelowego. Zazwyczaj oznacza to, że host o tym adresie IP nie jest online lub nie odpowiada.

Advertisement