Website-Suche

Wie man den Postfix Mail Server (SMTP) mit der Null-Client-Konfiguration einrichtet - Teil 9


Unabhängig von den vielen Online-Kommunikationsmethoden, die heute zur Verfügung stehen, bleibt E-Mail eine praktische Möglichkeit, Nachrichten von einem Ende der Welt zum anderen oder an eine Person zu übermitteln, die im Büro neben uns sitzt.

Die folgende Abbildung veranschaulicht den Prozess des E-Mail-Transports, beginnend mit dem Absender, bis die Nachricht den Posteingang des Empfängers erreicht:

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

Aus diesem Grund erklären wir in diesem Artikel, wie Sie einen SMTP-Server in RHEL 7 einrichten, auf dem E-Mails, die von lokalen Benutzern (auch an andere lokale Benutzer) gesendet werden, zum leichteren Zugriff an einen zentralen Mailserver weitergeleitet werden.

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)

Für die Namensauflösung verwenden wir die bekannte /etc/hosts-Datei auf beiden Boxen:


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

Überlegungen zur Installation von Postfix und Firewall/SELinux

Um zu beginnen, müssen wir (auf beiden Servern):

1. Postfix installieren:


yum update && yum install postfix

2. Starten Sie den Dienst und aktivieren Sie ihn für zukünftige Neustarts:


systemctl start postfix
systemctl enable postfix

3. Lassen Sie den E-Mail-Verkehr durch die Firewall zu:


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 erklären.

Der Kürze halber zeigen wir nur die Zeilen an, die bearbeitet werden müssen (ja, Sie müssen mydestination auf dem ursprünglichen Server leer lassen; sonst werden die E-Mails lokal gespeichert, im Gegensatz zu einem zentralen Mailserver, 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 booleschen SELinux-Wert dauerhaft auf true, falls noch nicht geschehen:


setsebool -P allow_postfix_local_write_mail_spool on

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

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


systemctl restart postfix

Wenn Postfix nicht ordnungsgemäß gestartet wird, 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 (am häufigsten kurz als MUA bekannt) verwenden, z. B. mail oder mutt.

Da mutt ein persönlicher Favorit ist, werde ich es in box1 verwenden, um eine E-Mail an den Benutzer tecmint zu senden, wobei eine vorhandene Datei (mailbody.txt) als Nachrichtentext verwendet wird:


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

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


su – tecmint
mail

Wenn die E-Mail nicht empfangen wurde, überprüfen Sie den Mail-Spool von root auf eine Warnung oder Fehlerbenachrichtigung. Sie können auch sicherstellen, dass der SMTP-Dienst auf beiden Servern ausgeführt wird und dass Port 25 auf dem zentralen Mailserver geöffnet ist, indem Sie den Befehl nmap verwenden:


nmap -PN 192.168.0.20

Zusammenfassung

Das Einrichten eines Mailservers 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 Szenarios dar, z. B. eines Mailservers, der eine Live-Domain 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, der nicht in diesem Leitfaden enthalten ist), aber Sie können den folgenden Artikel verwenden, um den DNS-Server einzurichten:

  1. Setup Cache Nur DNS-Server in CentOS/RHEL 07

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

Verwandte Artikel: