Portál AbcLinuxu, 10. května 2025 11:22
Jak mám nastavit postfix relay, abych relayoval vše z počítače x přes počítač y do internetu? Nyní relayuju, ale jen do lokální domény, jinak je relay denied. Používám postfix.
Mám v lokální síti mail server, přes který musí všechna pošta, ale je zde vyžadování autentifikace. Mám několik dalších serverů, které potřebují odesílat emaily a proto jsem nastavil relay na mail server, ovšem mail server doručí poštu pouze doménám, pro které přijímá poštu, relay ven do internetu už neproběhne a ten bych potřeboval pro několik počítačů nastavit.
Takze jenom pridat par adres do mynetworks, jestli tomu spravne rozumim? Kazdopadne na takovehle veci pozor, pokud toho povolis vic nez mas, vyrobis open relay a tim padem velky problem. Sobe.
No prave, toho se bojím, proto se ptám tady, nemůžu přidat adresy do mynetworks, to bych musel přidat celej internet, potřebuju posílat všude. Potřebuju zařídit aby vybrané servery z kolální sítě měly povoleny relay kamkoliv nebo, pokud by to šlo, aby se vůči mail serveru autentifikovaly.
mynetworks
jsou adresy odesílajících počítačů, tedy klientů vašeho serveru. Pokud chcete jiným počítačům umožnit odesílat e-maily kamkoli, dejte je právě do mynetworks
(tedy pokud můžete věřit IP adresám těch počítačů, resp. tomu, že je nikdo neukradne). Pokud chete autentizaci, do mynetworks
je naopak nedávejte a zprovozněte si na Postfixu SASL autentizaci – tady na Abíčku se to probíralo několikrát, určitě něco najdete.
Autentifikace, podle vzoru vyfikundace (těmi i/y si nejsem jistý, neporadí někdo)?
Jinak samozřejmě mynetworks, viz předchozí reakce... dát tam rozsahy IP adres odesilatelu (CIDR zápis, například 192.168.1.0/24), případně konkrétní IP adresy.
Pokud jsou odesilatelé mimo místní síť, doporučuju nastavit imap server (například dovecot) pro přihlašování k mailovým složkám... a postfix nakonfigurovat tak, aby autentizoval proti stejné db jako ten imap server (na netu jsou návody na dovecot+postfix, například).
Tak to nefunguje. Nastaveno mám toto:
smtpd_recipient_restrictions = permit_sasl_authenticated,
check_recipient_access mysql:/etc/postfix/mysql-recipient.cf,
reject_unauth_destination,
permit
mynetworks = 127.0.0.0/8 192.168.1.0/24
Vsechny servery jsou v siti 192.168.1.0/24.
Nekteri by mohli radit precist si dokumentaci nebo
zadat par slov do googlu. Co kdyz maji pravdu ?
permit_mynetworks
A když to přidám do tabulky na kterou odkazuje toto check_recipient_access mysql:/etc/postfix/mysql-recipient.cf, tak to bude fungovat taky ne?
Podle manuálu bych tam měl mít spíš check_client_access. Ale může se to použít u recipient restrictions? Nechce se mi upravovat mynetworks, myslím, že by to mohlo mít vliv ještě na něco jinýho.
Nerikals, co vsechno jsi menil, takze treba ja ocekaval vicemene originalni konfiguraci. Takze posli postconf -n a pripadne zmeny/nove soubory v /etc/postfix/ krome main.cf. Na prvni pohled to vypada, ze pokud bys pouzil permit_mynetworks jako prvni restriction v smtpd_recipient_restrictions, bude to fungovat, ale jestli tam toho mas jeste vic... kdo vi.
A jak funguje to check_client_access? Pro mě by bylo nakonec lepší měnit obsahy mysql tabulek.
Viz man 5 postconf nebo http://www.postfix.org/postconf.5.html. Proti vkusu... me tedy prijde podstatne jednodussi pridat jednu direktivu a pak zapomenout. Obzvlast pokud jsou klienti opravdu v jednom C-cku a nebude se to nikdy menit.
Do toho manuálu jsem koukal, jen nevím zda se to dá použít s recipient restrictions.
Zkuste tam koukat tak dlouho, dokud to nezjistite.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.