Я использую postfix и dovecot на своем почтовом сервере Centos.
Теперь я могу отправлять почту с сервера извне, НО я не могу получать почту извне.
TELNET: Когда я подключаюсь через telnet к своему IP-адресу на порт 21, он подключается, но когда я делаю это для портов 25 и 110, он не может подключиться, поэтому что-то блокирует его.
Теперь в IPTABLES я включил все следующие порты, чтобы разрешить трафик: 80,21,25,110,143. См. Мою конфигурацию iptables ниже:
# Generated by iptables-save v1.4.7 on Fri Jul 5 22:08:10 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [30:3200]
-A INPUT -p tcp -m tcp --dport 5252 -j ACCEPT -m comment --comment "SSH"
-A INPUT -p tcp -m tcp --dport 48001 -m comment --comment "SSH was 5252" -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 143 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri Jul 5 22:08:10 2013
~
Вопрос: 1. Почему я не могу подключиться к 25 порту через telnet извне? (Полагаю, именно поэтому я не могу получать входящую почту извне.
Примечание: Мои записи MX и обратный DNS работают нормально, я считаю, что если я смогу подключиться к портам 25 и 110 через Telnet, я смогу получать почту извне, или я ошибаюсь?
PS: Я настроил свой почтовый сервер, используя следующие 2 руководства:
Постфикс: http://centoshelp.org/servers/mail/postfix-mail-server-on-centos/
РЕДАКТИРОВАТЬ: netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1284/mysqld
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1313/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1313/dovecot
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1146/vsftpd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1008/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2573/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1802/sshd
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 2038/sshd
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 2357/sshd
tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN 2583/sshd
tcp 0 0 0.0.0.0:48001 0.0.0.0:* LISTEN 1767/sshd
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1313/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1313/dovecot
tcp 0 0 :::110 :::* LISTEN 1313/dovecot
tcp 0 0 :::143 :::* LISTEN 1313/dovecot
tcp 0 0 :::80 :::* LISTEN 1415/httpd
tcp 0 0 ::1:631 :::* LISTEN 1008/cupsd
tcp 0 0 ::1:25 :::* LISTEN 2573/master
tcp 0 0 ::1:6010 :::* LISTEN 1802/sshd
tcp 0 0 ::1:6011 :::* LISTEN 2038/sshd
tcp 0 0 ::1:6012 :::* LISTEN 2357/sshd
tcp 0 0 ::1:6013 :::* LISTEN 2583/sshd
tcp 0 0 :::48001 :::* LISTEN 1767/sshd
tcp 0 0 :::993 :::* LISTEN 1313/dovecot
tcp 0 0 :::995 :::* LISTEN 1313/dovecot
РЕШЕНИЕ - ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ ФАЙЛ POSTFIX main.cf!
Я сделал небольшую ошибку в моем файле /etc/postfix/main.cf - по какой-то причине строка inet_interfaces = localhost НЕ была закомментирована, она отменяла правило inet_interfaces = all ... Еще раз спасибо за помощь, очень признателен. Теперь я также могу подключиться по телнету к 110 и 143.
Похоже, ваш почтовый сервер прослушивает только localhost, а не ваш публичный IP-адрес: tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
Измените конфигурацию, чтобы он прослушивал правильный IP-адрес. Быть уверенным сделать это правильно поскольку неправильно настроенные почтовые серверы являются нормой.