Резервный почтовый сервер postfix

Всем привет!!!

Сегодня я расскажу как настроить резервный почтовый сервер на базе Linux и postfix.

Недавно я рассказал как настроить почтовый сервер MailPlus на Synology NAS, но что будет если он перестанет работать или пропадет интернет? Почта просто потеряется и будет навсегда удалена. Что бы этого не произошло нужен резервный почтовый сервер.

Резервный почтовый сервер

Принцип работы резервного почтового сервера

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

Резервный почтовый сервер postfix

Я решил реализовать резервный почтовый сервер на VPS\VDS Мой выбор пал на Аренда VDS или VPS сервера, Дешевый хостинг | firstvds.ru так как тут был самый дешевый тариф. Сервер то нужен самый самый мелкий, ему хватило бы и 256М ОЗУ и 1 CPU и 10Г HDD. Поэтому берем самый мелкий и самый дешевый, который только есть. ОС я рекомендую Ubuntu. На момент написания статьи 20.04 LTS.


Если у вас два Synology NAS

Кстати, если у вас есть еще один Synology NAS то резервный почтовый сервер делается парой нажатий в настройках MailPlus сервера:

То есть, вам нужно добавить тут домен и настроить записи DNS, ниже я расскажу как это сделать.

Затем рекомендую настроить ретрансляцию на основной вервер

Где:

  • Сервер – основной mx
  • Домен – домен вашей почты
  • Правило получателей – сообщения, отправляемые на определенные адреса или в определенные домены, будут доставляться через назначенный сервер ретрансляции.

Установка postfix на резервном сервере

Так же не забывайте настроить Автоматическое обновление Linux Ubuntu • Александр Linux (bafista.ru) Боты не дремлют и заполучить свою жертву они хотят всегда.

Как только все установлено и есть доступ к нашему резервному серверу по SSH приступаем к настройке.

Первым делом установим сам postfix

sudo apt update
sudo upt upgrade
sudo reboot
# после ребута
sudo apt install postfix

Во время установки в Ubuntu нужно пройти некий псевдографический wizard

На первый вопрос отвечаем Internet site

Следующим этапом указываем ваш домен

Дальше пойдет процесс установки и настройки почтового сервера postfix

Если вы ввели что-то не так, то исправить можно командой sudo dpkg-reconfigure postfix она запустит такое же окно как и при инсталяции и задаст те же вопросы, но более подробно.

Настройка резервного почтового сервера postfix

Радактируем файл /etc/postfix/main.cf добавляя в него следующее:

relay_domains = вашдомен.ru

transport_maps = hash:/etc/postfix/transport

Затем создаем файл /etc/postfix/transport и добавляем в него следующее:

вашдомен.ru relay:[mail.вашдомен.ru]
или
вашдомен.ru smtp:[mail.вашдомен.ru]

*где – mail.вашдомен.ru это MX запись основного сервера.

На выбор две опции smtp или relay. Если этот почтовый сервер будет работать только для резервирования вашего основного почтового сервера, то разницы нет. Но если Этот почтовый сервер обслуживает еще какие-то домены и является для них основным, то нужно указать relay, что бы письма для вашего домена имели некий приоритет и быстрей смогли покинуть резервный серыер, когда основной заработает. Более подробно тут: Транспортные карты | Ретрансляция почты (flylib.com)

После создаем карту такой командой:

sudo postmap hash:/etc/postfix/transport

Рестартуем демон postfix командой:

sudo systemctl reload postfix

Все!!! Сервер настроен в качестве backup MX.

Добавляем резервный сервер в белый список (опционально)

Следующим этапом надо добавить резервный почтовый сервер в белый список на основном почтовом сервере. Если этого не сделать, то вся почта так и останется на резервном сервере, так как у него нет ни PTR записи, но DKIM. Хотя это действие опционально.

Настройка DNS записей

Теперь идите в настройки DNS на вашем хостинге, придумайте имя вашему резервному почтовому серверу например mail2.вашдомен.ru, добавте это имя в DNS запись типа А и укажите ип адрес резервного сервера. Затем в MX запись укажите mail2.вашдомен.ru с приоритетом больше чем основной сервер.

mail.вашдомен.ru  10 MX
mail2.вашдомен.ru 20 MX

