Tips & Triks

не ломается у того, кто ничего не делает...

Postfix backup MX

Рано или поздно наступает момент когда надежность получения почты очень важна для компании,
чтобы исключить риски пропадания писем в момент отказа оборудования или каналов связи, чаще
всего используются территориально разнесенные резервные mx. Ниже пример самого простого из них.

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


# cat /etc/postfix/main.conf
smtpd_banner = mx2.backup.ru ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no

# Allow TLS, usually use the same keys like in are other mx's
smtpd_use_tls = yes
smtpd_tls_always_issue_session_ids = yes
smtpd_tls_ask_ccert = no
smtpd_tls_auth_only = yes
smtpd_tls_CAfile = /etc/postfix/ssl/ca.crt
smtpd_tls_cert_file = /etc/postfix/ssl/smtp.cert
smtpd_tls_key_file = /etc/postfix/ssl/smtp.key
smtpd_tls_ciphers = export
smtpd_tls_dh1024_param_file = /etc/postfix/ssl/dh_1024.pem
smtpd_tls_dh512_param_file = /etc/postfix/ssl/dh_512.pem
smtpd_tls_exclude_ciphers = aNULL
smtpd_tls_exclude_ciphers = MD5, DES
smtpd_tls_exclude_ciphers = DES+MD5
smtpd_tls_exclude_ciphers = kEDH+aRSA
smtpd_tls_fingerprint_digest = sha1
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = TLSv1, SSLv3
smtpd_tls_protocols = TLSv1, SSLv3
smtpd_tls_received_header = yes
smtpd_tls_req_ccert = no
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 600s
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache


myhostname = mx2.backup.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#If we want deliver local mail
mydestination = mx2.backup.ru, localhost.backup.ru, localhost
relayhost =
#The list of domain what we allow relay as backup mx
relay_domains = $mydestination, backup.ru, bakup.ru, back-up.ru
relay_recipient_maps =
#List of local networks for simple acces to mx.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.11.0/24 192.168.99.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = ipv4

# This is case and test for mail
# Rejecting all spam mail
smtpd_client_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_rbl_client bl.spamcop.net,
  reject_rbl_client zen.spamhaus.org,
  permit

smtpd_helo_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_invalid_hostname,
  reject_unknown_client,
  reject_invalid_helo_hostname,
  reject_non_fqdn_helo_hostname,
  reject_unknown_helo_hostname,
  permit

smtpd_sender_restrictions =
  permit_mynetworks,
  reject_non_fqdn_sender,
  reject_unknown_sender_domain,
  permit_sasl_authenticated,
  permit

smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_pipelining,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unlisted_recipient,
  permit

# !!Transport for ours primary mx
transport_maps = hash:/etc/postfix/transport


Здесь мы указываем адреса primary mx для каждого домена, для которого мы являемся бэкапным mx.
Именно туда и будет пересылаться вся почта полученная данным backup mx
# cat /etc/postfix/transport
backup.ru :[191.11.12.1]
bakup.ru :[151.1.1.6]
back-up.ru :[95.22.32.186]


Так же, такая схема может быть использованна например в филиальной сети, если несколько ваших офисов используют один smtp, то установив в каждом филиале свой relay mx пользователи смогут быстро и надежно отправлять почту через него, а не ждать доступности основного smtp, в случаях проблем связи с ним. После восстановления канала такой relay перешлет все накопившуюся у себя почту основному mx.

Второй вариант это использовать данную схему не в качестве отказоустойчивой системы, а как балансировщик нагрузки, если сделать несколько mx равноправными, они будут снимать всю нагрузку в виде спама и прочих соединения, а почту прошедшую проверку пересылать уже на какой-нибудь внутренний mx. В случаях если у вас несколько тысяч ящиков, именно такая схемы использовалась в качестве, где postfix обрабатывал и принимал всю входящую почту и перенаправлял уже ее на корпоротивные communicated pro, объединенные в кластер.

Ricoh SP 3200SFOSPF поверх GRE туннелей в linux

Write a comment

New comments have been disabled for this post.

June 2012
M T W T F S S
May 2012July 2012
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30