У меня есть 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
Тогда все, что вы набираете с обеих сторон, должно отображаться / отображаться на экране. Если это не так, то ваш порт блокируется по пути.