Это сводит меня с ума… Linux Debian + postfix… /etc/postfix/main.cf содержит следующие строки:
smtpd_recipient_restrictions =
check_recipient_access hash:/etc/postfix/access,
reject_invalid_hostname,
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unauth_destination,
reject_unauth_pipelining,
reject_unknown_recipient_domain,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service unix:private/policyd-spf,
check_policy_service inet:127.0.0.1:10023,
permit_auth_destination,
reject
В настоящее время Postfix отклоняет входящие сообщения с одного IP-адреса:
[email protected]
SMTP error from remote mail server after RCPT TO:<[email protected]>:
host mail.server.ext [123.123.123.123]: 554 5.7.1 Service unavailable; Client host [234.234.234.234] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234
Хорошо…http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234сообщается об отсутствии в черном списке адреса 234.234.234.234 (очевидно, что IP-адрес 234.234.234.234 не является настоящим).
По той же причине было заблокировано около десятка писем, но каждый раз, когда я вручную запрашиваю RBL, IP-адрес оказывается чистым.
Кэширует ли postfix запросы в RBL? Что я упускаю?
Спасибо заранее за ваше время.
решение1
С точки зрения верхнего слоя, Postfix использует libc resolver для поиска DNS (включая RBL), поэтому поведение будет зависеть от библиотеки. Например, postfix всегда будет выполнять поиск через NS-сервер, определенный в/etc/resolv.conf.
Если NS-сервер имеет механизм кэширования, то postfix также получит результат кэширования.. Это также может произойти, если у вашего провайдера есть "DNS-перехват" (перенаправленный DNS-пакет на их NS-сервер). В этом случае вы также попадете в их кэш (если они его включат).
Чтобы проверить, что выводит DNS-поиск, вы можете использовать dig
команду. Например, проверьте, был ли IP-адрес 216.154.195.36 указан в cbl.abuseat.org.
$ dig 36.195.154.216.cbl.abuseat.org
; <<>> DiG 9.10.1-P1 <<>> 36.195.154.216.cbl.abuseat.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48609
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
Если возвращено значение NXDOMAIN, IP-адрес не был указан.
С точки зрения нижнего слоя, каждый smtpd
процесскэшировал собственные результаты поиска DNSBL. Эти результаты не передаются другим процессам Postfix. Каждый smtpd
процесс будет повторно использоваться до тех пор, покаmax_use
илиmax_idle
достигнуто. Когда smtpd
процесс умирает, кэш RBL также теряется. Когда новый smtpd
процесс был создан master
демоном,он подхватит новую конфигурациюна main.cf
(включая max_idle
и max_use
. Так что на самом деле нет необходимости перезапускать postfix.