Поиск по сайту:

Как настроить и интегрировать службы iRedMail с Samba4 AD DC. Часть 11


В этом руководстве вы узнаете, как изменить основные демоны iRedMail, которые предоставляют почтовые службы, соответственно, Postfix, используемый для передачи почты, и Dovecot, который доставляет почту в почтовые ящики учетных записей, чтобы интегрировать их обоих в контроллер домена Samba4 Active Directory.

Интегрировав iRedMail в Samba4 AD DC, вы получите следующие возможности: аутентификация пользователей, управление и статус через Samba AD DC, создание списков почты с помощью групп AD и глобальной адресной книги LDAP в Roundcube.

Требования

  1. Установите iRedMail на CentOS 7 для интеграции Samba4 AD

Шаг 1. Подготовьте систему iRedMail для интеграции Sama4 AD.

1. На первом этапе вам необходимо назначить статический IP-адрес для вашего компьютера, если вы используете динамический IP-адрес, предоставленный DHCP-сервером.

Запустите команду ifconfig, чтобы просмотреть имена сетевых интерфейсов вашего компьютера, и отредактируйте соответствующий сетевой интерфейс с вашими пользовательскими настройками IP, введя команду nmtui-edit для правильного сетевого адаптера.

Запустите команду nmtui-edit с правами root.

ifconfig
nmtui-edit eno16777736

2. После того, как сетевой интерфейс открыт для редактирования, добавьте правильные настройки статического IP-адреса, обязательно добавьте IP-адреса DNS-серверов вашего контроллера домена Samba4 AD и имя вашего домена для запроса область с вашей машины. Используйте скриншот ниже в качестве руководства.

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

systemctl restart network.service
cat /etc/resolv.conf     # verify DNS resolver configuration if the correct DNS servers IPs are queried for domain resolution
ping -c2 tecmint.lan     # Ping domain name
ping -c2 adc1            # Ping first AD DC
ping -c2 adc2            # Ping second AD DC

4. Затем синхронизируйте время с контроллером домена Samba, установив пакет ntpdate, и запросите NTP-сервер машины Samba4, выполнив следующие команды:

yum install ntpdate
ntpdate -qu tecmint.lan      # querry domain NTP servers
ntpdate tecmint.lan          # Sync time with the domain

5. Возможно, вы захотите, чтобы местное время автоматически синхронизировалось с сервером времени Samba AD. Чтобы добиться этого параметра, добавьте запланированное задание, которое будет запускаться каждый час, введя команду crontab -e, и добавьте следующую строку:

0   */1	  *   *   *   /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1

Шаг 2. Подготовьте Samba4 AD DC для интеграции с iRedMail.

6. Теперь перейдите на компьютер под управлением Windows с установленными инструментами RSAT для управления Samba4 Active Directory, как описано в этом руководстве здесь.

Откройте Диспетчер DNS, перейдите в Зоны прямого просмотра своего домена и добавьте новую запись A, запись MX и запись PTR, указывающая на IP-адрес вашей системы iRedMail. Используйте приведенные ниже скриншоты в качестве руководства.

Добавьте запись A (соответственно замените имя и IP-адрес компьютера iRedMail).

Добавьте запись MX (оставьте дочерний домен пустым и добавьте приоритет 10 для этого почтового сервера).

Добавьте запись PTR, расширив ее до Зоны обратного просмотра (соответственно замените IP-адрес сервера iRedMail). Если вы еще не настроили обратную зону для своего контроллера домена, прочтите следующее руководство:

  1. Управление групповой политикой Samba4 DNS из Windows

7. После добавления основных записей DNS, обеспечивающих правильную работу почтового сервера, перейдите на компьютер iRedMail, установите пакет bind-utils и запросите недавно добавленный почтовые записи, как предложено в приведенном ниже отрывке.

DNS-сервер Samba4 AD DC должен ответить DNS-записями, добавленными на предыдущем шаге.

yum install bind-utils
host tecmint.lan
host mail.tecmint.lan
host 192.168.1.245

На компьютере под управлением Windows откройте окно Командная строка и введите команду nslookup для указанных выше записей почтового сервера.

8. В качестве последнего предварительного требования создайте новую учетную запись пользователя с минимальными привилегиями в Samba4 AD DC с именем vmail, выберите для этого пользователя надежный пароль и убедитесь, что срок действия пароля этого пользователя никогда не истекает.

Учетная запись пользователя vmail будет использоваться службами iRedMail для запроса базы данных Samba4 AD DC LDAP и получения учетных записей электронной почты.

Чтобы создать учетную запись vmail, используйте графический инструмент ADUC на компьютере Windows, присоединенном к области с установленными инструментами RSAT, как показано на снимках экрана ниже, или используйте командную строку samba-tool непосредственно с контроллера домена, как описано в следующем разделе.

  1. Управление Active Directory Samba4 из командной строки Linux

В этом руководстве мы будем использовать первый метод, упомянутый выше.

9. В системе iRedMail проверьте способность пользователя vmail запрашивать базу данных Samba4 AD DC LDAP, выполнив приведенную ниже команду. Возвращаемый результат должен представлять собой общее количество записей объектов для вашего домена, как показано на скриншотах ниже.

