Dat fiind ca ma chinuie de cateva zile problema asta, o expun si aici
ca poate vede cineva ce-mi scapa:

So, am un gateway de mail cu postfix relativ recent (2.3.8) care face
relay pentru un numar de domenii intre 3 alte mailservere interne (via
transport_maps), primeste din exterior mailuri pentru cateva domenii
care se duc spre unul din ele, si trimite mailuri din intern spre
exterior direct in internet (in principiu tot de la un singur
mailserver intern, dar nu conteaza).

Cerintele sunt cam asa:
- mesajele care vin din interior sau local (via sendmail ->
maildrop->pickup) sa fie relayed fara nici un fel de obstacole
suplimentare
- mesajele care vin din afara pentru destinatii interne valide sa fie
livrate intr-un transport de tip pipe (le mai manaresc niste headere,
nu conteaza)
- mesajele din afara catre destinatii interne inexistente sa fie
rejectate in faza rcpt to

Sistemul la care am ajuns pana in momentul asta are un
smtpd_recipient_restrictions de forma:
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
check_recipient_access hash:/etc/postfix/recipient_list,
permit

Hashul recipient_list contine linii de forma "[EMAIL PROTECTED]
FILTER myfilter:localhost", pentru toate adresele valide si e tinut in
sync cu o frecventa acceptabila. Ma rog, numele filtrului nu e acelasi
la toate, dar nu vreau sa complic prea mult discutia.

myfilter e definit in master.cf ca un transport de tip pipe si modul
de functionare implica inspectarea si modificarea headerelor mailului
in cauza, dupa care il injecteaza via /usr/sbin/sendmail in coada
maildrop. Seamana putin cu cel descris in
http://www.postfix.org/FILTER_README.html. Asta functioneaza bine
mersi.

Problema pe care o am este ca din cele 3 cerinte initiale, la ora
actuala se indeplinesc doar primele doua, in sensul ca sunt acceptate
si destinatiile care nu apar in recipient_list, ceea ce genereaza o
gramada de backscatter. Daca pun reject in loc de permit la coada mi
se rejecteaza si adrese din recipient_list si nu pricep de ce, mi s-ar
parea normal sa se aplice doar la ce nu e gasit in hash.

PS: solutia clasica cu relay_recipient_maps nu prea functioneaza,
pentru ca se baga in flowul dinspre si catre mailserverele interne.

As prefera niste pareri, sugestii si informatii relativ informate, nu
"am citit eu ceva prin man 5 access intr-o vreme", ca de-astea mi-e
plin podul :)

-- 
 "Unix was written to play Spacewar and cheat at Scrabble,
 but Linux was created merely to prove that it booted." - a.s.r. quote

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui