Verbindung mit Telnet von externer IP nicht möglich

Verbindung mit Telnet von externer IP nicht möglich

Ich habe einen Postfix-Server, der auf einem Kimsufi-VPS läuft, ich habe Roundcube darauf installiert und alles ist in Ordnung. Das Problem ist, dass es ein Timeout gibt, wenn ich versuche, mich von einem anderen Server aus zu verbinden:

telnet whys.fr 25
Trying 5.196.66.189...
telnet: Unable to connect to remote host: Connection timed out

hier ist meine Netstat-Ausgabe:

netstat -ntpul | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      17643/master    
tcp6       0      0 :::25                   :::*                    LISTEN      17643/master

Und die aktuellen iptables-Regeln:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

Telnet vom lokalen Host funktioniert prima:

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 whys.fr ESMTP Postfix (Debian/GNU)
ehlo whys.fr
250-whys.fr
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Der Server wird im Rechenzentrum von OVH gehostet und Port 25 ist nicht blockiert:

nmap -p 25 whys.fr

Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-20 15:16 CET
Nmap scan report for whys.fr (5.196.66.189)
Host is up (0.019s latency).
rDNS record for 5.196.66.189: ns330237.ip-5-196-66.eu
PORT   STATE    SERVICE
25/tcp filtered smtp

Nmap done: 1 IP address (1 host up) scanned in 0.72 seconds

Ich habe auch in E-Mail-SPAM-Listen nachgesehen, ob meine IP-Adresse in einer davon steht, was nicht der Fall ist.

Wie kann ich Telnet 25 von außerhalb akzeptieren? Ich habe jetzt keine Ahnung, habe bereits alle Fragen dazu auf SF und jede Menge davon im Rest des Internets gesehen.

Antwort1

Laut den Nmap-Dokumenten:

filtered

Nmap cannot determine whether the port is open because packet filtering prevents
its probes from reaching the port. The filtering could be from a dedicated
firewall device, router rules, or host-based firewall software. These ports
frustrate attackers because they provide so little information. Sometimes they
respond with ICMP error messages such as type 3 code 13 (destination unreachable:
communication administratively prohibited), but filters that simply drop probes
without responding are far more common. This forces Nmap to retry several times
just in case the probe was dropped due to network congestion rather than
filtering. This slows down the scan dramatically.

Es sieht also so aus, als ob Ihr Port einfach irgendwo durch eine Firewall blockiert ist. Vielleicht Ihr lokaler ISP? Denn wenn ich versuche, eine Verbindung herzustellen, erhalte ich eine Verbindung:

$ telnet whys.fr 25
Trying 5.196.66.189...
Connected to whys.fr.
Escape character is '^]'.
220 whys.fr ESMTP Postfix (Debian/GNU)

Leider kommt es nicht selten vor, dass ISPs direkte Verbindungen zu Port 25 außerhalb ihres eigenen Netzwerks blockieren, um zu verhindern, dass Bots auf Client-Rechnern direkt Spam versenden.

Antwort2

Das erste, was ich tun würde, bevor ich weitermache, wäre, Port 25 Ende-zu-Ende mit einem Tool wie zu testenNetzkatze.

Das Tool ist bei den meisten Linux-Distributionen standardmäßig enthalten. Unter CentOS würde ich beispielsweise Postfix stoppen, um Port 25 freizugeben. Dann würde ich Netcat folgendermaßen starten:

# nc -l 25

Auf dem Remote-Client würde ich es dann folgendermaßen starten:

# nc {ip of remote server} 25

Dann sollte alles, was Sie an beiden Enden eingeben, auf dem Bildschirm angezeigt werden. Wenn dies nicht der Fall ist, wird Ihr Port auf dem Weg blockiert.

verwandte Informationen