Итак, я вижу следующую ошибку Helo command rejected: Host not found;
в /var/log/syslog
, но когда я выполняю прямой и обратный поиск на рассматриваемом хосте, записи DNS кажутся разумными. Рассматриваемый почтовый сервер, endor
, в остальном, похоже, нормально получает почту.
Почему Postfix говорит это (и второй бонусный вопрос: есть ли параметр, который я должен изменить, чтобы исправить это?)
Адреса электронной почты изменены в целях конфиденциальности:
Jul 20 23:35:20 endor postfix/smtpd[1503]: NOQUEUE: reject: RCPT from
bdmrob01-2.metavante.com[206.71.18.21]: 450 4.7.1
<bdmrob02.metavante.com>: Helo command rejected: Host not found;
from=<bbankingonline@mybank.com>
to=<myemail@fqdn.org> proto=ESMTP
helo=<bdmrob02.metavante.com>
Но DNS выглядит нормально:
endor% dig bdmrob01-2.metavante.com
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> bdmrob01-2.metavante.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32487
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;bdmrob01-2.metavante.com. IN A
;; ANSWER SECTION:
bdmrob01-2.metavante.com. 600 IN A 206.71.18.21
endor% dig -x 206.71.18.21
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> -x 206.71.18.21
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40586
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;21.18.71.206.in-addr.arpa. IN PTR
;; ANSWER SECTION:
21.18.71.206.in-addr.arpa. 600 IN PTR bdmrob01-2.metavante.com.
Я должен упомянуть, что main.cf говорит:
smtpd_helo_restrictions =
reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,reject_unknown_helo_hostname
Ответ все время смотрел нам в глаза.
Postfix ищет A
и PTR
записи для хоста, приветствующего его HELO
. Или, точнее, хозяин, что хозяин говорит это в его сообщении HELO. Давайте разберемся:
Jul 20 23:35:20 endor postfix/smtpd[1503]: NOQUEUE: reject: RCPT from
bdmrob01-2.metavante.com[206.71.18.21]:
Хост по имени bdmrob01-2.metavante.com
который разрешается в IP-адрес 206.71.18.21
устанавливает TCP-соединение с вашим почтовым сервером.
Итак, вы проверили IP-адрес на наличие записи A:
endor% dig bdmrob01-2.metavante.com
[...]
;; ANSWER SECTION:
bdmrob01-2.metavante.com. 600 IN A 206.71.18.21
А затем вы проверили его на наличие PTR-записи:
endor% dig -x 206.71.18.21
;; ANSWER SECTION:
21.18.71.206.in-addr.arpa. 600 IN PTR bdmrob01-2.metavante.com.
Все выглядит хорошо. Так в чем проблема? Подключившийся хост определенно был идентифицирован по указанному выше имени хоста и IP-адресу, но в нем не говорилось, кто это был. Он сказал:
helo=<bdmrob02.metavante.com>
У этого хоста есть запись A:
$ dig a bdmrob02.metavante.com
[...]
;; ANSWER SECTION:
bdmrob02.metavante.com. 0 IN A 92.242.140.2
НО, его IP-адрес не имеет PTR
запись:
$ dig -x 92.242.140.2
[...]
;; ANSWER SECTION:
2.140.242.92.in-addr.arpa. 84155 IN PTR unallocated.barefruit.co.uk.
Это проблема с их стороны. А пока тебе придется либо жить с этим, либо измените свой постфиксный сервер, чтобы не беспокоиться о прямом и обратном поиске на HELO
команды.
В духе того, чтобы собрать полезную информацию в одном месте, я хочу добавить немного к правильному ответу @wesley, который заключается в том, что есть промежуточная точка между невыполнением прямого и обратного просмотра, которая представляет собой белый список, описанный здесь: