postfix: Zielserver pro User im LDAP ermitteln

Arokh

New Member
Und hier mein nächstes Problem, das ich leider trotz intensiver Suche bei google nicht lösen konnte:

postfix soll als Gateway für nachgelagerte Zielserver fungieren, alle User existieren im LDAP. Es soll eine Prüfung auf gültige User und eine Ermittlung des Zielservers im LDAP erfolgen.
Die Userprüfung habe ich bereits per relay_recipient_maps und entsprechendem LDAP-Configfile hinbekommen:
Code:
relay_recipient_maps = proxy:ldap:/etc/postfix/ldap_recipients.cf
Im LDAP vorhandene User werden jetzt korrekt validiert bzw. abgelehnt.
Wie lese ich jetzt noch den Zielserver aus dem LDAP ? Ein entsprechendes Configfile, was mir per postmap -q den Zielserver ausspuckt, habe ich:
Code:
postmap -q "user@domain.com" ldap:/etc/postfix/ldap_remote-host.cf
host1.example.com
Wie verwende ich den Host jetzt in postfix ? Direkte Einbindung des ldap-Befehls in die transport-Map hat nicht geklappt.
 
Ok habs gelöst. Hier die Lösung für alle, die zukünftig danach googeln.
Den transport-maps Parameter in der main.cf um ein LDAP-Configfile erweitern:
Code:
 transport_maps = proxy:ldap:/etc/postfix/ldap_remote-host.cf,hash:/etc/postfix/transport
Anschließend ein configfile erstellen analog zu User-Authentifizierung per LDAP:
Code:
#Inhalt von ldap_remote-host.cf
bind = no
server_host = ldap://ldaphost
search_base = <searchbase>
query_filter = (mail=%s)
result_attribute = servername
result_format = smtp:[%s]
domain = hash:/etc/postfix/ldap_domains

Eine Überprüfung per postmap -q ergibt ein Ergebnis dieses Formats:
Code:
postmap -q "user@domain.com" ldap:/etc/postfix/ldap_remote-host.cf
smtp:[host1.example.com]

Anschließend wird der per LDAP ermittelte Host als Relayhost verwendet :)
 
Back
Top