Korábban Nginx-et használtam a 25-ös port átirányítására (stream-ként). Bárhogyan próbálkoztam nem tudtam rávenni a kliens IP címének továbbadására. Royaltól kaptam egy linket HAProxy megoldásra, ami kis módosítás után nálam is működött.
Inspiráció: https://www.haproxy.com/blog/efficient-smtp-relay-infrastructure-with-postfix-and-load-balancers
HAProxy
HAProxy konfigom (Friss telepítésnél az /etc/haproxy/haproxy.cfg-hez végéhez hozzáadott sorok) :
frontend smtp_front
bind *:25
mode tcp
default_backend smtp_back
backend smtp_back
mode tcp
server postfix1 192.168.125.5:10026 send-proxy
A linkelt leírás és e között a portszám a különbség. A levelezőszerveren (Postfix) az Amavis foglalja a 10024-es portot, emiatt a 10026-on fogom fogadni a leveleket a HAProxytól.
HAProxy konfiguráció tesztelése:
haproxy -f /etc/haproxy/haproxy.cfg -c
Ne felejtsd el újraindítani a haproxy-t. Nálam ez:
sudo systemctl restart haproxy
Postfix
main.cf végéhez adtam hozzá (mindegy a sorrend, csak ne írd felül, ha már létezik):
postscreen_upstream_proxy_protocol = haproxy
master.cf elejéhez adtam hozzá (mindegy a sorrend, magam miatt csinálom így):
10026 inet n - n - 1 postscreen
smtpd pass - - n - - smtpd
Postfix konfiguráció tesztelése:
sudo postfix check
Postfix újraindítása:
sudo systemctl restart postfix
Működés ellenőrzés:
sudo tail -f /var/log/mail.log
Aug 8 12:25:33 mailserver postfix/postscreen[226021]: CONNECT from [121.202.155.16]:46049 to [haproxy_külső_ip]:25
Aug 8 12:25:39 mailserver postfix/postscreen[226021]: PASS NEW [121.202.155.16]:46049
Aug 8 12:25:39 mailserver postfix/smtpd[226022]: warning: hostname m121-202-155-16.smartone.com does not resolve to address 121.202.155.16: Name or service not known
Aug 8 12:25:39 mailserver postfix/smtpd[226022]: connect from unknown[121.202.155.16]
Aug 8 12:25:41 mailserver postfix/smtpd[226022]: lost connection after CONNECT from unknown[121.202.155.16]
Aug 8 12:25:41 mailserver postfix/smtpd[226022]: disconnect from unknown[121.202.155.16] commands=0/0
A logban látható a kliens ip címe: 121.202.155.16
Összefoglaló
Amikor már tudod mit kell csinálnod, minden egyszerűvé válik, de addig az út sokszor hosszú és rögös. Nagyon sok mindennek utána kell olvasni. A témában sokkal hosszabb utat jártam be, mint ez a pár sor, amit 10 perc alatt megértesz és megcsinálsz a saját szervereden. Bár öröm autodidakta módon tanulni, de kevésbé hatékony, mint a frontális oktatás. Igaz, akkor a zsákutcákat nem ismered meg, csak a jó megoldásokat. Ezek a zsákutcák hozzájárulnak ahhoz, hogy megértsd azt is ami nem működik, az miért nem.