ldapsearch -x -h tecmint.lan -D '[email ' -W -b 'cn=users,dc=tecmint,dc=lan'

Примечание. Замените имя домена и базовый dn LDAP в Samba4 AD ('cn=users,dc=tecmint,dc=lan' ) соответственно.

Шаг 3. Интегрируйте службы iRedMail в Samba4 AD DC.

10. Теперь пришло время вмешаться в службы iRedMail (Postfix, Dovecot и Roundcube), чтобы запросить у контроллера домена Samba4 почтовые учетные записи.

Первым сервисом, который будет изменен, станет агент MTA Postfix. Выполните следующие команды, чтобы отключить ряд настроек MTA, добавьте свое доменное имя в локальный домен Postfix и домены почтовых ящиков и используйте агент Dovecot для локальной доставки полученной почты в почтовые ящики пользователей.

postconf -e virtual_alias_maps=' '
postconf -e sender_bcc_maps=' '
postconf -e recipient_bcc_maps= ' '
postconf -e relay_domains=' '
postconf -e relay_recipient_maps=' '
postconf -e sender_dependent_relayhost_maps=' '
postconf -e smtpd_sasl_local_domain='tecmint.lan'	#Replace with your own domain
postconf -e virtual_mailbox_domains='tecmint.lan'	#Replace with your own domain	
postconf -e transport_maps='hash:/etc/postfix/transport'
postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'  # Check SMTP senders
postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'  # Check local mail accounts
postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'  # Check local mail lists
cp /etc/postfix/transport /etc/postfix/transport.backup	# Backup transport conf file
echo "tecmint.lan dovecot" > /etc/postfix/transport		# Add your domain with dovecot transport
cat /etc/postfix/transport					# Verify transport file
postmap hash:/etc/postfix/transport

11. Затем создайте файл конфигурации Postfix /etc/postfix/ad_sender_login_maps.cf с помощью вашего любимого текстового редактора и добавьте приведенную ниже конфигурацию.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel      = 0

12. Создайте /etc/postfix/ad_virtual_mailbox_maps.cf со следующей конфигурацией.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format   = %d/%u/Maildir/
debuglevel      = 0

13. Создайте /etc/postfix/ad_virtual_group_maps.cf с приведенной ниже конфигурацией.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

Во всех трех файлах конфигурации замените значения server_host, bind_dn, bind_pw и search_base, чтобы они отражали настройки вашего собственного домена. настройки.

14. Затем откройте основной файл конфигурации Postfix, найдите и отключите iRedAPD check_policy_service и smtpd_end_of_data_restrictions, добавив комментарий # перед следующими строками.

nano /etc/postfix/main.cf

Прокомментируйте следующие строки:

#check_policy_service inet:127.0.0.1:7777
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777

15. Теперь проверьте привязку Postfix к Samba AD, используя существующего пользователя домена и группу домена, выполнив серию запросов, как показано в следующих примерах.

Результат должен быть таким, как показано на скриншоте ниже.

postmap -q [email  ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_sender_login_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_virtual_group_maps.cf

Замените учетные записи пользователей и групп AD соответствующим образом. Кроме того, убедитесь, что к используемой вами группе AD назначено несколько пользователей AD.

16. На следующем шаге измените файл конфигурации Dovecot, чтобы запросить Samba4 AD DC. Откройте файл /etc/dovecot/dovecot-ldap.conf для редактирования и добавьте следующие строки.

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email 
dnpass          = ad_vmail_password
base            = dc=tecmint,dc=lan
scope           = subtree
deref           = never
user_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs      = userPassword=password
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/

Почтовый ящик учетной записи Samba4 AD будет храниться в папке /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ в системе Linux.

17. Убедитесь, что протоколы pop3 и imap включены в основном файле конфигурации dovecot. Убедитесь, что почтовые плагины quota и acl также включены, открыв файл /etc/dovecot/dovecot.conf и проверьте, присутствуют ли эти значения.

18. При желании, если вы хотите установить глобальную жесткую квоту, не превышающую максимум 500 МБ хранилища для каждого пользователя домена, добавьте следующую строку в /etc/dovecot/dovecot. conf файл.

quota_rule = *:storage=500M 

19. Наконец, чтобы применить все внесенные изменения, перезапустите и проверьте состояние демонов Postfix и Dovecot, выполнив приведенные ниже команды с правами root.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Чтобы проверить конфигурацию почтового сервера из командной строки с использованием протокола IMAP, используйте команду telnet или netcat, как показано в примере ниже.

nc localhost 143
a1 LOGIN ad_user@your_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Если вы можете выполнить вход в систему IMAP из командной строки с учетной записью пользователя Samba4, то сервер iRedMail, похоже, готов отправлять и получать почту для учетных записей Active Directory.

В следующем руководстве мы обсудим, как интегрировать веб-почту Roundcube с Samba4 AD DC, включить глобальную адресную книгу LDAP, настроить Roudcube, получить доступ к веб-интерфейсу Roundcube из браузера и отключить некоторые ненужные службы iRedMail.