Es kann keine Verbindung zu lokalen Hostverbindungen hergestellt werden

11

Ich verwende Centos 6.5 mit den neuesten Updates.

Mein Problem ist, dass jedes Mal, wenn ich versuche, eine Verbindung zu einem lokalen Dienst herzustellen, dieser zum Beispiel hängt:

wget

wget 127.0.0.1
--2014-03-11 12:43:42--  http://127.0.0.1/
Connecting to 127.0.0.1:80...
After a while timeout...

ssh

# ssh 127.0.0.1 -p 6060 -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 6060.
debug1: connect to address 127.0.0.1 port 6060: Connection timed out
ssh: connect to host 127.0.0.1 port 6060: Connection timed out

und es hängt nach Timeout.

Gleiches gilt für Telnet und für die Verbindung zum IRC-Server. Externe Verbindungen funktionieren einwandfrei ...

netstat -tpln

# netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      589/sendmail        
tcp        0      0 127.0.0.1:6060              0.0.0.0:*                   LISTEN      520/sshd            
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      619/nginx           
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      478/sshd            
tcp        0      0 ::1:6060                    :::*                        LISTEN      520/sshd            
tcp        0      0 :::22                       :::*                        LISTEN      478/sshd            

netstat -rn

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 venet0
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 venet0

iptables

Ich spüle sofort Iptables aus, ohne Glück. Ausgabeformular iptables:

# iptables -nvL
Chain INPUT (policy ACCEPT 634 packets, 49819 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 517 packets, 47027 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Loopback-Konfiguration

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/void 
    inet 127.0.0.1/32 scope host venet0
    inet 176.122.224.115/32 brd 176.122.224.115 scope global venet0:0

Das Drehen von SELinux hat es mit nichts verbessert.

ip route show table local

# ip route show table local
local 176.122.224.115 dev venet0  proto kernel  scope host  src 176.122.224.115 
broadcast 176.122.224.115 dev venet0  proto kernel  scope link  src 176.122.224.115 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 

Traceroute

# traceroute 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  localhost.localdomain (127.0.0.1)  0.029 ms  0.014 ms  0.012 ms

ping 127.0.0.1

funktioniert ok

# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.036 ms

Das Seltsamste daran ist, dass ich ohne Probleme eine Verbindung zu ssh, nginx server von einer externen Adresse (zum Beispiel einem Computer, von dem aus ich ssh'ing) herstellen kann.

Dies geschieht, nachdem der ISP meinen Server neu gestartet hat. Was vielleicht nützlich ist, ist, dass der Server häufig ohne Neustart aktualisiert wurde.

Badray
quelle
Oh, übrigens, Loopback-Konfiguration ist eingestellt? , testen mit ip aoder ifconfig.
PersianGulf
Yup ist gesetzt, pastebin.centos.org/8351 oder ich habe die Ausgabe schlecht gelesen.
Badray
@badray, Sie haben die IP-Konfiguration das letzte Mal mit ifconfig geändert und die Änderungen wurden nicht gespeichert. Was ergibt ein Tracert 127.0.0.1?
Kiwy
@badray Bitte bearbeiten Sie Ihre Frage, anstatt Dinge in den letzten Papierkorb zu kopieren. Es ist in Ordnung, eine kilometerlange Frage zu haben, wenn die Informationen wichtig sind. und ja du hast traceroutenicht recht tracert. Was ping 127.0.0.1gibt dir?
Kiwy
@ Kiwy Ok, gemacht wie du es gewünscht hast. Ganze Ausgaben auf Frage kopiert. Ping funktioniert super. Fügte es einfach zur Frage hinzu.
Badray

Antworten:

5

Entsprechend der von ifconfigIhnen veröffentlichten Ausgabe haben Sie die Loopback-Adresse 127.0.0.1auf zwei Schnittstellen festgelegt.

Versuchen

ip addr del 127.0.0.1/32 dev venet0

und prüfen Sie, ob Ihr Loopback-Zugriff wiederhergestellt ist.

Flup
quelle
Jetzt sieht es so aus: pastebin.centos.org/8356 . Verbindungen funktionieren auch nicht.
Badray
1
Bitte fügen Sie den Inhalt Ihrer Routing-Tabelle hinzu ( netstat -rn).
Flup
Sie sind hier: pastebin.centos.org/8361
badray
@ Kiwy Ich habe immer Pastebin-Links mit Ausgaben hinzugefügt, da ich ein besserer Entwickler als Sysadmin bin und nicht immer sicher bin, ob ich die Ausgabe richtig gelesen habe. BEARBEITEN: Nach der erneuten netstat -rnSuche sollte die localhost-Route nicht gedruckt werden. ip route show table localsollte und tut es, so ist dies nicht der Fall.
Badray
4

Ich hatte genau das gleiche Problem, das Sie beschreiben. Ich konnte keine Verbindung zu einem Überwachungsport auf dem Host von lokal herstellen, konnte jedoch eine Verbindung herstellen, wenn ich remote war.

Die Lösung für mich bestand darin, die lo-Schnittstelle wieder hochzufahren, die aus irgendeinem Grund nicht verfügbar war und beim Booten nicht hochgefahren wurde.

ifconfig lo up

Nachdem ich die Schnittstelle wieder aufgerufen und bestätigt habe, dass ich die loSchnittstelle mit ...

ifconfig -a

Ich konnte meinen Tag fortsetzen ... :)

Ich habe festgestellt, dass beim Ausführen ip a127.0.0.1 der lo: -Schnittstelle nicht zugewiesen wurde. Dies hat mich darauf hingewiesen, dass ich diese Schnittstelle auch zum Laufen brauchte ...

Philip
quelle
Vielen Dank für diese Antwort. Es führte mich in die richtige Richtung, die lo"up" war, ohne eine IP-Adresse zu haben. ifdown lo && ifup lohabe es für mich behoben, aber ich finde das immer noch ziemlich seltsam.
Mitja
0

Flup antwortete richtig, aber ich fand diese Frage aus einem anderen Grund. Ich denke, eine alternative Antwort ist erforderlich. Server, ich habe angefangen, an den IPv6-Socket zu binden, und ich sollte eine andere Adresse verwenden, um eine Verbindung herzustellen, wie:

nc ::1 8080

oder

curl http://[::1]:8080/
DenisKolodin
quelle