Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
postfix_dovecot_active_directory [2013/05/08 15:33] metallic |
postfix_dovecot_active_directory [2013/05/08 18:17] metallic [Введение] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Почта Postfix + Dovecot с интеграцией в MS Active Directory ====== | ====== Почта Postfix + Dovecot с интеграцией в MS Active Directory ====== | ||
===== Введение ===== | ===== Введение ===== | ||
- | В данной статье я хочу структурировать клочки информации по теме, которые мне удалось найти в интернете. Данная тема не новая, но внятного-понятно howto, с пояснениями и т.д. найти не удалось, | + | В данной статье я хочу структурировать клочки информации по теме, которые мне удалось найти в интернете. Данная тема не новая, но внятного-понятного howto, с пояснениями и т.д. найти не удалось, |
Итак, в данном мануале будет рассмотрен вопрос разворачивания внутренней корпоративной почты, т.е. почта которая работает только в пределах локальной сети, для внутренних нужд организации, | Итак, в данном мануале будет рассмотрен вопрос разворачивания внутренней корпоративной почты, т.е. почта которая работает только в пределах локальной сети, для внутренних нужд организации, | ||
Строка 7: | Строка 7: | ||
Итак, имеем домен под управлением Windows Server 2012, режим леса и режим домена - 2012. Почтовый сервер - GNU/Debian 7.0 (Postfix 2.9, Dovecot 2.1). | Итак, имеем домен под управлением Windows Server 2012, режим леса и режим домена - 2012. Почтовый сервер - GNU/Debian 7.0 (Postfix 2.9, Dovecot 2.1). | ||
+ | |||
+ | ===== Установка ===== | ||
+ | |||
+ | Устанавливаем все необходимое | ||
+ | < | ||
+ | # apt-get install dovecot-common dovecot-ldap dovecot-imapd dovecot-pop3d postfix postfix-ldap | ||
+ | </ | ||
===== Dovecot ===== | ===== Dovecot ===== | ||
Строка 45: | Строка 52: | ||
# никакого смысла, | # никакого смысла, | ||
# показывать как это делать) и смотрим идентификатор этого пользователя и идентификатор его группы | # показывать как это делать) и смотрим идентификатор этого пользователя и идентификатор его группы | ||
- | # (id vmail), затем вписываем их в параметры ниже. Теперь вся почта будет принадлежать пользователю vmail. | + | # (id vmail), затем вписываем их в параметры ниже. Теперь вся почта будет принадлежать пользователю vmail. |
+ | # Поля, в которых Dovecot ищет нужную информацию задаются параметром user_attrs. | ||
| | ||
mail_uid = 1001 | mail_uid = 1001 | ||
Строка 109: | Строка 117: | ||
# Фильтрация пользователей. Также указываем по чему будем идентифицировать их. Если домен AD и | # Фильтрация пользователей. Также указываем по чему будем идентифицировать их. Если домен AD и | ||
# почтовый домен совпадают - проще всего по userPrincipalName, | # почтовый домен совпадают - проще всего по userPrincipalName, | ||
+ | # При желании можно с помощью побитовых фильтров отсечь заблокированных пользователей: | ||
+ | # user_filter = (& | ||
+ | # pass_filter = (& | ||
+ | | ||
user_filter = (& | user_filter = (& | ||
pass_filter = (& | pass_filter = (& | ||
Строка 118: | Строка 130: | ||
===== Postfix ===== | ===== Postfix ===== | ||
+ | Конфиг Postfix привожу целиком, | ||
+ | / | ||
+ | # Понятное дело, тут надо указать свой адрес интерфейса | ||
+ | inet_interfaces = 192.168.0.10 | ||
+ | smtpd_banner = $myhostname ESMTP ready | ||
+ | biff = no | ||
+ | append_dot_mydomain = no | ||
+ | | ||
+ | # Включаем TLS | ||
+ | smtpd_tls_cert_file=/ | ||
+ | smtpd_tls_key_file=/ | ||
+ | smtpd_use_tls=yes | ||
+ | smtpd_tls_session_cache_database = btree: | ||
+ | smtp_tls_session_cache_database = btree: | ||
+ | | ||
+ | # Base parameters | ||
+ | | ||
+ | myhostname = mail.domail.local | ||
+ | alias_maps = hash:/ | ||
+ | alias_database = hash:/ | ||
+ | myorigin = domail.local | ||
+ | mydomain = domail.local | ||
+ | mydestination = $myhostname, | ||
+ | relayhost = | ||
+ | mynetworks = 127.0.0.0/ | ||
+ | recipient_delimiter = + | ||
+ | inet_interfaces = all | ||
+ | unknown_local_recipient_reject_code = 550 | ||
+ | debug_peer_level = 2 | ||
+ | debug_peer_list = 127.0.0.1, domail.local | ||
+ | message_size_limit = 50000000 | ||
+ | | ||
+ | # ---------------------- VIRTUAL DOMAINS START ---------------------- | ||
+ | virtual_transport = dovecot | ||
+ | virtual_mailbox_base | ||
+ | virtual_mailbox_domains | ||
+ | | ||
+ | # Указываем на конфиг, | ||
+ | virtual_mailbox_maps | ||
+ | | ||
+ | # Указываем на конфиги, | ||
+ | virtual_alias_maps | ||
+ | | ||
+ | virtual_minimum_uid | ||
+ | | ||
+ | # Идентификатор пользователя vmail | ||
+ | virtual_uid_maps | ||
+ | virtual_gid_maps | ||
+ | virtual_transport | ||
+ | dovecot_destination_recipient_limit = 1 | ||
+ | # ---------------------- VIRTUAL DOMAINS END ---------------------- | ||
+ | | ||
+ | # Т.к. у меня почта локальная, | ||
+ | smtpd_recipient_restrictions = check_recipient_access hash: | ||
+ | smtpd_sender_restrictions = check_sender_access hash: | ||
+ | |||
+ | В этот файл, в конец добавялем описание транспорта Dovecot / | ||
+ | # Dovecot LDA | ||
+ | dovecot | ||
+ | flags=DRhu user=vmail: | ||
+ | | ||
+ | / | ||
+ | # Адрес LDAP-сервера, | ||
+ | server_host = ldap:// | ||
+ | | ||
+ | # Где искать пользователей | ||
+ | search_base = ou=AllUsers, | ||
+ | version = 3 | ||
+ | | ||
+ | # По какому полю идентифицируем пользователей | ||
+ | query_filter = (& | ||
+ | result_attribute = userPrincipalName | ||
+ | | ||
+ | result_format = %u/ | ||
+ | bind_dn = reader@domain.local | ||
+ | bind_pw = passw0rd | ||
+ | cache = no | ||
+ | |||
+ | / | ||
+ | version = 3 | ||
+ | server_host = ldap:// | ||
+ | search_base = ou=AllUsers, | ||
+ | timeout = 3 | ||
+ | | ||
+ | # Поле, в котором будем искать почтовые псевдонимы. Я использовал mail, т.к. оно доступно через редактирование свойств пользователя | ||
+ | # стандартными средствами, | ||
+ | # псевдонимов, | ||
+ | # query_filter = (otherMailbox=%s) | ||
+ | # но в этом случае придется его редактировать через ADSI edit, что не очень удобно. | ||
+ | # Альтернативный вариант - добавить в main.conf в секцию virtual_alias_maps еще один аналогичный файл, только с otherMailbox вместо mail, | ||
+ | # тогда псевдонимы будут просматриваться в обоих местах. | ||
+ | | ||
+ | query_filter = (mail=%s) | ||
+ | | ||
+ | result_filter = %s | ||
+ | result_attribute = userPrincipalName | ||
+ | special_result_attribute = member | ||
+ | scope = sub | ||
+ | bind = yes | ||
+ | bind_dn = reader@burut.org | ||
+ | bind_pw = readerpass | ||
+ | | ||
+ | / | ||
+ | #debuglevel = 0 | ||
+ | version = 3 | ||
+ | server_host = ldap:// | ||
+ | search_base = ou=AllUsers, | ||
+ | timeout = 3 | ||
+ | | ||
+ | # Запрашиваем группы распространения(специальный тип групп в AD), отфильтровываем мы их с помощью sAMAccountType=268435457, | ||
+ | # любого объекта можно также через ADSI edit, у групп распространения он соответствует 268435457 | ||
+ | | ||
+ | query_filter = (& | ||
+ | | ||
+ | result_filter = %s | ||
+ | result_attribute = userPrincipalName | ||
+ | special_result_attribute = member | ||
+ | scope = sub | ||
+ | bind = yes | ||
+ | bind_dn = reader@domain.local | ||
+ | bind_pw = passw0rd | ||
+ | |||
+ | Чтобы создать группу рассылки, | ||
+ | |||
+ | Теперь создаем список разрешенных доменов (он у нас один). | ||
+ | < | ||
+ | # echo " | ||
+ | |||
+ | # postmap / | ||
+ | </ | ||
+ | |||
+ | На этом настройка закончена, | ||
+ | |||
+ | ===== Почтовый клиент ===== | ||
+ | Настройка почтового клиента никаких особых хитростей не имеет, единственное что надо учитывать, | ||
+ | |||
+ | Также, при условии, | ||
+ | |||
+ | Для этого заходим в параметры учетной записи -> Составление и адресация -> Адресация, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | В появившемся окне жмем " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Кликаем несколько раз ОК и в последнем окне выбираем наш каталог и еще раз кликаем ОК. Все, на этом настройка завершена. | ||
+ | |||
+ | {{ : | ||
+ | ===== Использованная литература ===== | ||
+ | |||
+ | - [[http:// | ||
+ | - [[http:// | ||
+ | - [[http:// | ||
+ |