Website-Suche

So konfigurieren und integrieren Sie iRedMail-Dienste in Samba4 AD DC – Teil 11


In diesem Tutorial erfahren Sie, wie Sie die Hauptdaemons von iRedMail, die E-Mail-Dienste bereitstellen, bzw. Postfix für die E-Mail-Übertragung und Dovecot, das E-Mails an Kontopostfächer liefert, ändern, 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, Erstellung von Maillisten mithilfe von AD-Gruppen und globales LDAP-Adressbuch in Roundcube.

Anforderungen

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

Schritt 1: Bereiten Sie das iRedMail-System für die Sama4 AD-Integration vor

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 Ihrer Maschinen aufzulisten und die richtige Netzwerkschnittstelle mit Ihren benutzerdefinierten IP-Einstellungen zu bearbeiten, indem Sie den Befehl nmtui-edit für die richtige Netzwerkkarte ausführen.

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

ifconfig
nmtui-edit eno16777736

2. Sobald die Netzwerkschnittstelle zum Bearbeiten geöffnet ist, fügen Sie die richtigen statischen IP-Einstellungen hinzu. Stellen Sie sicher, dass Sie die IP-Adressen der DNS-Server Ihres Samba4 AD DC und den Namen Ihrer Domäne hinzufügen, um die abzufragen Bereich von Ihrer Maschine. Verwenden Sie den folgenden Screenshot als Leitfaden.

3. Nachdem Sie die Konfiguration der Netzwerkschnittstelle abgeschlossen haben, starten Sie den Netzwerkdämon neu, um die Änderungen zu übernehmen und eine Reihe von Ping-Befehlen für den Domänennamen und die FQDNs 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 den NTP-Server der Samba4-Maschine abfragen, 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 lokale Zeit automatisch mit dem Samba AD-Zeitserver synchronisiert wird. Um diese Einstellung zu erreichen, fügen Sie einen geplanten Job hinzu, der stündlich ausgeführt wird, indem Sie den Befehl crontab -e ausführen und die folgende Zeile anhängen:

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

Schritt 2: Bereiten Sie Samba4 AD DC für die iRedMail-Integration vor

6. Wechseln Sie nun zu einem Windows-Computer mit installierten RSAT-Tools, um Samba4 Active Directory zu verwalten, wie in diesem Tutorial hier beschrieben.

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

Fügen Sie den Eintrag A hinzu (ersetzen Sie den Namen und die IP-Adresse des iRedMail-Computers entsprechend).

Fügen Sie einen MX-Eintrag hinzu (lassen Sie die untergeordnete Domäne 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 Zones erweitern (ersetzen Sie die IP-Adresse des iRedMail-Servers entsprechend). Falls Sie bisher noch keine Reverse-Zone für Ihren Domänencontroller konfiguriert haben, lesen Sie das folgende Tutorial:

  1. Verwalten Sie die Samba4-DNS-Gruppenrichtlinie von Windows aus

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

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

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-Datensätze ein.

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

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 mit dem Realm verbundenen Windows-Computer mit installierten RSAT-Tools, wie in den folgenden Screenshots dargestellt, oder verwenden Sie die Samba-Tool-Befehlszeile direkt von einem Domänencontroller aus, wie im folgenden Thema erläutert.

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

In dieser Anleitung 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 ausgeben. 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 Domänennamen und den LDAP-Basis-DN in Samba4 AD ('cn=users,dc=tecmint,dc=lan' ) entsprechend.

Schritt 3: iRedMail-Dienste in Samba4 AD DC integrieren

10. Jetzt ist es an der Zeit, die iRedMail-Dienste (Postfix, Dovecot und Roundcube) zu manipulieren, um den Samba4-Domänencontroller 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, Ihren Domänennamen zu den lokalen Domänen- und Postfachdomänen von Postfix hinzuzufügen und den Dovecot-Agenten zu verwenden, um empfangene E-Mails lokal an Benutzerpostfächer zuzustellen.

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 Postfix-Konfigurationsdatei /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 von server_host, bind_dn, bind_pw und search_base, um Ihre eigenen Domänengewohnheiten widerzuspiegeln Einstellungen.

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

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 mithilfe eines vorhandenen Domänenbenutzers und einer Domänengruppe, indem Sie eine Reihe von Abfragen ausführen, wie in den folgenden Beispielen dargestellt.

Das Ergebnis sollte ähnlich sein wie im folgenden 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. Im nächsten Schritt ändern Sie die Dovecot-Konfigurationsdatei, um Samba4 AD DC abzufragen. Öffnen Sie die Datei /etc/dovecot/dovecot-ldap.conf zum Bearbeiten 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 Dovecot-Hauptkonfigurationsdatei aktiviert sind. Überprüfen Sie, ob die 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 hartes Kontingent festlegen möchten, um das Maximum von 500 MB Speicher für jeden Domänenbenutzer nicht zu überschreiten, fügen Sie die folgende Zeile in /etc/dovecot/dovecot hinzu. conf-Datei.

quota_rule = *:storage=500M 

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

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Um die Mailserverkonfiguration ü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 erfahren Sie, wie Sie Roundcube-Webmail in 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.