В 2008 году я установил простой почтовый сервер (работающий под управлением ubuntu 8.04 LTS), чтобы позволить локальным контроллерам автоматизации без ограничений отправлять электронные сообщения о тревогах. Раньше я использовал gmx, но обнаружил, что если в учетной записи было много сигналов тревоги, что указывает на проблему, то gmx заблокировал бы ее. Я установил postfix, и он заработал. Затем мне нужно было разрешить этому типу контроллера отправлять сигналы тревоги с удаленных сайтов. Я установил правила брандмауэра для своего статического IP-адреса, и все в порядке.
Теперь я установил новый сервер под управлением ubuntu 12.04, делая то же самое, что и раньше. Локальные контроллеры могут без проблем подключаться к серверу и отправлять электронные письма. Однако, когда удаленные контроллеры пытаются подключиться, я вижу следующее в /var/log/mail.log:
23 августа 16:21:24 localhost postfix / smtpd [6709]: NOQUEUE: reject: RCPT from unknown [xx.xx.xx.xx]: 554 5.7.1: доступ к ретрансляции запрещен; от = до = proto = ESMTP helo =
Я обнаружил, что редактируя определенную строку в /etc/postfix/main.cf
позволяет отдельным удаленным IP-адресам подключаться и отправлять почту:
mynetworks = 127.0.0.0/8,10.102.0.0/16,xx.xx.xx.xx/32
где xx.xx.xx.xx - статический IP-адрес удаленного местоположения. Я сравнил файлы конфигурации между старым и новым сервером, и они в основном идентичны. Кто-нибудь знает, как заставить его работать как раньше?
«В основном то же самое» - не то же самое, что «то же самое». :)
Вам необходимо указать авторизованные IP-адреса в mynetworks
и скажите Postfix авторизовать их:
smtpd_recipient_restrictions =
permit_mynetworks,
Проверить virtual
файл для постфикса.
/etc/postfix/virtual:
# virtual-alias.domain anything (right-hand content does not matter)
# postmaster@virtual-alias.domain postmaster
# user1@virtual-alias.domain address1
# user2@virtual-alias.domain address2, address3
#
# The virtual-alias.domain anything entry is required for a
# virtual alias domain. Without this entry, mail is rejected
# with "relay access denied", or bounces with "mail loops
# back to myself".
Итак, чтобы решить проблему, необходимо правильно настроить SASL вместе с сертификатами. Я почти точно следовал этому руководству, и все заработало:
https://help.ubuntu.com/12.04/serverguide/postfix.html.
Меня сбило с толку то, что 8.04 он мне не понадобился. Очевидно обновление безопасности в postfix.