Slik konfigurerer du Postfix Mail Server (SMTP) ved hjelp av null-klientkonfigurasjon - Del 9


Uavhengig av de mange nettbaserte kommunikasjonsmetodene som er tilgjengelige i dag, er e-post fortsatt en praktisk måte å levere meldinger fra en ende av verden til en annen, eller til en person som sitter på kontoret ved siden av vårt.

Følgende bilde illustrerer prosessen med e-posttransport som starter med avsenderen til meldingen når mottakerens innboks:

For å gjøre dette mulig skjer det flere ting bak kulissene. For at en e-postmelding skal kunne leveres fra et klientprogram (som Thunderbird, Outlook eller nettposttjenester som Gmail eller Yahoo! Mail) til en e-postserver, og derfra til målserveren og til slutt til den tiltenkte mottakeren, må en SMTP (Simple Mail Transfer Protocol)-tjeneste være på plass på hver server.

Det er grunnen til at vi i denne artikkelen vil forklare hvordan du setter opp en SMTP-server i RHEL 7 hvor e-poster sendt av lokale brukere (selv til andre lokale brukere) videresendes til en sentral e-postserver for enklere tilgang.

I eksamenskravene kalles dette et null-klient-oppsett.

Vårt testmiljø vil bestå av en opprinnelig e-postserver og en sentral e-postserver 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)

For navneoppløsning vil vi bruke den velkjente /etc/hosts-filen på begge boksene:


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

Installere Postfix og brannmur/SELinux-hensyn

For å begynne må vi (på begge serverne):

1. Installer Postfix:


yum update && yum install postfix

2. Start tjenesten og aktiver den til å kjøre ved fremtidige omstarter:


systemctl start postfix
systemctl enable postfix

3. Tillat e-posttrafikk gjennom brannmuren:


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

4. Konfigurer Postfixbox1.mydomain.com.

Postfixs hovedkonfigurasjonsfil ligger i /etc/postfix/main.cf. Denne filen i seg selv er en flott dokumentasjonskilde da de inkluderte kommentarene forklarer formålet med programmets innstillinger.

For korthets skyld, la oss bare vise linjene som må redigeres (ja, du må la mydestination stå tomt på den opprinnelige serveren; ellers vil e-postene lagres lokalt i motsetning til i en sentral e-postserver som er det 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 sett den relaterte SELinux boolean til sann permanent hvis det ikke allerede er gjort:


setsebool -P allow_postfix_local_write_mail_spool on

SELinux-boolen ovenfor vil tillate Postfix å skrive til e-postspolen på den sentrale serveren.

5. Start tjenesten på nytt på begge serverne for at endringene skal tre i kraft:


systemctl restart postfix

Hvis Postfix ikke starter riktig, kan du bruke følgende kommandoer for å feilsøke.


systemctl –l status postfix
journalctl –xn
postconf –n

Tester Postfix Mail Servers

For å teste e-postserverne kan du bruke en hvilken som helst e-postbrukeragent (oftest kjent som MUA for kort) som e-post eller mutt.

Siden mutt er en personlig favoritt, vil jeg bruke den i box1 for å sende en e-post til brukeren tecmint ved å bruke en eksisterende fil (mailbody .txt) som meldingstekst:


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

Gå nå til den sentrale e-postserveren (mail.mydomain.com), logg på som bruker tecmint, og sjekk om e-posten ble mottatt:


su – tecmint
mail

Hvis e-posten ikke ble mottatt, sjekk roots e-postkø for en advarsel eller feilmelding. Det kan også være lurt å sørge for at SMTP-tjenesten kjører på begge serverne og at port 25 er åpen i den sentrale e-postserveren ved å bruke nmap-kommandoen:


nmap -PN 192.168.0.20

Sammendrag

Å sette opp en e-postserver og en relévert som vist i denne artikkelen er en viktig ferdighet som enhver systemadministrator må ha, og representerer grunnlaget for å forstå og installere en mer kompleks scenario som en e-postserver som er vert for et live-domene for flere (til og med hundrevis eller tusenvis) av e-postkontoer.

(Vær oppmerksom på at denne typen oppsett krever en DNS-server, som er utenfor omfanget av denne veiledningen), men du kan bruke følgende artikkel for å sette opp DNS-server:

  1. Konfigurer kun cache DNS-server i CentOS/RHEL 07

Til slutt anbefaler jeg på det sterkeste at du blir kjent med Postfixs konfigurasjonsfil (main.cf) og programmets man-side. Hvis du er i tvil, ikke nøl med å sende oss en linje ved å bruke skjemaet nedenfor eller bruke forumet vårt, Linuxsay.com, hvor du vil få nesten umiddelbar hjelp fra Linux-eksperter fra hele verden.