На этом все. Теперь если с вашим основным почтовым сервером что-то случится, то почта будет приходить на резервный почтовый сервер. Последний будет ждать, когда вы почините основной и как только он начнет работать, вся скопившиеся почта на резервном сервере будет перенаправлена на основной.

Проверка работы резервного почтового сервера

Что бы это проверить я остановил основной сервер и отправил письма с mail.ru и gmail.com на свою почту. Письма пришли на резервный сервер, который не смог их перенаправить в основной и поместил эти письма в очередь:

Получил с mail.ru и не смог перенаправить на основной
Получил с gmail.com и не смог перенаправить на основной
Все не доставленные сообщения ждут доставки в очереди
Когда основной включился, сообщения покинули очередь резервного и успешно доставлены

Если письма попадают в спам

Есть еще нюанс, некоторые такие письма могут попадать в спам, как показано на скрине ниже. Для решения этой проблемы, в клиенте MailPlus откройте папку спам, выделите требуемое письмо и добавьте его в белый список. После этого, все сообщения с этого почтового адреса не будут попадать в спам. (я думаю неверный перевод, не белый список, а не спам должно было называться)


Потребление ресурсов на резервном почтовом сервере

Давайте посмотрим сколько весь этот резервный сервер потребляет ресурсов, начнем с ОЗУ:

165Мбайт занято ОЗУ

и сколько занято на диске:

5.4Гбайт занято на диске

Как видим, потребление весьма маленькое. Конечно когда оно поработает станет побольше, но не на много.

Дополнительные настройки. 

Можно изменить параметры очереди, например время жизни письма в очереди (по умолчанию maximal_queue_lifetime равен 5 дням):

#параметры доставки
queue_run_delay=3m
minimal_backoff_time=6m
maximal_backoff_time=9m
maximal_queue_lifetime=30d

#проверка IP спамеров через публичные базы
reject_rbl_client = sbl.spamhaus.org, cbl.abuseat.org, dul.dnsbl.sorbs.net

Так же можно отфильтровать спам еще больше:

# Запретить ETRN команду
smtpd_etrn_restrictions = reject
# Запретить VRFY команду
disable_vrfy_command = yes
# EHLO/HELO first
smtpd_helo_required = yes

smtpd_recipient_restrictions =
# rcpt to должен быть полным:test@gmail.com
 reject_non_fqdn_recipient,
# mail from должен быть полным:test@gmail.com
 reject_non_fqdn_sender,
# domain не существует mail from:
 reject_unknown_sender_domain,
# сообщение для несуществующего на нашем сервере домена -отклонять
 reject_unknown_recipient_domain,
#### граница правил выше для всех пользователей -ниже только для внешних
 permit_mynetworks,
# если письмо не для наших доменов -reject Postfix сообщает клиенту, что пересылка невозможна
# и основной запрет на relay
 reject_unauth_destination,
# клиент вместе с приветсвием должен передовать полное имя хоста
 reject_non_fqdn_hostname,
#клиент вместе с приветсвием должен передовать полное имя хоста, котором
#обязательно должна быть . и домен верхнего уровня
 reject_invalid_hostname,
 permit

smtpd_data_restrictions =
#противодействие программам массовой рассылки
 reject_unauth_pipelining,
#запрет пустого mail from:, когда 2 и больше rcpt to:
 reject_multi_recipient_bounce

Материалы по теме:

Postfix backup MX [АйТи бубен] (dieg.info)

IT-VT: Технологии и Техника: Backup MX Postfix – резервный почтовый сервер

Настройка пересылки почты в Postfix. Отправка через другой SMTP. Копирование входящих и исходящих (dmosk.ru)

VPS за 30 рублей в месяц (ruvds.com) – самый дешевый тариф 30р – это обман

Аренда VDS или VPS сервера, Дешевый хостинг | firstvds.ru – мой выбор

Как получить бесплатный VPS (VDS) сервер навсегда | SeoPulses | Яндекс Дзен (yandex.ru)

Регистрируем бесплатный (Always Free) VPS – сервер от Oracle навсегда, для сервисов Умного дома или чего-то другого… | Пикабу (pikabu.ru)

Почему я не использую DNSBL. В помощь начинающему постмастеру | WOLAND’s blog (wolandblog.com)

Подписаться
Уведомить о
guest
14 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии