Sådan konfigureres Postfix Mail Server (SMTP) ved hjælp af konfiguration af nul-klient - Del 9


Uanset de mange online kommunikationsmetoder, der er tilgængelige i dag, er e-mail fortsat en praktisk måde at levere meddelelser fra den ene ende af verden til en anden eller til en person, der sidder på kontoret ved siden af vores.

Følgende billede illustrerer processen med e-mail-transport, der starter med afsenderen, indtil meddelelsen når modtagerens indbakke:

For at gøre dette muligt sker der flere ting bag kulisserne. For at en e-mail-meddelelse skal leveres fra en klientapplikation (såsom Thunderbird, Outlook eller webmailtjenester som Gmail eller Yahoo! Mail) til en mailserver og derfra til destinationsserveren og til sidst til den tilsigtede modtager, en SMTP-tjeneste (Simple Mail Transfer Protocol) skal være på plads på hver server.

Det er grunden til, at vi i denne artikel vil forklare, hvordan man opretter en SMTP-server i RHEL 7, hvor e-mails sendt af lokale brugere (selv til andre lokale brugere) videresendes til en central mailserver for lettere adgang.

I eksamenens krav kaldes dette en nul-klient-opsætning.

Vores testmiljø består af en oprindelig mailserver og en central mailserver eller 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)

Til navneopløsning bruger vi den velkendte/etc/hosts-fil i begge felter:

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

Installation af Postfix og Firewall/SELinux-overvejelser

For at begynde skal vi (på begge servere):

1. Installer Postfix:

# yum update && yum install postfix

2. Start tjenesten, og lad den køre ved fremtidige genstart:

# systemctl start postfix
# systemctl enable postfix

3. Tillad posttrafik gennem firewallen:

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

4. Konfigurer Postfix på box1.mydomain.com.

Postfixs hovedkonfigurationsfil er placeret i /etc/postfix/main.cf. Selve denne fil er en god dokumentationskilde, da de inkluderede kommentarer forklarer formålet med programmets indstillinger.

For kortfattethed skal vi kun vise de linjer, der skal redigeres (ja, du skal lade mydestination være tom på den oprindelige server; ellers gemmes e-mails lokalt i modsætning til i en central mailserver, som vi faktisk ønsker):

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

5. Konfigurer Postfix på 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

Og indstil den relaterede SELinux boolean til sand permanent, hvis den ikke allerede er gjort:

# setsebool -P allow_postfix_local_write_mail_spool on

Ovenstående SELinux boolean giver Postfix mulighed for at skrive til mailspolen på den centrale server.

5. Genstart tjenesten på begge servere, så ændringerne træder i kraft:

# systemctl restart postfix

Hvis Postfix ikke starter korrekt, kan du bruge følgende kommandoer til fejlfinding.

# systemctl –l status postfix
# journalctl –xn
# postconf –n

Test af Postfix-mailserverne

For at teste mailserverne kan du bruge en hvilken som helst Mail User Agent (mest almindeligt kendt som MUA for kort) såsom mail eller mutt.

Da mutt er en personlig favorit, bruger jeg den i boks1 til at sende en e-mail til bruger tecmint ved hjælp af en eksisterende fil (mailbody.txt) som meddelelsestekst:

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

Gå nu til den centrale mailserver (mail.mydomain.com), log ind som bruger tecmint, og kontroller, om e-mailen blev modtaget:

# su – tecmint
# mail

Hvis e-mailen ikke blev modtaget, skal du kontrollere rodens mail-spool for en advarsel eller fejlmeddelelse. Du vil muligvis også sørge for, at SMTP-tjenesten kører på begge servere, og at port 25 er åben i den centrale mailserver ved hjælp af nmap-kommandoen:

# nmap -PN 192.168.0.20

Resumé

Opsætning af en mailserver og en relæhost som vist i denne artikel er en vigtig færdighed, som enhver systemadministrator skal have, og repræsenterer grundlaget for at forstå og installere et mere komplekst scenarie, såsom en mailserver, der er vært for et live-domæne i flere (endda hundreder eller tusinder) e-mail-konti.

(Bemærk, at denne form for opsætning kræver en DNS-server, som ikke er omfattet af denne vejledning), men du kan bruge følgende artikel til at konfigurere DNS-server:

  1. Opsæt kun cache DNS-server i CentOS/RHEL 07

Endelig anbefaler jeg stærkt, at du bliver fortrolig med Postfixs konfigurationsfil (main.cf) og programmets man-side. Hvis du er i tvivl, så tøv ikke med at sende os en linje ved hjælp af nedenstående formular eller ved hjælp af vores forum, Linuxsay.com, hvor du får næsten øjeblikkelig hjælp fra Linux-eksperter fra hele verden.