Jump to content
Калькуляторы

Dovecot+postfix проблема с отправкой почты

Что установлено:

1) Debian

2) postfix+dovecot+postfixadmin+mysql

3) внутренняя сеть 10.0.0.0/24

4) внешний IP - 1.1.1.1

5) сервер почтовый - 10.0.0.2

6) интернет сервер (раздает интернет в сеть) - 10.0.0.1

 

Что работает корректно:

1) отправка и получение с компьютера в локальной сети (с 10.0.0.3) идет нормально

2) получение почты через интернет (подключаюсь к адресу mail.mydomain.ru с ПК в интернете программой thebat)

 

Что работает некорректно:

1) отправка почты с удаленного ПК в интернете через smtp mail.mydomain.ru не работает

 15.06.2015, 14:37:25: FETCH - Подключение к POP3-серверу mail.mydomain.ru через порт 110
15.06.2015, 14:37:25: SEND  - Отправка почты - писем в очереди: 1
15.06.2015, 14:37:25: SEND  - Подключение к SMTP-серверу mail.mydomain.ru через порт 25
15.06.2015, 14:37:25: FETCH - Соединение с POP3 сервером прошло удачно
15.06.2015, 14:37:25: FETCH - Аутентификация прошла успешно (Обычный метод)
15.06.2015, 14:37:25: FETCH - На сервере писем: 30, из них новых: 0
15.06.2015, 14:37:25: FETCH - Соединение завершено - получено писем: 0
!15.06.2015, 14:37:46: SEND  - Невозможно соединиться с сервером. Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение

 

Конфиги:

main.cf на 10.0.0.2

#smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_banner = $myhostname
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = mail.mydomain.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# myorigin = $myhostname
mynetworks = 10.0.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/virtual-alias-maps.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

 

iptables на 10.0.0.1

-A PREROUTING -p tcp -m tcp -d 1.1.1.1/32 --dport 25 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -p tcp -m tcp -d 1.1.1.1/32 --dport 110 -j DNAT --to-destination 10.0.0.2

Edited by Kizim

Share this post


Link to post
Share on other sites

C:\Users\ZloeZlo>telnet 1.1.1.1 25
Подключение к 1.1.1.1...Не удалось открыть подключение к этому узлу, на
порт 25: Сбой подключения

хотя postfix должен отвечать, не пойму как так то, 110 нормально работает, а 25 не желает

Share this post


Link to post
Share on other sites

И добавьте логгирование всех пакетов, не попадающих в правила:

 

iptables -A INPUT -p DROP

iptables -A FORWARD -p DROP

iptables -A OUTPUT -p DROP

 

###

#тут-ваши-правила

###

 

-A INPUT -j LOG --log-prefix "IN-DROP: "

-A FORWARD -j LOG --log-prefix "FW-DROP: "

-A OUTPUT -j LOG --log-prefix "OUT-DROP: "

 

Хотя, много где дроп по-умолчанию стоит только на INPUT, а OUTPUT и FORWARD -p ACCEPT...

Share this post


Link to post
Share on other sites

А что с forward - разрешено?

 

все разрешено на 10.0.0.2 (mx сервер), пустой iptables.

10.0.0.1(инет) тоже пробую на правилах практически пустых, 3 строки минимальных

# Generated by iptables-save v1.4.14 on Mon Jun 15 16:34:38 2015
*mangle
:PREROUTING ACCEPT [577502:462727679]
:INPUT ACCEPT [237745:170971049]
:FORWARD ACCEPT [339751:291756111]
:OUTPUT ACCEPT [245797:171706839]
:POSTROUTING ACCEPT [585506:463456300]
COMMIT
# Completed on Mon Jun 15 16:34:38 2015
# Generated by iptables-save v1.4.14 on Mon Jun 15 16:34:38 2015
*filter
:INPUT ACCEPT [237745:170971049]
:FORWARD ACCEPT [339753:291759071]
:OUTPUT ACCEPT [245755:171700189]
COMMIT
# Completed on Mon Jun 15 16:34:38 2015
# Generated by iptables-save v1.4.14 on Mon Jun 15 16:34:38 2015
*nat
:PREROUTING ACCEPT [16083:965122]
:INPUT ACCEPT [10788:599381]
:OUTPUT ACCEPT [3162:189730]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -d 1.1.1.1/32 --dport 25 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -p tcp -m tcp -d 1.1.1.1/32 --dport 110 -j DNAT --to-destination 10.0.0.2
-A POSTROUTING -o eth0.201 -j MASQUERADE
COMMIT
# Completed on Mon Jun 15 16:34:38 2015

eth0.201 - внешка

 

telnet на 110 порт - работает нормально, на 25 - не отвечает сервер, хотя из локальной сети ответ есть нормально

где-то в постфиксе есть конфиг разрешающий/запрещающий сети/сетевые?

Edited by Kizim

Share this post


Link to post
Share on other sites

смотрите через netstat что именно слушает постфикс.

если не уверены то

https://www.digitalocean.com/community/tutorials/how-to-use-netcat-to-establish-and-test-tcp-and-udp-connections-on-a-vps

и тем самым поймете это проблема поста или машинки.

Share this post


Link to post
Share on other sites

смотрите через netstat что именно слушает постфикс.

если не уверены то

https://www.digitalocean.com/community/tutorials/how-to-use-netcat-to-establish-and-test-tcp-and-udp-connections-on-a-vps

и тем самым поймете это проблема поста или машинки.

 

вот результат

root@mail:~# netstat -antpu | grep 25
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      3825/dovecot    
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      3825/dovecot    
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      21839/master  

 

завтра попробую напрямую интернет подключить, в обход 10.0.0.1, так хоть проблема локализуется

Edited by Kizim

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Сделал, если кому интересно, по умолчанию билайн включает файервол, который закрывает 25 порт. После его отключения в ЛК билайна не забывайте перезапускать сессию.

Edited by Kizim

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.