ULTIMATE GUIDE: Konfiguracja serwera dla prawidłowej dostawy poczty. CZĘŚĆ 1: Firewall

Firewall (zapora sieciowa) - to sprzęt z oprogramowaniem lub samo oprogramowanie, które kontroluje, jakie połączenia z serwerem są dozwolone, a jakie powinny zostać zablokowane. W zdecydowanej większości współczesnych dystrybucji serwerowych Linux firewall jest dostępny od razu po instalacji systemu, choć może wymagać dodatkowej konfiguracji.
Prawidłowe dostarczanie poczty do adresata zależy nie tylko od działania serwera pocztowego, ale także od prawidłowej konfiguracji rekordów DNS i firewall. Jeśli coś jest z nimi nie tak, wiadomości mogą trafiać do folderu SPAM albo w ogóle nie zostać doręczone.
W tym artykule omawiamy kluczowe kroki, które pozwolą zwiększyć skuteczność dostarczania poczty praktycznie do 100%. W pierwszej części skupimy się na problemach związanych z konfiguracją zapory sieciowej, a w drugiej podamy instrukcje dotyczące konfiguracji rekordów DNS.
Informacje zawarte w poradniku dotyczą serwerów pocztowych działających na systemach z rodziny Linux. W przykładach wykorzystano Debian 12 oraz Rocky Linux 8.10 z panelem sterowania FASTPANEL.
Etap wstępny
Krok 1. Instalacja oprogramowania potrzebnego do diagnostyki
Do sprawdzenia wpisów i portów będą potrzebne następujące narzędzia:
-
dig - do analizy rekordów DNS.
-
lsof - do sprawdzania stanu serwera pocztowego.
-
netcat - do testowania dostępności portów.
-
whois - do sprawdzania aktualnego operatora DNS.
Instalacja w Debian/Ubuntu:
sudo apt update && sudo apt install -y bind9-dnsutils netcat-openbsd lsof whois
W CentOS/AlmaLinux/Rocky Linux:
sudo yum install -y bind-utils nmap-ncat lsof whois
Dostępność portów pocztowych
Port to numeryczny identyfikator używany do adresowania usług działających na serwerze. Każdy serwis lub aplikacja „nasłuchuje” na określonym porcie, aby móc odbierać i wysyłać dane przez sieć (np. HTTP działa na porcie 80, a SMTP na porcie 25).
Aby wykonać dalsze kroki, połącz się z serwerem przez SSH jako użytkownik root, albo korzystaj z sudo tak jak w przedstawionych poleceniach. Jeśli potrzebujesz pomocy z połączeniem przez SSH, odsyłamy do naszego poradnika.
Krok 2. Sprawdzenie stanu serwerów pocztowych.
Zanim przejdziemy do testowania dostępności portów z sieci, trzeba upewnić się, że serwery pocztowe działają poprawnie. Za pocztę wychodzącą odpowiada zwykle Exim albo Postfix, natomiast za odbiór wiadomości - Dovecot.
Sprawdzisz to poleceniami:
sudo lsof -i:25
sudo lsof -i:143
Jeśli serwery działają, zobaczysz mniej więcej taki wynik:
Port 25:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
exim 839 exim 4u IPv6 778199358 0t0 TCP *:smtp (LISTEN)
exim 839 exim 5u IPv4 778199359 0t0 TCP *:smtp (LISTEN)
Jeśli na twoim serwerze używany jest inny serwer SMTP, na przykład Postfix, w wynikach w pierwszej kolumnie zostanie podana jego dokładna nazwa zamiast exim. W razie potrzeby użyj jej w kolejnych poleceniach.
Port 143:
dovecot 859 root 39u IPv4 778204692 0t0 TCP *:imap (LISTEN)
dovecot 859 root 40u IPv6 778204693 0t0 TCP *:imap (LISTEN)
Taki wynik oznacza, że wszystko jest w porządku i możesz przejść dalej.
Jeśli serwery pocztowe nie są uruchomione, zobaczysz pusty wynik:
~ sudo lsof -i:25
~
~ sudo lsof -i:143
~
W takim przypadku wystąpił jakiś problem z serwerami pocztowymi i nie są one dostępne. Możesz spróbować uruchomić je ręcznie, a następnie sprawdzić status:
Debian/Ubuntu:
systemctl restart exim4 dovecot
systemctl status exim4
systemctl status dovecot
CentOS/AlmaLinux/Rocky Linux:
systemctl restart exim dovecot
systemctl status exim
systemctl status dovecot
Po uruchomieniu status usług będzie wyglądał następująco:
Exim: