Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
examples:postfix_multi_external_domains_and_lan_relay [2020-06-19 14:08] GreyWolf |
examples:postfix_multi_external_domains_and_lan_relay [2020-06-19 15:47] (текущий) GreyWolf [Ссылки] |
||
---|---|---|---|
Строка 15: | Строка 15: | ||
</diagram> | </diagram> | ||
- | FIXME | + | На одном сервере обслуживаются (взаимодействуют с WAN) несколько [[#external|внешних почтовых доменов]] (SMTP MTA), почтовые серверы которые обеспечивают работу этих доменов с пользователями находятся в локальной сети (LAN). |
+ | \\ [[#mx|Переключающий сервер]] обеспечивает взаимодействие между внешними почтовыми доменами и доменами внутри локальной сети. | ||
Пример реализован на [[postfix:postfix|]] с применением [[postfix:postfix#postmulti|технологии работы с несколькими экземплярами программы]]. | Пример реализован на [[postfix:postfix|]] с применением [[postfix:postfix#postmulti|технологии работы с несколькими экземплярами программы]]. | ||
{{anchor:external}} | {{anchor:external}} | ||
- | ====== Внешние домен ====== | + | ====== Внешний домен ====== |
FIXME | FIXME | ||
+ | |||
+ | Сначала нужно содать структру папок по [[postfix:postfix#postmulti|технологии работы с несколькими экземплярами программы]]. | ||
+ | <code bash> | ||
+ | postmulti -I postfix-domain1 -G in -e create | ||
+ | postmulti -i postfix-domain1 -e enable | ||
+ | </code> | ||
<code ini /etc/postfix/postfix-domain1/main.cf> | <code ini /etc/postfix/postfix-domain1/main.cf> | ||
Строка 59: | Строка 67: | ||
receive_override_options = no_address_mappings | receive_override_options = no_address_mappings | ||
transport_maps = hash:/etc/postfix-domain1/transport | transport_maps = hash:/etc/postfix-domain1/transport | ||
+ | </code> | ||
+ | |||
+ | Также в файл ''/etc/postfix/postfix-domain1/main.cf'' нужно вставить следующие настройки: | ||
+ | * [[postfix:postfix#security|Безопасность Рostfix]] | ||
+ | * [[dkim:dkim#postfix|DKIM]] | ||
+ | |||
+ | |||
+ | <code ini /etc/postfix/postfix-domain1/ldap-groups.cf> | ||
+ | bind = yes | ||
+ | version = 3 | ||
+ | server_host = ldap.domain1.ru | ||
+ | search_base = ou=groups,dc=domain1 | ||
+ | query_filter = (&(|(mail=%s)(mailRoutingAddress=%s))(objectclass=mailGroup)) | ||
+ | special_result_attribute = member | ||
+ | result_attribute = maildrop | ||
+ | </code> | ||
+ | |||
+ | <code ini /etc/postfix/postfix-domain1/ldap-users.cf> | ||
+ | bind = yes | ||
+ | version = 3 | ||
+ | server_host = ldap.domain1.ru | ||
+ | search_base = ou=users,dc=domain1 | ||
+ | query_filter = (&(!(l=disabled)) (|(mail=%s)(maildrop=%s))(objectclass=mailUser)) | ||
+ | result_attribute = maildrop | ||
+ | </code> | ||
+ | |||
+ | Таблицы: | ||
+ | <code ini /etc/postfix/postfix-domain1/transport> | ||
+ | domain1.ru smtp:АДРЕС_ПЕРЕКЛЮЧАЮЩЕГО_СЕРВЕРА | ||
+ | </code> | ||
+ | |||
+ | <code ini /etc/postfix/postfix-domain1/virtual> | ||
+ | test: info@domain1.ru | ||
+ | </code> | ||
+ | |||
+ | Скрипт для компиляции таблиц: | ||
+ | <code bash /etc/postfix/postfix-domain1/!update_db.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | postmap transport | ||
+ | postalias virtual | ||
</code> | </code> | ||
{{anchor:mx}} | {{anchor:mx}} | ||
====== Переключающий сервер ====== | ====== Переключающий сервер ====== | ||
+ | |||
+ | Сначала нужно содать структру папок по [[postfix:postfix#postmulti|технологии работы с несколькими экземплярами программы]]. | ||
+ | <code bash> | ||
+ | postmulti -I postfix-mx -G in -e create | ||
+ | postmulti -i postfix-mx -e enable | ||
+ | </code> | ||
<code ini /etc/postfix/postfix-mx/main.cf> | <code ini /etc/postfix/postfix-mx/main.cf> | ||
Строка 99: | Строка 154: | ||
+ | Таблицы: | ||
<code ini /etc/postfix-mx/table-in> | <code ini /etc/postfix-mx/table-in> | ||
@domain.ru smtp:mail.domain.ru:25 | @domain.ru smtp:mail.domain.ru:25 | ||
Строка 116: | Строка 172: | ||
Скрипт для компиляции таблиц: | Скрипт для компиляции таблиц: | ||
- | <code bash !update_db.sh> | + | <code bash /etc/postfix/postfix-mx/!update_db.sh> |
#!/bin/bash | #!/bin/bash | ||
- | |||
- | cd /etc/postfix-mx | ||
postmap transport table-in table-out | postmap transport table-in table-out | ||
postalias virtual | postalias virtual | ||
</code> | </code> | ||
- | ====== Ссылки ====== | + | |