Website-Suche

Konfigurieren und Integrieren von iRedMail-Diensten in Samba4 AD DC - Teil 11


In diesem Tutorial erfahren Sie, wie Sie die iRedMail-Hauptdaemons ändern, die E-Mail-Dienste bereitstellen, bzw. Postfix, das für die E-Mail-Übertragung verwendet wird, und Dovecot, das E-Mails an Kontenpostfächer übermittelt, um beide in den Samba4 Active Directory Domain Controller zu integrieren.

Durch die Integration von iRedMail in einen Samba4 AD DC profitieren Sie von folgenden Funktionen: Benutzerauthentifizierung, Verwaltung und Status über Samba AD DC, Erstellen von Mailinglisten mit Hilfe von AD-Gruppen und Global LDAP Adressbuch in Roundcube.

Anforderungen

  1. Installieren Sie iRedMail auf CentOS 7 für die Samba4 AD-Integration

Schritt 1: Vorbereiten des iRedMail-Systems für die Sama4 AD-Integration

1. Im ersten Schritt müssen Sie Ihrem Gerät eine statische IP-Adresse zuweisen, falls Sie eine dynamische IP-Adresse verwenden, die von einem DHCP-Server bereitgestellt wird.

Führen Sie den Befehl ifconfig aus, um die Namen der Netzwerkschnittstellen Ihres Computers aufzulisten, und bearbeiten Sie die richtige Netzwerkschnittstelle mit Ihren benutzerdefinierten IP-Einstellungen, indem Sie den Befehl nmtui-edit für die richtige Netzwerkkarte ausgeben.

Führen Sie den Befehl nmtui-edit mit Root-Rechten aus.

# ifconfig
nmtui-edit eno16777736

2. Sobald die Netzwerkschnittstelle zur Bearbeitung geöffnet ist, fügen Sie die richtigen statischen IP-Einstellungen hinzu und stellen Sie sicher, dass Sie die IP-Adressen der DNS-Server Ihres Samba4 AD DC und den Namen Ihrer Domäne hinzufügen, um den Bereich von Ihrem Computer aus abzufragen. Verwenden Sie den folgenden Screenshot als Richtlinie.

3. Nachdem Sie die Konfiguration der Netzwerkschnittstelle abgeschlossen haben, starten Sie den Netzwerk-Daemon neu, um die Änderungen zu übernehmen und eine Reihe von Ping-Befehlen für die FQDNs des Domänennamens und der samba4-Domänencontroller auszugeben.

# 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. Synchronisieren Sie als Nächstes die Zeit mit dem Samba-Domänencontroller, indem Sie das ntpdate-Paket installieren, und fragen Sie den NTP-Server des Samba4-Computers ab, indem Sie die folgenden Befehle ausführen:

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

5. Möglicherweise möchten Sie, dass die Ortszeit automatisch mit dem Samba-AD-Zeitserver synchronisiert wird. Um diese Einstellung zu erreichen, fügen Sie einen geplanten Auftrag hinzu, der stündlich ausgeführt wird, indem Sie den Befehl crontab -e eingeben und die folgende Zeile anhängen:

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

Schritt 2: Vorbereiten des Samba4 AD DC für die iRedMail-Integration

6. Wechseln Sie nun zu einem Windows-Rechner, auf dem RSAT-Tools installiert sind, um Samba4 Active Directory zu verwalten, wie in diesem Tutorial hier beschrieben.

Öffnen Sie den DNS-Manager, gehen Sie zu den Forward-Lookup-Zonen Ihrer Domain und fügen Sie einen neuen A-Eintrag, einen MX-Eintrag und einen PTR-Eintrag hinzu, um auf die IP-Adresse Ihres iRedMail-Systems zu verweisen. Verwenden Sie die folgenden Screenshots als Richtlinie.

Fügen Sie einen Eintrag hinzu (ersetzen Sie den Namen und die IP-Adresse des iRedMail-Geräts entsprechend).

MX-Eintrag hinzufügen (lassen Sie die untergeordnete Domain leer und fügen Sie eine Priorität von 10 für diesen Mailserver hinzu).

Fügen Sie einen PTR-Eintrag hinzu, indem Sie ihn auf Reverse-Lookup-Zonen erweitern (ersetzen Sie die IP-Adresse des iRedMail-Servers entsprechend). Falls Sie bisher keine Reversezone für Ihren Domänencontroller konfiguriert haben, lesen Sie das folgende Tutorial:

  1. Verwalten der Samba4-DNS-Gruppenrichtlinie von Windows aus

7. Nachdem Sie die grundlegenden DNS-Einträge hinzugefügt haben, mit denen ein Mailserver ordnungsgemäß funktioniert, wechseln Sie zum iRedMail-Computer, installieren Sie das bind-utils-Paket und fragen Sie die neu hinzugefügten Mail-Einträge ab, wie im folgenden Auszug vorgeschlagen.

Der Samba4 AD DC DNS-Server sollte mit den DNS-Einträgen antworten, die im vorherigen Schritt hinzugefügt wurden.

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

Öffnen Sie auf einem Windows-Computer ein Eingabeaufforderungsfenster und geben Sie den Befehl nslookup für die oben genannten Mailserver-Einträge ein.

8. Erstellen Sie als letzte Voraussetzung ein neues Benutzerkonto mit minimalen Rechten in Samba4 AD DC mit dem Namen vmail, wählen Sie ein sicheres Passwort für diesen Benutzer und stellen Sie sicher, dass das Passwort für diesen Benutzer nie abläuft.

Das vmail-Benutzerkonto wird von iRedMail-Diensten verwendet, um die Samba4 AD DC LDAP-Datenbank abzufragen und die E-Mail-Konten abzurufen.

Um das vmail-Konto zu erstellen, verwenden Sie das grafische ADUC-Tool von einem Windows-Computer aus, der mit dem Bereich verbunden ist, auf dem RSAT-Tools installiert sind, wie in den folgenden Screenshots dargestellt, oder verwenden Sie die Befehlszeile samba-tool direkt von einem Domänencontroller, wie im folgenden Thema erläutert.

  1. Verwalten von Samba4 Active Directory über die Linux-Befehlszeile

In diesem Leitfaden verwenden wir die erste oben erwähnte Methode.

9. Testen Sie im iRedMail-System die Fähigkeit des vmail-Benutzers, die Samba4 AD DC LDAP-Datenbank abzufragen, indem Sie den folgenden Befehl eingeben. Das zurückgegebene Ergebnis sollte die Gesamtzahl der Objekteinträge für Ihre Domain sein, wie in den folgenden Screenshots dargestellt.

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

Hinweis: Ersetzen Sie den Domainnamen und den LDAP-Basis-dn in Samba4 AD ('cn=users,dc=tecmint,dc=lan') entsprechend.

Schritt 3: Integrieren von iRedMail-Diensten in Samba4 AD DC

10. Jetzt ist es an der Zeit, die iRedMail-Dienste (Postfix, Dovecot und Roundcube) zu manipulieren, um den Samba4 Domain Controller nach E-Mail-Konten abzufragen.

Der erste Dienst, der geändert wird, ist der MTA-Agent Postfix. Geben Sie die folgenden Befehle ein, um eine Reihe von MTA-Einstellungen zu deaktivieren, fügen Sie Ihren Domänennamen zu den lokalen Postfix-Domänen und Postfachdomänen hinzu und verwenden Sie den Dovecot-Agenten, um empfangene E-Mails lokal an Benutzerpostfächer zu übermitteln.

# 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. Erstellen Sie als Nächstes die Konfigurationsdatei Postfix /etc/postfix/ad_sender_login_maps.cf mit Ihrem bevorzugten Texteditor und fügen Sie die folgende Konfiguration hinzu.

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. Erstellen Sie /etc/postfix/ad_virtual_mailbox_maps.cf mit der folgenden 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. Erstellen Sie /etc/postfix/ad_virtual_group_maps.cf mit der folgenden 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

Ersetzen Sie in allen drei Konfigurationsdateien die Werte aus server_host, bind_dn, bind_pw und search_base, um Ihre eigenen benutzerdefinierten Domäneneinstellungen widerzuspiegeln.

14. Öffnen Sie als Nächstes die Postfix-Hauptkonfigurationsdatei und suchen und deaktivieren Sie iRedAPD-check_policy_service und -smtpd_end_of_data_restrictions, indem Sie einen Kommentar # vor den folgenden Zeilen hinzufügen.

# nano /etc/postfix/main.cf

Kommentieren Sie die folgenden Zeilen:

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

15. Überprüfen Sie nun die Postfix-Bindung an Samba AD mit einem vorhandenen Domänenbenutzer und einer Domänengruppe, indem Sie eine Reihe von Abfragen ausgeben, wie in den folgenden Beispielen dargestellt.

Das Ergebnis sollte ähnlich sein, wie auf dem untenstehenden Screenshot dargestellt.

# 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

Ersetzen Sie AD-Benutzer- und Gruppenkonten entsprechend. Stellen Sie außerdem sicher, dass der von Ihnen verwendeten AD-Gruppe einige AD-Benutzermitglieder zugewiesen sind.

16. Ändern Sie im nächsten Schritt die Dovecot-Konfigurationsdatei, um Samba4 AD DC abzufragen. Öffnen Sie die Datei /etc/dovecot/dovecot-ldap.conf zur Bearbeitung und fügen Sie die folgenden Zeilen hinzu.

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/

Das Postfach eines Samba4 AD-Kontos wird im Verzeichnis /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ auf dem Linux-System gespeichert.

17. Stellen Sie sicher, dass die Protokolle pop3 und imap in der Hauptkonfigurationsdatei von dovecot aktiviert sind. Überprüfen Sie, ob Quota- und Acl-Mail-Plugins ebenfalls aktiviert sind, indem Sie die Datei /etc/dovecot/dovecot.conf öffnen und prüfen, ob diese Werte vorhanden sind.

18. Wenn Sie optional ein globales festes Kontingent festlegen möchten, das die maximale Speicherkapazität von 500 MB für jeden Domänenbenutzer nicht überschreitet, fügen Sie die folgende Zeile in die Datei /etc/dovecot/dovecot.conf ein.

quota_rule = *:storage=500M 

19. Um alle bisher vorgenommenen Änderungen zu übernehmen, starten Sie die Daemons Postfix und Dovecot neu und überprüfen Sie den Status, indem Sie die folgenden Befehle mit Root-Rechten ausgeben.

# systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Um die Konfiguration des E-Mail-Servers über die Befehlszeile mit dem IMAP-Protokoll zu testen, verwenden Sie den Befehl telnet oder netcat, wie im folgenden Beispiel dargestellt.

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

Wenn Sie eine IMAP-Anmeldung über die Befehlszeile mit einem Samba4-Benutzerkonto durchführen können, scheint der iRedMail-Server bereit zu sein, E-Mails für Active Directory-Konten zu senden und zu empfangen.

Im nächsten Tutorial wird erläutert, wie Sie Roundcube-Webmail mit Samba4 AD DC integrieren und das globale LDAP-Adressbuch aktivieren, Roudcube anpassen, über einen Browser auf die Roundcube-Weboberfläche zugreifen und einige nicht benötigte iRedMail-Dienste deaktivieren.

Verwandte Artikel: