При попытке 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-адрес сети, когда запрос отправляется с другого хоста в той же сети (тогда как все другие запущенные службы принимают их).