Zoeken op website

Hoe Postfix Mail Server (SMTP) in te stellen met null-clientconfiguratie - Deel 9


Ongeacht de vele online communicatiemethoden die tegenwoordig beschikbaar zijn, blijft e-mail een praktische manier om berichten van het ene eind van de wereld naar het andere te bezorgen, of naar een persoon die op het kantoor naast het onze zit.

De volgende afbeelding illustreert het proces van e-mailtransport, beginnend bij de afzender totdat het bericht de inbox van de ontvanger bereikt:

Om dit mogelijk te maken, gebeuren er achter de schermen verschillende dingen. Om ervoor te zorgen dat een e-mailbericht vanuit een clienttoepassing (zoals Thunderbird, Outlook of webmailservices zoals Gmail of Yahoo! Mail) wordt afgeleverd bij een mailserver, en van daaruit naar de doelserver en uiteindelijk naar de beoogde ontvanger moet op elke server een SMTP-service (Simple Mail Transfer Protocol) aanwezig zijn.

Dat is de reden waarom we in dit artikel uitleggen hoe je een SMTP server in RHEL 7 opzet, waar e-mails die door lokale gebruikers (zelfs naar andere lokale gebruikers) worden verzonden, worden doorgestuurd naar een centrale mailserver voor eenvoudigere toegang.

In de eisen van het examen wordt dit een null-client configuratie genoemd.

Onze testomgeving zal bestaan uit een originating mailserver en een centrale mailserver of 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)

Voor naamresolutie gebruiken we op beide boxen het bekende /etc/hosts bestand:


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

Overwegingen bij het installeren van Postfix en Firewall/SELinux

Om te beginnen moeten we (op beide servers):

1. Postfix installeren:


yum update && yum install postfix

2. Start de service en schakel deze in voor toekomstige herstarts:


systemctl start postfix
systemctl enable postfix

3. Sta e-mailverkeer door de firewall toe:


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

4. Configureer Postfix op box1.mijndomein.com.

Het hoofdconfiguratiebestand van Postfix bevindt zich in /etc/postfix/main.cf. Dit bestand zelf is een geweldige documentatiebron, omdat de meegeleverde opmerkingen het doel van de programma-instellingen uitleggen.

Laten we kortheidshalve alleen de regels weergeven die moeten worden bewerkt (ja, u moet mijnbestemming leeg laten op de oorspronkelijke server; anders worden de e-mails lokaal opgeslagen in plaats van op een centrale mailserver die is wat we eigenlijk willen):


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

5. Configureer Postfix op mail.mijndomein.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

En stel de gerelateerde SELinux boolean permanent in op true als dit nog niet is gedaan:


setsebool -P allow_postfix_local_write_mail_spool on

De bovenstaande SELinux boolean zal Postfix toestaan om naar de mail spool op de centrale server te schrijven.

5. Start de service opnieuw op beide servers om de wijzigingen door te voeren:


systemctl restart postfix

Als Postfix niet correct start, kunt u de volgende opdrachten gebruiken om het probleem op te lossen.


systemctl –l status postfix
journalctl –xn
postconf –n

Het testen van de Postfix-mailservers

Om de mailservers te testen, kunt u elke Mail User Agent gebruiken (meestal bekend als MUA), zoals mail of mutt.

Omdat mutt een persoonlijke favoriet is, zal ik het in box1 gebruiken om een e-mail naar gebruiker tecmint te sturen met behulp van een bestaand bestand (mailbody .txt) als berichttekst:


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

Ga nu naar de centrale mailserver (mail.mijndomein.com), log in als gebruiker tecmint en controleer of de e-mail is ontvangen:


su – tecmint
mail

Als de e-mail niet is ontvangen, controleer dan de mailspool van root op een waarschuwing of foutmelding. Mogelijk wilt u er ook voor zorgen dat de SMTP-service op beide servers draait en dat poort 25 open is op de centrale mailserver met behulp van de nmap-opdracht:


nmap -PN 192.168.0.20

Samenvatting

Het opzetten van een mailserver en een relayhost, zoals weergegeven in dit artikel, is een essentiële vaardigheid die elke systeembeheerder moet hebben, en vertegenwoordigt de basis voor het begrijpen en installeren van een complexer systeem scenario zoals een mailserver die een live domein host voor meerdere (zelfs honderden of duizenden) e-mailaccounts.

(Houd er rekening mee dat voor dit soort instellingen een DNS-server vereist is, wat buiten het bestek van deze handleiding valt), maar u kunt het volgende artikel gebruiken om DNS-server in te stellen:

  1. Alleen DNS-server in cache instellen in CentOS/RHEL 07

Ten slotte raad ik u ten zeerste aan om vertrouwd te raken met het configuratiebestand van Postfix (main.cf) en de manpagina van het programma. Als u twijfelt, aarzel dan niet om ons een bericht te sturen via het onderstaande formulier of via ons forum, Linuxsay.com, waar u vrijwel onmiddellijk hulp krijgt van Linux-experts van over de hele wereld.