Website-Suche

So richten Sie den Postfix Mail Server (SMTP) mithilfe der Null-Client-Konfiguration ein – Teil 9


Unabhängig von den vielen Online-Kommunikationsmethoden, die heute verfügbar sind, bleibt E-Mail eine praktische Möglichkeit, Nachrichten von einem Ende der Welt an ein anderes oder an eine Person zu übermitteln, die im Büro neben uns sitzt.

Das folgende Bild veranschaulicht den Prozess des E-Mail-Transports vom Absender bis zum Erreichen des Posteingangs des Empfängers:

Um dies zu ermöglichen, passieren mehrere Dinge hinter den Kulissen. Damit eine E-Mail-Nachricht von einer Client-Anwendung (wie Thunderbird, Outlook oder Webmail-Diensten wie Gmail oder Yahoo! Mail) an einen Mailserver übermittelt werden kann, und von dort zum Zielserver und schließlich zum vorgesehenen Empfänger muss auf jedem Server ein SMTP-Dienst (Simple Mail Transfer Protocol) vorhanden sein.

Aus diesem Grund erklären wir in diesem Artikel, wie man in RHEL 7 einen SMTP-Server einrichtet, auf dem von lokalen Benutzern (auch an andere lokale Benutzer) gesendete E-Mails weitergeleitet werden an einen zentralen Mailserver für einen einfacheren Zugriff.

In den Prüfungsanforderungen wird dies als Null-Client-Setup bezeichnet.

Unsere Testumgebung besteht aus einem ursprünglichen Mailserver und einem zentralen Mailserver oder Relayhost.


Original Mail Server: (hostname: box1.mydomain.com / IP: 192.168.0.18) 
Central Mail Server: (hostname: mail.mydomain.com / IP: 192.168.0.20)

Zur Namensauflösung verwenden wir auf beiden Boxen die bekannte Datei /etc/hosts:


192.168.0.18    box1.mydomain.com       box1
192.168.0.20    mail.mydomain.com       mail

Überlegungen zur Installation von Postfix und Firewall/SELinux

Zunächst müssen wir (auf beiden Servern) Folgendes tun:

1. Postfix installieren:


yum update && yum install postfix

2. Starten Sie den Dienst und aktivieren Sie ihn für die Ausführung bei zukünftigen Neustarts:


systemctl start postfix
systemctl enable postfix

3. E-Mail-Verkehr durch die Firewall zulassen:


firewall-cmd --permanent --add-service=smtp
firewall-cmd --add-service=smtp

4. Konfigurieren Sie Postfix auf box1.mydomain.com.

Die Hauptkonfigurationsdatei von Postfix befindet sich in /etc/postfix/main.cf. Diese Datei selbst ist eine großartige Dokumentationsquelle, da die enthaltenen Kommentare den Zweck der Programmeinstellungen erläutern.

Der Kürze halber zeigen wir nur die Zeilen an, die bearbeitet werden müssen (ja, Sie müssen mydestination auf dem Ursprungsserver leer lassen; andernfalls werden die E-Mails lokal und nicht auf einem zentralen Mailserver gespeichert ist das, was wir eigentlich wollen):


myhostname = box1.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.0.20

5. Konfigurieren Sie Postfix auf mail.mydomain.com.


myhostname = mail.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8

Und setzen Sie den zugehörigen SELinux-Booleschen Wert dauerhaft auf true, falls dies noch nicht geschehen ist:


setsebool -P allow_postfix_local_write_mail_spool on

Der obige SELinux-Boolesche Wert ermöglicht es Postfix, in den Mail-Spool im zentralen Server zu schreiben.

5. Starten Sie den Dienst auf beiden Servern neu, damit die Änderungen wirksam werden:


systemctl restart postfix

Wenn Postfix nicht korrekt startet, können Sie die folgenden Befehle zur Fehlerbehebung verwenden.


systemctl –l status postfix
journalctl –xn
postconf –n

Testen der Postfix-Mailserver

Um die Mailserver zu testen, können Sie einen beliebigen Mail User Agent (meist kurz MUA genannt) wie Mail oder Mutt verwenden.

Da mutt ein persönlicher Favorit ist, werde ich ihn in box1 verwenden, um eine E-Mail an den Benutzer tecmint zu senden, und zwar unter Verwendung einer vorhandenen Datei (mailbody .txt) als Nachrichtentext:


mutt -s "Part 9-RHCE series" [email  < mailbody.txt

Gehen Sie nun zum zentralen Mailserver (mail.mydomain.com), melden Sie sich als Benutzer tecmint an und prüfen Sie, ob die E-Mail angekommen ist:


su – tecmint
mail

Wenn die E-Mail nicht empfangen wurde, prüfen Sie, ob im Root-Mail-Spool eine Warnung oder Fehlermeldung angezeigt wird. Möglicherweise möchten Sie auch sicherstellen, dass der SMTP-Dienst auf beiden Servern ausgeführt wird und dass Port 25 im zentralen Mailserver geöffnet ist, indem Sie den Befehl nmap verwenden:


nmap -PN 192.168.0.20

Zusammenfassung

Das Einrichten eines Mail-Servers und eines Relay-Hosts, wie in diesem Artikel gezeigt, ist eine wesentliche Fähigkeit, über die jeder Systemadministrator verfügen muss, und stellt die Grundlage für das Verständnis und die Installation eines komplexeren Systems dar Szenario wie ein Mailserver, der eine Live-Domäne für mehrere (sogar Hunderte oder Tausende) von E-Mail-Konten hostet.

(Bitte beachten Sie, dass für diese Art der Einrichtung ein DNS-Server erforderlich ist, was nicht Gegenstand dieser Anleitung ist). Sie können jedoch den folgenden Artikel verwenden, um einen DNS-Server einzurichten:

  1. Richten Sie den Nur-Cache-DNS-Server in CentOS/RHEL 07 ein

Abschließend empfehle ich Ihnen dringend, sich mit der Konfigurationsdatei von Postfix (main.cf) und der Manpage des Programms vertraut zu machen. Wenn Sie Zweifel haben, zögern Sie nicht, uns über das untenstehende Formular zu kontaktieren oder unser Forum Linuxsay.com zu nutzen, wo Sie fast sofort Hilfe von Linux-Experten aus der ganzen Welt erhalten.