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

postfix - в соединении отказано из-за NAT

При попытке telnet postfix с другого хоста в той же локальной сети через полное доменное имя (и, следовательно, общедоступный IP-адрес локальной сети) возникает следующая ошибка:

root@mailer:/var/log# telnet mail.domain.com 25
Trying 1.2.3.4...
telnet: Unable to connect to remote host: Connection refused

Однако другие службы могут быть доступны с того же хоста:

root@mailer:/var/log# telnet mail.domain.com 22
Trying 1.2.3.4...
Connected to mail.domain.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u1

Чтобы сделать ситуацию более интригующей, к Postfix можно получить доступ извне LAN:

nunos-mbp:mailog nzimas$ telnet mail.domain.com 25
Trying 1.2.3.4...
Connected to mail.domain.com.
Escape character is '^]'.
220 mail.domain.com ESMTP Postfix (Ubuntu)

Подводя итог:

а) Postfix (запущенный 10.10.10.4 / mail.domiain.com) отказывается от соединения с хоста в той же локальной сети (10.10.10.2), но только при запросе через полное доменное имя (mail.domain.com)

б) mail.domain.com принимает подключения к другим сервисам (кроме Postfix) с 10.10.10.2

c) mail.domain.com принимает подключения ко всем сервисам, включая Postfix, из внешнего мира

Если бы это была проблема брандмауэра, то я считаю, что было бы невозможно подключиться к какой-либо службе с 10.10.10.2 через полное доменное имя / общедоступный IP-адрес. Это должен быть какой-то отсутствующий параметр в Postfix, хотя я пока не нашел четких указателей.

Добавление 10.10.10.4 mail.domain.com в / etc / hosts в 10.10.10.2 решило проблему. Таким образом, публичный IP-адрес полностью игнорируется.

По-прежнему интересно, почему Postfix отклоняет соединения через общедоступный IP-адрес сети, когда запрос отправляется с другого хоста в той же сети (тогда как все другие запущенные службы принимают их).