Назад | Перейти на главную страницу

Не удается подключиться к Telnet с внешнего IP

У меня есть postfix сервер, работающий на kimsufi VPS, я установил на него roundcube, и все в порядке. Проблема в том, что когда я пытаюсь подключиться с другого сервера, у меня истекает время ожидания:

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

вот мой вывод netstat:

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

И текущие правила iptables:

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 от localhost отлично работает:

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.

Сервер размещен в центре обработки данных OVH, и порт 25 не заблокирован:

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

Я также проверил почтовые списки спама, чтобы увидеть, был ли мой IP в одном из них, а это не так.

Как я могу принять telnet 25 извне? Я понятия не имею, уже видел все вопросы об этом в SF и многие из них в остальной части Интернета.

Согласно документам nmap:

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.

Похоже, ваш порт просто где-то заблокирован брандмауэром. Может быть, ваш местный провайдер? Потому что, когда я пытаюсь подключиться к нему, я получаю соединение:

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

К сожалению, интернет-провайдер нередко блокирует прямое подключение к порту 25 за пределами своей сети, чтобы предотвратить прямую рассылку спама ботами на клиентских машинах.

Прежде чем продолжить, я бы первым делом протестировал порт 25 с помощью инструмента вроде netcat.

Инструмент входит в стандартную комплектацию большинства дистрибутивов Linux. Например, в CentOS я бы остановил postfix, чтобы освободить порт 25. Затем я бы запустил netcat следующим образом:

# nc -l 25

Затем на удаленном клиенте я бы запустил его так:

# nc {ip of remote server} 25

Тогда все, что вы набираете с обеих сторон, должно отображаться / отображаться на экране. Если это не так, то ваш порт блокируется по пути.