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

настроен новый почтовый сервер, Postfix, Dovecot, MariaDB, Rspamd и Redis основные компоненты, в Arch, не могут отправлять или получать почту

Dovecot сообщает о логинах при попытке отправки (через T'bird). Один из сайтов онлайн-тестирования электронной почты сообщил: Server 'HELO' line: 220-mail.mydomain.tld ESMTP Postfix Итак, мы знаем, что служба SMTP готова, но следует следующее: Warning: Expected on ESMTP return code of '250' capabilities code in response to our 'EHLO'. Got '' Отправка электронного письма с внешнего адреса просто приводит к отказу в соединении со стороны отправителя и отсутствию ответа или записи в журнале на сервере.

Systemctl status postfix.service показывает Postfix как работающий, но с жалобой на то, что он не может подключиться к 127.0.0.1:11332: fatal: host/service localhost/11332 not found: Device or resource busy.

Я не знаю, является ли это проблемой Postfix, Rspamd, Redis или брандмауэра, и даже если это связано с опечаткой, такой как пропущенная точка с запятой, скобка или цитата, которую я не смог найти. База данных vmail выглядит надежной, и Dovecot, очевидно, принимает от локальных зарегистрированных пользователей.

Поэтому мне нужно понять, как найти эту проблему, то есть на что смотреть и в каком порядке. Я прочитал установленные мной файлы, документацию для Rspamd и Redis и не знаю, что делать дальше.

Вот результаты postconf -n и postconf -M:

append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1h
inet_interfaces = 127.0.0.1, ::1, xxx.xxx.xxx.xx, xxxx:xxx:xx:xxxx::2
local_recipient_maps = $virtual_mailbox_maps
mailbox_size_limit = 0
maximal_backoff_time = 15m
maximal_queue_lifetime = 1h
message_size_limit = 52428800
milter_default_action = accept
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_protocol = 6
minimal_backoff_time = 5m
mua_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject
mua_relay_restrictions = reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_mynetworks,permit_sasl_authenticated,reject
mua_sender_restrictions = permit_mynetworks,reject_non_fqdn_sender,reject_sender_login_mismatch,permit_sasl_authenticated,reject
myhostname = mail.dominame.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
non_smtpd_milters = inet:localhost:11332
postscreen_access_list = permit_mynetworks cidr:/etc/postfix/postscreen_access
postscreen_blacklist_action = drop
postscreen_dnsbl_action = drop
postscreen_dnsbl_sites = ix.dnsbl.manitu.net*2 zen.spamhaus.org*2
postscreen_dnsbl_threshold = 2
postscreen_greet_action = drop
queue_run_delay = 5m
recipient_delimiter = +
smtp_dns_support_level = dnssec
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_ciphers = high
smtp_tls_policy_maps = mysql:/etc/postfix/sql/tls-policy.cf
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_security_level = dane
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_client_restrictions = permit_mynetworks check_client_access hash:/etc/postfix/without_ptr reject_unknown_client_hostname
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
smtpd_milters = inet:localhost:11332
smtpd_recipient_restrictions = check_recipient_access mysql:/etc/postfix/sql/recipient-access.cf
smtpd_relay_restrictions = reject_non_fqdn_recipient reject_unknown_recipient_domain permit_mynetworks reject_unauth_destination
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.xxxxxxxx.xxx/fullchain.pem
smtpd_tls_ciphers = high
smtpd_tls_key_file = /etc/letsencrypt/live/mail.xxxxxxxx.xxx/privkey.pem
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
tls_preempt_cipherlist = yes
tls_ssl_options = NO_COMPRESSION
virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf
virtual_mailbox_domains = mysql:/etc/postfix/sql/domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/sql/accounts.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
[root@hostname ~]# 
smtp       inet  n       -       y       -       1       postscreen -o smtpd_sasl_auth_enable=no
smtpd      pass  -       -       y       -       -       smtpd
dnsblog    unix  -       -       y       -       0       dnsblog
tlsproxy   unix  -       -       y       -       0       tlsproxy
submission inet  n       -       y       -       -       smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_client_restrictions=$mua_client_restrictions -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_relay_restrictions=$mua_relay_restrictions -o milter_macro_daemon_name=ORIGINATING -o smtpd_sender_login_maps=mysql:/etc/postfix/sql/sender-login-maps.cf -o smtpd_helo_required=no -o smtpd_helo_restrictions= -o cleanup_service_name=submission-header-cleanup
pickup     unix  n       -       y       60      1       pickup
cleanup    unix  n       -       y       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       y       1000?   1       tlsmgr
rewrite    unix  -       -       y       -       -       trivial-rewrite
bounce     unix  -       -       y       -       0       bounce
defer      unix  -       -       y       -       0       bounce
trace      unix  -       -       y       -       0       bounce
verify     unix  -       -       y       -       1       verify
flush      unix  n       -       y       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       y       -       -       smtp
relay      unix  -       -       y       -       -       smtp
showq      unix  n       -       y       -       -       showq
error      unix  -       -       y       -       -       error
retry      unix  -       -       y       -       -       error
discard    unix  -       -       y       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       y       -       -       lmtp
anvil      unix  -       -       y       -       1       anvil
scache     unix  -       -       y       -       1       scache
submission-header-cleanup unix n - n     -       0       cleanup -o header_checks=regexp:/etc/postfix/submission_header_cleanup

Я попытался расшифровать этот почтовый сервер с отличного почтового сервера Томаса Лейстера на Debian Stretch, который я успешно использовал в другом месте на Debian. Arch работает по-другому в небольших, но ключевых аспектах.

Linux mail 5.5.13-arch2-1 #1 SMP PREEMPT Mon, 30 Mar 2020 20:42:41 +0000 x86_64 GNU/Linux
~]# cat /etc/*release*   
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux```

@davidgo указал путь, который я искал. Я предполагал, что после преодоления этого первоначального препятствия будет больше ошибок. Ответ заключался в том, чтобы закомментировать инструкцию milter, которую я нашел в main.cf.

После комментирования 2 строк в /etc/postfix/main.cf, smtpd_milters = inet:localhost:11332 и non_smtpd_milters = inet:localhost:11332 Я действительно смог увидеть более информативные ответы журнала и начал получать отчеты об отказе, также показательные.

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

Я думаю у вас конфликты портов.

Давайте начнем с основ и рассмотрим, в чем может быть проблема ...

1. Do a port  scan ( using nmap - install if you dont have it )  
   on the localhost 

   # nmap -v localhost -p1-9999

2. Do a port scan from the LAN

   # nmap -v ip.address.of.server -p1-9999

Вышеупомянутое покажет вам, ВСЕ ли порты, которые должны быть открыты, открыты, и что у вас нет проблем с конфигурацией брандмауэра, или что программы имеют конфликтующие порты.

Следующий,

3. Check the logs of the services that  you are running. 
   That will shed more light on the issue.

Кроме того, было бы полезно, если бы вы могли предоставить нам результаты команд (из терминала) ниже.

4. cat /etc/*release*   
5. uname -a      

Вышеупомянутое позволит нам узнать, какую ОС вы используете, и есть ли какие-либо проблемы, связанные с ОС, которые вам, возможно, придется изучить.

Если приведенное выше не дает подсказки, я бы предложил запускать одну службу за раз - заставьте ее работать, прежде чем добавлять другую службу. Это поможет нам узнать, какая услуга является триггером.