Postfix backup MX

Основная задача backup MX это принять входящую почту в случаи неполадок или отсутствия соединения с основным почтовым сервером. Желательно резервный сервер установить в датацентре альтернативного провайдера.

Настройка backup MX

  1. Настройка Раздел DNS: Что такое DNS: PTR запись для IP резервного сервера Postfix: PTR обратный просмотр DNS
  2. Настройка Раздел DNS: Что такое DNS: MX записи. Если МХ настроены правильно, команда host выведет для домена maindomen.net информацию, где предпоследняя строка указывает на основной почтовый сервер (приоритет равен 0), последняя строка указвает на наш резервный сервер (приоритет равен 10):
    # host maindomen.net
    maindomen.net has address 176.xxx.xxx.xxx
    maindomen.net mail is handled by 0 mail.maindomen.net
    maindomen.net mail is handled by 10 mailstore.domen2.net
  3. Указать домены, от которых сообщения будут приниматься для ретрансляции. С помощью параметра relay_domains Postfix определяет список доменов, для которых он осуществляет пересылку (домены перечисляются через запятую).
    relay_domains = maindomen.net, mail.example.com
  4. Создать карту, в которой нужно указать сервер(а), на который будут ретранслироваться сообщения
    transport_maps = hash:/etc/postfix/transport
    # nano /etc/postfix/transport
    maindomen.net relay:[195.xxx.xxx.xxx]
    mail.example.com relay:[195.100.xxx.26]
    
    # postmap hash:/etc/postfix/transport

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

  5. Дополнительные настройки. Можно изменить параметры очереди, например время жизни письма в очереди (по умолчанию maximal_queue_lifetime равен 5 дням):
    queue_run_delay=3m
    minimal_backoff_time=6m
    maximal_backoff_time=9m
    maximal_queue_lifetime=4d
  6. Фильтрация спама на уровне SMTP протокола. Зачем нам хранить потенциальный спам, если его можно отбросить сразу.
    # Запретить 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
PQ VPS сервера в 28+ странах.