Postfix je bezplatný a opensource MTA (Mail Transfer Agent) používaný pro směrování nebo doručování e-mailů v systému Linux. V této příručce se dozvíte, jak nainstalovat a nakonfigurovat Postfix na CentOS 8.
Nastavení laboratoře:
- OS : Server CentOS 8
- IP adresa: 192.168.1.13
- Název hostitele: server1.crazytechgeek.info (Ujistěte se, že název domény odkazuje na IP serveru)
Krok 1) Aktualizujte systém
Prvním krokem je zajistit, aby byly systémové balíčky aktuální. Chcete-li tak učinit, aktualizujte systém následovně:
# aktualizace dnf
Než budete pokračovat dále, ujistěte se, že žádné další MTA například Odeslat e-mail existují, protože to způsobí konflikt s konfigurací Postfixu. Chcete-li například odebrat Sendmail, spusťte příkaz:
# dnf odstranit sendmail
Krok 2) Nastavte název hostitele a aktualizujte soubor /etc/hosts
Použijte níže uvedený příkaz hostnamectl k nastavení názvu hostitele ve vašem systému,
# hostnamectl set-hostname server1.crazytechgeek.info# exec bash
Navíc musíte přidat název hostitele a IP položky do souboru /etc/hosts
# vim /etc/hosts192.168.1.13 server1.crazytechgeek.info
Uložte a ukončete soubor.
Přečtěte si také : Jak nastavit DNS Server (Bind) na CentOS 8 / RHEL8
Krok 3) Nainstalujte poštovní server Postfix
Po ověření, že v systému neběží žádný jiný MTA, nainstalujte Postfix provedením příkazu:
# dnf nainstalovat postfix
Krok 4) Spusťte a povolte službu Postfix
Po úspěšné instalaci Postfixu spusťte a povolte službu Postfix spuštěním:
# systemctl spustit postfix# systemctl povolit postfix
Chcete-li zkontrolovat stav Postfixu, spusťte následující příkaz systemctl
# systemctl status postfix
Skvělé, ověřili jsme, že Postfix je funkční. Dále se chystáme nakonfigurovat Postfix tak, aby posílal e-maily lokálně na náš server.
Krok 5) Nainstalujte poštovního klienta mailx
Před konfigurací serveru Postfix musíme nainstalovat funkci mailx. Chcete-li nainstalovat mailx, spusťte příkaz:
# dnf nainstalovat mailx
Krok 6) Nakonfigurujte poštovní server Postfix
Konfigurační soubor Postfixu se nachází v /etc/postfix/main.cf . Potřebujeme provést několik změn v konfiguračním souboru, takže jej otevřete pomocí vašeho oblíbeného textového editoru.
# vi /etc/postfix/main.cf
Proveďte změny na následujících řádcích:
myhostname =server1.crazytechgeek.infomydomain =crazytechgeek.infomyorigin =$mydomain## Odebrat komentář a nastavit inet_interfaces na všechny ##inet_interfaces =all## Změnit na všechny ##inet_protocols =all## Komentář ###mydestination =$myhostname , localhost.$mydomain, localhost##- Odkomentovat ##mydestination =$myhostname, localhost.$mydomain, localhost, $mydomain## Odkomentovat a přidat rozsah IP ##mynetworks =192.168.1.0/24, 127.0.0.0/8# # Odebrat komentář ##home_mailbox =Maildir/
Po dokončení uložte a ukončete konfigurační soubor. Restartujte službu postfix, aby se změny projevily
# systemctl restart postfix
Krok 7) Testování poštovního serveru Postfix
Otestujte, zda naše konfigurace funguje, nejprve vytvořte testovacího uživatele
# useradd postfixuser# passwd postfixuser
Dále spusťte níže uvedený příkaz pro odeslání e-mailu z pkumar místního uživatele jinému uživateli ‘postfixuser ‘
# telnet localhost smtpor# telnet localhost 25
Pokud služba telnet není nainstalována, můžete ji nainstalovat pomocí příkazu:
# dnf nainstalovat telnet -y
Když spustíte příkaz, jak bylo uvedeno výše, měli byste získat výstup podle obrázku
[[email protected] ~]# telnet localhost 25Pokouším se 127.0.0.1...Připojeno k localhost.Escape znak je '^]'.220 server1.crazytechgeek.info ESMTP Postfix
Výše potvrďte, že připojení k poštovnímu serveru Postfix funguje dobře. Dále zadejte příkaz:
# ehlo localhost
Výstup bude něco takového
250-server1.crazytechgeek.info250-PIPELINING250-SIZE 10240000250-VRFY250-ETRN250-STARTTLS250-ENHANCEDSTATUSCODES250-8BITMIME250-DSN250>SMTPUTF8Dále spusťte příkazy zvýrazněné oranžově, například „mail from“, „rcpt to“, data a nakonec zadejte quit,
mail from:250 2.1.0 Okrcpt to: 250 2.1.5 Okdata354 Ukončete data pomocí . Dobrý den, vítejte na mém poštovním serveru (Postfix). 250 2.0.0 Ok:ve frontě jako B56BF1189BECquit221 2.0.0 ByeConnection uzavřen zahraničním hostitelem Dokončete příkaz telnet pro odeslání e-mailu od místního uživatele „pkumar ” jinému místnímu uživateli “postfixuser “ by bylo něco jako níže
Pokud šlo vše podle plánu, měli byste mít možnost zobrazit e-mail odeslaný v domovském adresáři nového uživatele.
# ls /home/postfixuser/Maildir/new1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info#Chcete-li si přečíst e-mail, jednoduše použijte příkaz cat takto:
# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
Protokoly poštovního serveru Postfix
Protokoly pošty poštovního serveru Postfix jsou uloženy v souboru „/var/log/maillog “, použijte níže uvedený příkaz k zobrazení živých protokolů,
# tail -f /var/log/maillog
Zabezpečení poštovního serveru Postfix
Vždy se doporučuje zabezpečit komunikaci mezi klienty a postfixovým serverem, toho lze dosáhnout pomocí SSL certifikátů, tyto certifikáty mohou být buď od důvěryhodné autority nebo Self Signed Certificates. V tomto tutoriálu vygenerujeme Self Signed certifikované pro postfix pomocí openssl příkaz,
Předpokládám, že openssl je již ve vašem systému nainstalován, v případě, že není nainstalován, použijte následující příkaz dnf,
# dnf install openssl -yVygenerujte soukromý klíč a CSR (žádost o podpis certifikátu) pomocí příkazu openssl,
# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr
Nyní vygenerujte certifikát s vlastním podpisem pomocí následujícího příkazu openssl,
# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crtSignature oksubject=C =IN, ST =Nové Dillí, L =Nové Dillí, O =IT, OU =IT, CN =server1.crazytechgeek.info, emailAddress =[e-mail chráněný]Získávání soukromého klíče#Nyní zkopírujte soukromý klíč a soubor certifikátu do adresáře /etc/postfix
# cp mail.key mail.crt /etc/postfixAktualizujte soukromý klíč a cestu k souboru certifikátu v konfiguračním souboru postfixu,
# vi /etc/postfix/main.cf………smtpd_use_tls =yessmtpd_tls_cert_file =/etc/postfix/mail.crtsmtpd_tls_key_file =/etc/postfix/mail.keysmtpd_tls_security_level =may……Restartujte službu postfix, aby se výše uvedené změny projevily.
# systemctl restart postfixZkusme poslat e-mail do interní lokální domény a externí domény pomocí klienta mailx.
Odesílání místního interního e-mailu od uživatele pkumar uživateli postfixuser
# echo "zkušební email" | mailx -s "Testovací e-mail z poštovního serveru Postfix" -r [chráněno e-mailem] [chráněno e-mailem]Zkontrolujte a přečtěte si e-mail pomocí následujícího,
# cd /home/postfixuser/Maildir/new/# lltotal 8-rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info-rw--------. 1 postfixuser postfixuser 612 13. listopadu 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info# cat 1573612845.Vfd02I20050bbM4666.bbM4666
Odesílání e-mailů od uživatele postfixus do externí domény ( [chráněno e-mailem])
# echo "Externí testovací e-mail" | mailx -s "Poštovní server Postfix" -r [chráněno e-mailem] [chráněno e-mailem]Poznámka: Pokud vaše IP není nikde na černé listině, váš e-mail na externí doménu bude doručen, jinak bude vrácen s tím, že IP je na černé listině v databázi spamhausu a tak.
Zkontrolujte poštovní frontu Postfixu
Použijte příkaz mailq k zobrazení seznamu e-mailů, které jsou ve frontě.
# mailq Fronta pošty je prázdná#A to je vše! Naše konfigurace Postfixu funguje! To je prozatím vše. Doufáme, že jste shledali tento návod srozumitelným a že si můžete pohodlně nastavit svůj lokální Postfix server.
Přečtěte si také :Jak nainstalovat a nakonfigurovat Sambu na CentOS 8
Jak nainstalovat VirtualBox 6.0 na CentOS 8 / RHEL 8 Jak nastavit DNS Server (Bind) na CentOS 8 / RHEL8Cent OS