Инструменты пользователя

Инструменты сайта


examples:postfix_multi_external_domains_and_lan_relay

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
examples:postfix_multi_external_domains_and_lan_relay [2020-06-19 12:19]
GreyWolf [Переключающий сервер]
examples:postfix_multi_external_domains_and_lan_relay [2020-06-19 15:47] (текущий)
GreyWolf [Ссылки]
Строка 2: Строка 2:
 ~~TOC wide~~ ~~TOC wide~~
  
-FIXME+<​diagram>​ 
 +|WAN|WAN{border-color:​silver;​background-color:​silver;​}=**Интернет** 
 +||!@1| 
 +||!@4|F|~|~|~|~|~|~|~|~|~|~|~|~|7| 
 +|Ext||Ext_1| |Ext_2| |Ext_n|:​|Ext{border-color:#​a9c}=**[[#​external|Внешние домены]]**|Ext_1=Внешний домен 1|Ext_2=Внешний домен 2|Ext_n=Внешний домен n 
 +||!@1|L|~|~|~|~|~|~|~|~|~|~|~|~|J| 
 +||!@4| 
 +|MX|MX{border-color:#​a9c}=**[[#​mx|Переключающий сервер]]** 
 +||!@1| 
 +||!@4| 
 +|LAN|LAN{border-color:​silver;​background-color:​silver;​}=**Локальная сеть** 
 +</​diagram>​ 
 + 
 +На одном сервере обслуживаются (взаимодействуют с WAN) несколько [[#​external|внешних почтовых доменов]] (SMTP MTA), почтовые серверы которые обеспечивают работу этих доменов с пользователями находятся в локальной сети (LAN).  
 +\\ [[#​mx|Переключающий сервер]] обеспечивает взаимодействие между внешними почтовыми доменами и доменами внутри локальной сети. 
  
 Пример реализован на [[postfix:​postfix|]] с применением [[postfix:​postfix#​postmulti|технологии работы с несколькими экземплярами программы]]. Пример реализован на [[postfix:​postfix|]] с применением [[postfix:​postfix#​postmulti|технологии работы с несколькими экземплярами программы]].
  
 +{{anchor:​external}}
 +====== Внешний домен ======
 +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>​
 +unknown_local_recipient_reject_code = 550
 +readme_directory = no
 +inet_protocols = ipv4
 +recipient_delimiter = +
 +compatibility_level=2
 +
 +multi_instance_enable = yes
 +multi_instance_group = special
 +multi_instance_name = postfix-domain1
 +data_directory=/​var/​lib/​postfix-domain1
 +queue_directory = /​var/​spool/​postfix-domain1
 +
 +
 +mynetworks = 127.0.0.0/8 АДРЕС_И_МАСКА_ЛОКАЛЬНОЙ_СЕТИ
 +
 +myhostname = mail.domain1.ru
 +smtpd_proxy_ehlo = mail.domain1.ru
 +smtpd_banner = $myhostname ESMTP
 +
 +inet_interfaces = 111.222.333.444
 +smtp_bind_address = 111.222.333.444
 +
 +mydestination = domain1.ru
 +relayhost =
 +
 +delay_warning_time = 4h
 +
 +
 +virtual_alias_maps =
 +    hash:/​etc/​postfix-domain1/​virtual
 +    ldap:/​etc/​postfix-domain1/​ldap-users.cf
 +    ldap:/​etc/​postfix-domain1/​ldap-groups.cf
 +
 +receive_override_options = no_address_mappings
 +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>​
  
 {{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>​
Строка 45: Строка 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
Строка 60: Строка 170:
 test:          info@domain.ru test:          info@domain.ru
 </​code>​ </​code>​
-====== ​Ссылки ​======+ 
 +Скрипт для компиляции таблиц: 
 +<code bash /​etc/​postfix/​postfix-mx/​!update_db.sh>​ 
 +#​!/​bin/​bash 
 + 
 +postmap transport table-in table-out 
 +postalias virtual 
 +</​code>​ 
  
  
examples/postfix_multi_external_domains_and_lan_relay.1592558371.txt.gz · Последние изменения: 2020-06-19 12:19 — GreyWolf