Sådan konfigureres og integreres iRedMail-tjenester til Samba4 AD DC - del 11


I denne vejledning lærer du, hvordan du ændrer iRedMail-hoveddæmoner, der leverer henholdsvis mailservices, Samba4 Active Directory Domain Controller.

Ved at integrere iRedMail til en Samba4 AD DC får du fordel af følgende funktioner: brugergodkendelse, styring og status via Samba AD DC, opret maillister ved hjælp af AD-grupper og Global LDAP-adressebog i Roundcube.

  1. Installer iRedMail på CentOS 7 til Samba4 AD-integration

Trin 1: Forbered iRedMail-systemet til Sama4 AD-integration

1. På det første trin skal du tildele en statisk IP-adresse til din maskine, hvis du bruger en dynamisk IP-adresse leveret af en DHCP-server.

Kør kommandoen nmtui-edit mod det korrekte NIC.

Kør kommandoen nmtui-edit med root-rettigheder.

# ifconfig
# nmtui-edit eno16777736

2. Når netværksgrænsefladen er åbnet til redigering, skal du tilføje de korrekte statiske IP-indstillinger. Sørg for at tilføje DNS-serverne IP-adresser på din Samba4 AD DC og navnet på dit domæne for at spørge riget fra din maskine. Brug nedenstående skærmbillede som en vejledning.

3. Når du er færdig med at konfigurere netværksgrænsefladen, skal du genstarte netværksdæmonen for at anvende ændringer og udstede en række ping-kommandoer over domænenavnet og FQDN'erne til samba4-domænekontrollere.

# 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. Dernæst synkroniser tid med samba domænecontroller ved at installere ntpdate-pakken og forespørg Samba4-maskine NTP-server ved at udstede nedenstående kommandoer:

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

5. Du ønsker muligvis, at den lokale tid automatisk synkroniseres med samba AD-tidsserveren. For at opnå denne indstilling skal du tilføje et planlagt job, der skal køres hver time ved at udstede kommandoen crontab -e og tilføje følgende linje:

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

Trin 2: Forbered Samba4 AD DC til iRedMail-integration

6. Gå nu til et her.

Åbn DNS Manager, gå til dit domæne Forward Lookup Zones og tilføj en ny A-post, en MX-post og en PTR-post for at pege på din iRedMail-systemets IP-adresse. Brug nedenstående skærmbilleder som en vejledning.

Tilføj en post (udskift navnet og IP-adressen på iRedMail-maskinen i overensstemmelse hermed).

Tilføj MX-post (lad underordnet domæne være tomt, og tilføj en prioritet på 10 for denne mailserver).

Tilføj PTR-post ved at udvide til Reverse Lookup Zones (udskift iRedMail-serverens IP-adresse i overensstemmelse hermed). Hvis du hidtil ikke har konfigureret en omvendt zone til din domænecontroller, skal du læse følgende vejledning:

  1. Administrer Samba4 DNS-gruppepolitik fra Windows

7. Når du har tilføjet de grundlæggende DNS-poster, som får en mailserver til at fungere korrekt, skal du flytte til iRedMail-maskinen, installere bind-utils-pakken og forespørge på de nyligt tilføjede mail-poster som foreslået i nedenstående uddrag.

Samba4 AD DC DNS-server skal svare med de DNS-poster, der blev tilføjet i det foregående trin.

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

Fra en Windows-maskine skal du åbne et kommandopromptvindue og udstede nslookup-kommandoen over ovenstående mailserverposter.

8. Som et sidste krav skal du oprette en ny brugerkonto med minimale rettigheder i Samba4 AD DC med navnet vmail, vælge en stærk adgangskode til denne bruger og sørge for, at adgangskoden til denne bruger aldrig udløber.

Vmail-brugerkontoen vil blive brugt af iRedMail-tjenester til at forespørge Samba4 AD DC LDAP-database og trække e-mail-konti.

For at oprette vmail-kontoen skal du bruge det grafiske ADUC-værktøj fra en Windows-maskine, der er tilsluttet riget med RSAT-værktøjer installeret som illustreret på nedenstående skærmbilleder eller bruge samba-tool-kommandolinjen direkte fra en domænecontroller som forklaret i følgende emne.

  1. Administrer Samba4 Active Directory fra Linux Command Line

I denne vejledning bruger vi den første metode, der er nævnt ovenfor.

9. Fra iRedMail-systemet, test vmail-brugerens evne til at forespørge Samba4 AD DC LDAP-database ved at udstede kommandoen nedenfor. Det returnerede resultat skal være et samlet antal objektsposter for dit domæne som illustreret på nedenstående skærmbilleder.

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

Bemærk: Udskift domænenavnet og LDAP-base dn i Samba4 AD (‘cn = brugere, dc = tecmint, dc = lan’) i overensstemmelse hermed.

Trin 3: Integrer iRedMail Services til Samba4 AD DC

10. Nu er det tid til at manipulere med iRedMail-tjenester (Postfix, Dovecot og Roundcube) for at spørge Samba4 Domain Controller om mailkonti.

Den første tjeneste, der skal ændres, er MTA-agenten, Postfix. Udsted følgende kommandoer for at deaktivere en række MTA-indstillinger, tilføj dit domænenavn til Postfix lokale domæne og postkassedomæner og brug Dovecot-agent til at levere modtagne mails lokalt til brugerpostkasser.

# 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. Opret derefter Postfix /etc/postfix/ad_sender_login_maps.cf konfigurationsfil med din foretrukne teksteditor og tilføj nedenstående konfiguration.

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. Opret /etc/postfix/ad_virtual_mailbox_maps.cf med følgende konfiguration.

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. Opret /etc/postfix/ad_virtual_group_maps.cf med nedenstående konfiguration.

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

På alle tre konfigurationsfiler skal du erstatte værdierne fra server_host, bind_dn, bind_pw og search_base for at afspejle dine egne brugerdefinerede indstillinger.

14. Åbn derefter Postfix hovedkonfigurationsfil og søg og deaktiver iRedAPD check_policy_service og smtpd_end_of_data_restrictions ved at tilføje en kommentar # foran de følgende linjer.

# nano /etc/postfix/main.cf

Kommenter følgende linjer:

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

15. Bekræft nu Postfix-binding til Samba AD ved hjælp af en eksisterende domænebruger og en domænegruppe ved at udstede en række forespørgsler som vist i de følgende eksempler.

Resultatet skal være ens som illustreret på nedenstående skærmbillede.

# 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

Udskift AD-bruger- og gruppekonti i overensstemmelse hermed. Sørg også for, at den AD-gruppe, du bruger, har nogle AD-brugermedlemmer, der er tildelt den.

16. På det næste trin skal du ændre Dovecot-konfigurationsfilen for at forespørge Samba4 AD DC. Åbn fil /etc/dovecot/dovecot-ldap.conf til redigering og tilføj følgende linjer.

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/

Postkassen til en Samba4 AD-konto gemmes på /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ placering på Linux-systemet.

17. Sørg for, at pop3- og imap-protokoller er aktiveret i dovecot-hovedkonfigurationsfilen. Kontroller, om kvote- og acl-mail-plugins også er aktiveret ved at åbne filen /etc/dovecot/dovecot.conf , og kontroller om disse værdier er til stede.

18. Hvis du ønsker at indstille en global hård kvote til ikke at overstige det maksimale 500 MB lagerplads for hver domænebruger, skal du eventuelt tilføje følgende linje i /etc/dovecot/dovecot.conf-filen.

quota_rule = *:storage=500M 

19. Endelig skal du genstarte og kontrollere status for Postfix- og Dovecot-dæmoner for at anvende alle hidtil foretagne ændringer ved at udstede nedenstående kommandoer med rodrettigheder.

# systemctl restart postfix dovecot
# systemctl status postfix dovecot

20. For at teste mailserverkonfiguration fra kommandolinjen ved hjælp af IMAP-protokol skal du bruge telnet eller netcat-kommandoen som vist i nedenstående eksempel.

# nc localhost 143
a1 LOGIN [email _domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Hvis du kan udføre et IMAP-login fra kommandolinjen med en Samba4-brugerkonto, ser det ud til, at iRedMail-serveren er klar til at sende og modtage mail til Active Directory-konti.

På den næste vejledning diskuteres, hvordan man integrerer Roundcube-webmail med Samba4 AD DC og aktiverer Global LDAP-adressebog, tilpasser Roudcube, får adgang til Roundcube-webgrænsefladen fra en browser og deaktiverer nogle unødvendige iRedMail-tjenester.