Резервный почтовый сервер, или Backup MX

Есть организация с внутренним почтовым сервером на exchange.
Который штатно работает себе и работает.
Но бывают случаи, когда может отвалиться интернет, или сервер упал на время, или у вас плановые работы и нужно на какое то время отключить почтовый сервер.
Но потерять всю входящую почту для 100 человек не очень хочется.
Учитывая, что клиенты будут видеть сообщение о том, что не удалось доставить письмо.

Для того, что бы такая ситуация не произошла нам нужен резервный почтовый сервер/пересыльщик.

И так, что нужно:

Покупаем VPS в минимальной конфигурации у любого хостера, что захотим )

Ну как минимальной достаточно будет:

CPU: 1 core
RAM: 512 mb
DISK: 5 GB

Учитывая, что это будет просто пересыльщик на всякий случай, особой производительности или слишком большого диска нам не надо.

Далее устанавливаем postfix.

# yum install postfix

Хотя может он уже и используется по умолчанию.

Как это было у меня.

Далее конфигурируем

vi /etc/postfix/main.cf

На самом деле все, что нужно это указать вот эти опции:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
relay_domains = $mydestination, example.com

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

relay_recipient_maps =

Все остальное можно использовать из дефолтного конфига.

ВНИМАНЕИЕ !!
НЕ нужно указывать опции
mydestination
virtual_alias_domains
virtual_mailbox_domains

После конфигурирования ребутаем демона:

# systemctl restart postfix

Вот весь мой конфиг:

[root@backup-mx postfix]# cat main.cf
# backup mx
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains = example.com
relay_recipient_maps =
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
smtpd_recipient_restrictions =
permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination

Проверить работу можно в логах:

# tail -f /var/log/maillog

если все настроено верно, увидите сообщения вроде этих:
Jun 6 18:29:16 mail postfix/smtp[17746]: AF814144146: to=<someuser@example.com>, relay=mx2.example.com[1.2.3.5], delay=1, status=sent (250 2.0.0 Ok: queued as DCA5A1BF40F)

Резервный почтовый сервер, или Backup MX: 2 комментария

  1. tezeks

    Нобходимо настроить наш сервер как резервный Backup MX для отдельных клиентов. Ситуацию усложняет необходимость иметь несколько активных ящиков на нашем сервере, вне зависимости есть они или нету на основном почтовом сервере. Зачем же это было нужно?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *