Zimbra — ZimbraMtaMyNetworks

В данной статье рассмотрим включение отправки/ретрансляции почты из удаленных сетей.

В чем проблема.

Конфигурация postfix по умолчанию позволяет ретрансляцию только для локальной сети, но вы можете настроить postfix, чтобы разрешить ретрансляцию без каких-либо условий для произвольных хостов или сетей.

Когда может понадобиться это сделать.

  • Вы хотите разрешить машинам, которые не находятся в локальной сети, отправлять почту через сервер zimbra;
  • Вы наблюдаете ошибки «Relay Access Denied» в журнале MTA (/var/log/zimbra.log) для хостов или подсетей, которым вы доверяете для ретрансляции.
  • Вы наблюдаете ошибки «Relay Access Denied» в журнале MTA (/var/log/zimbra.log) для самого сервера zimbra.

Проверка текущей конфигурации.

Получаем текущее значение из postconf:

# su - zimbra
$ postconf mynetworks
mynetworks = 127.0.0.0/8 10.10.130.0/23

В результате выполнения команды мы увидим, что postfix будет ретранслировать для всех машин с IP-адресами 10.10.130.x и 10.10.131.x.

Убедитесь, что LAN-интерфейс самого сервера zimbra разрешен.

Если вы видите такие строки в /var/log/zimbra.log, когда пользователь веб-почты (например, «user@example.com») пытается отправить письмо (например, на «something@domain.com»):

Jun 28 06:39:23 zimbra postfix/smtpd[31788]: NOQUEUE: reject: 
RCPT from zimbra.example.com[10.10.130.10]: 554 <somebody@domain.com>: 
Relay access denied; from=<user@example.com> to=<somebody@domain.com> 
proto=SMTP helo=<zimbra.example.com>

Вероятно ваша конфигурация не позволяет ретрансляцию для сети 10.10.130.0/24:

postconf mynetworks
mynetworks = 127.0.0.0/8

Если вы хотите разрешить ретрансляцию всем остальным машинам в сети 10.10.130.0/24, настройте сервер следующим образом:

zmprov ms zimbra.example.com zimbraMtaMyNetworks '127.0.0.0/8 10.10.130.0/24'
postfix reload

Если вы не хотите разрешать ретрансляцию для сети, а только для самого сервера zimbra, настройте сервер следующим образом:

zmprov ms zimbra.example.com zimbraMtaMyNetworks '127.0.0.0/8 10.10.130.10/32'
postfix reload

Разрешение ретрансляции для удаленной машины.

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

postconf mynetworks
mynetworks = 127.0.0.0/8 10.10.130.0/24

Добавьте удаленную машину следующим образом:

zmprov ms zimbra.example.com zimbraMtaMyNetworks '127.0.0.0/8 10.10.130.0/24 10.10.200.25/32'
postfix reload

Разрешение ретрансляции для удаленной сети.

Допустим, у вас есть пользователи POP или IMAP в удаленной сети (например, 192.168.1.x с сетевой маской 255.255.255.0), и текущие настройки выглядят следующим образом:

postconf mynetworks
mynetworks = 127.0.0.0/8 10.10.130.0/24

Добавьте удаленную сеть следующим образом:

zmprov ms zimbra.example.com zimbraMtaMyNetworks '127.0.0.0/8 10.10.130.0/24 192.168.1.0/24'
postfix reload

Правила хорошего тона.

Не стоит бездумно разрешать ретрансляцию для сетей, в mynetworks необходимо добавить локальные интерфейсы почтового сервера, а так же доверенные узлы сети при необходимости.

Wiki ссылка.