Das passt ja was nicht zusammen! Evtl muss auch hier der Eintrag server_port=636 getrennt aufgeführt werden.
Weiter unten dann
postmap: cfg_get_str: /etc/postfix/ldap-users.cf: domain = <<< LEER!!
und noch weiter unten dann:
postmap: dict_ldap_lookup: No existing connection for LDAP source /etc/postfix/ldap-users.cf, reopening
vergleiche doch mal bitte den Inhalt der Datei /srv/docker/linuxmuster-mail/config/postfix/ldap-users.cf auf dem Docker-Server bzw. /etc/postfix/ldap-users.cf auf dem mail-container (sollte die identische Datei sein, da sie „durchgereicht“ wird) mit dem Inhalt von meiner Datei:
Ja, der Aufbau ist identisch. Port-Angaben stimmen ebenfalls überein. Ich meine aber irgendwo gelesen zu haben, dass die Angabe ldaps://...:636 für OpenLDAP ist – während man es bei AD mit einer Extra-Zeile server_port = 636 machen muss – aber alles ohne Gewähr.
Gefunden: Hier stand das: http://www.postfix.org/ldap_table.5.html
bei der Syntax geht es m.E. um die OpenLDAP-Client-Lib die Postfix nutzt. Diese versteht auch die host:port Syntax.
Wie gesagt funktioniert die obige User-Abfrage bei mir auch. Wenn ich den User „ba“ über obige Postfix-Config suche, kommt erfolgreich „ba“ zurück. Wenn ich einen nicht existierenden User suche, kommt ein Fehler zurück.
Postfix hat trotzdem ein Problem damit. Ich vermute dass er vielleicht nicht nur den Username prüft, sondern die ganze eMail-Adresse. Und die steht ja nicht im AD.
Ich hatte die Ausgangssituation nicht genau beschrieben, sorry. Der FQDN hat eine lokale Fantasie-Domain „wg.lan“, die kann für eMails natürlich nicht genutzt werden. Die eMail-Domain ist eine echte Internet-Domain inkl MX-Eintrag, genauer eine Sub-Domain unserer Internet-Hauptdomain (schule.hauptdomain).
Ich habe in der WebGUI diese eMail-Domain zwar für die Gruppen Lehrer, Schüler etc. eingetragen, habe aber Zweifel ob diese dann wirklich für jeden Benutzer im AD-Eintrag gespeichert ist.
die Bestätigung, dass der User ba existiert.
Ein Query nach ba@wg.lan antwortet mit „Search returned nothing“, ein Query nach ba@schule.hauptdomain bringt ebenfalls „nothing“. Macht auch Sinn, da ja nach „samaccountname“ im LDAP gesucht wird, und der ist wohl immer nur der Username, ohne Domain. Vielleicht ist das auch die Ursache des Postfix-Problems, dass in der ldap-users.cf nicht nach dem samaccountname gesucht werden dürfte?
Ich muss nochmal nachschauen, wie ich von einem AD-Benutzer den kompletten LDAP-Eintrag ausgeben lassen kann, um zu prüfen welche Felder existieren und ob irgendwo die eMail mit FQDN drin steht. Dann könnte ich dies in der ldap-users.cf abändern und testen ob Postfix dann die lokalen Mailboxen/Benutzer erlaubt.
Danke Michael!
Hatte mir zwischenzeitlich mit dem samba-tool beholfen.
Die korrekte eMail-Adresse steht tatsächlich im Feld „mail“ im AD.
Wenn ich also nach samaccountname=ba suche und mir als return_attribute die Mail zurück geben lasse, bekomme ich vom postmap den richtigen Eintrag:
postmap: dict_ldap_connect: Successful bind to server ldaps://lms.wg.lan:636 with dn CN=global-binduser,OU=Management,OU=GLOBAL,DC=wg,DC=lan
postmap: dict_ldap_connect: Cached connection handle for LDAP source /etc/postfix/ldap-mail.cf
postmap: dict_ldap_lookup: /etc/postfix/ldap-mail.cf: Searching with filter (samaccountname=ba)
postmap: dict_ldap_get_values[1]: Search found 1 match(es)
postmap: dict_ldap_get_values[1]: search returned 1 value(s) for requested result attribute mail
postmap: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
postmap: dict_ldap_lookup: Search returned ba@schule.hauptdomain
Ich habe in der ldap-users.cf nun den query_filter auf (mail=%s) und das return_attribut auf mail geändert und nun funktioniert die Abfrage mit kompletten Mailadressen. Ich habe keine Idee warum dort ursprünglich nach samaccountname statt mail abgefragt wurde.
@Michael, könntest Du mir bitte den Eintrag deiner ldap-user.cf zum Vergleichen schicken? Ich vermute ich sollte den query_filter in meiner Datei noch etwas stärker einschränken als nur „mail=%s“.
@Michael das Problem mit der ldap-domains.cf konnte ich inzwischen lösen. Dann geht auch der Versand nach extern:
in der docker-compose.yml folgende Einstellungen ändern:
- LDAP_SERVER_HOST=ldaps://lms.wg.lan:636
- LDAP_SEARCH_BASE=OU=SCHOOLS,DC=wg,DC=lan
- LDAP_BIND_DN=CN=global-binduser,OU=Management,OU=GLOBAL,DC=wg,DC=lan
- LDAP_BIND_PW=*****
- LDAP_QUERY_FILTER_USER=(mail=%s)
- LDAP_QUERY_FILTER_DOMAIN=(mail=*@%s)
Dann docker-compose down und docker-compose up -d mail
Anschließend sollten eine funktionierende ldap-domains.cf existieren und man kann die main.cf unangetastet lassen.
Hallo Tom.
Das klingt gut! Super!
Hast du die Datei ldap-domains.cf mit in die docker-compose.yml aufgenommen oder kommt die Datei direkt aus dem Container? Ich hatte mich gewundert, dass die anderen ldap-configs alle an den Container durchgereicht werden – aber die ldap-domains nicht!?
Hat sich deine Anfrage der ldap-users.cf damit erledigt oder willst du trotzdem noch einen Blick darauf werfen?
Die Einträge in der Datei lauten hier derzeit jedenfalls auch noch so:
ja, ist merkwürdig, dass nur die ldap-domains.cf nicht aus dem config-Ordner kommt. Ich habe dies so gelassen. Sie wird beim docker-compose aus der .yml-Datei neu erzeugt.
Deine ldap-users.cf schaut so aus, wie meine vor den Änderungen. Das samaccountname hatte für den postfix nicht funktioniert. Mit (mail=%s) ging es. Könnte man noch etwas verfeinern und deaktivierte Accounts oder Maschinen-Accouts oder Gruppen-Accounts irgendwie herausfiltern. Aber fürs erste lasse ich es so.
Den Relay-Host konnte ich nach wie vor nicht setzen. Die SASL-Passwort-Datei wird zwar erzeugt, aber in der main.cf bleibt der Eintrag leer. Da der Mailversand aktuell auch ohne relayhost funktioniert, lass ich den Versand erstmal direkt laufen.
ich trage das auch so ein und melde mich dann, ob es funktioniert. Wäre super! Kannst du deine Beobachtungen evlt auch direkt als github-issue an die Entwickler melden?
Hallo Tom.
Auch hier konnte die ausgehende eMail jetzt versandt werden
cd /var/log/mail/
cat mail.log
....
Anonymous TLS connection established to mail-tester.com[...]:25: TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)
Ich bekomme lediglich eine Warnung bgzl doppelter Einträge:
Feb 28 12:01:36 mail postfix/smtp[1624]: error: /etc/postfix/sasl_passwd, line 2: duplicate entry: "[mail.meine-domaine.de]:25"
Hast du eine gute Erklärung, warum der Eintrag da nun doppelt auftaucht?
Hast du den Eintrag DEFAULT_RELAY_HOST nun aktiviert oder nicht — bzw ist die eckige Klammer, die du oben gesetzt hast, notwendig?
Nachtrag: Jetzt konnte ich auch das erschütternde Ergebnis vom mail-tester.com sehen: nur 2.1 von 10 Punkten Da wird natürlich nur sehr wenig überkommen und das meiste von den großen Anbietern gefiltert werden.
Dies wird alles bemängelt:
## Sie sind nicht vollständig berechtigt
Wir prüfen, ob der Server von dem Sie senden, authentifiziert ist
-1
### [SPF] linuxmuster.meine-domain.de gestattet Ihrem Server 9x.xxx.xxx.xxx nicht, <login>@linuxmuster.meine-domain.de zu nutzen
-1
### Ihre Nachricht ist nicht durch DKIM signiert
### Sie haben keinen DMARC-Datensatz
### Ihr Reverse-DNS-Eintrag stimmt nicht mit der Sendenden Domain überein
-3
### Wir haben nicht einen Mail-Server (MX Record) hinter Ihrem Domain-Namen **linuxmuster.meine-domain.de** gefunden.
### Ihr Hostname **mail.linuxmuster.meine-domain.de** ist einem Server zugewiesen. --> OK!
und auch noch was vom SpamAssassin:
-2.5 NO_FM_NAME_IP_HOSTN NO_FM_NAME_IP_HOSTN
Schönen Gruß – wir kommen der Sache immerhin näher!
Michael
Da man 3 „Strafpunkte“ für den fehlenden MX-Record bekommt, habe ich mal danach gesucht: Ist es richtig, dass der Eintrag auf die OPNSense-FW gehört? Evtl so:
Ich habe in der Docker-Datei den Relayhost gesetzt, allerdings kommt er in der main.cf nicht an. Aktuell versenden wir unsere eMails daher zwangsweise direkt.
Die eckige Klammer ist dann nötig, wenn Du einen Port mit angibst. Der daraus erzeugte Eintrag in der main.cf sollte mit dem erzeugten Eintrag in der SASL-Passwort-Datei übereinstimmen.
Die Ergebnisse von mail-tester.com kann linuxmuster m.E. kaum beeinflussen. Da hängt ja auch viel von den Provider-Einstellungen ab. Ob z.B. SPF wichtig ist kann man m.E. streiten - manche meinen, dass das Konzept „broken by design“ ist.
Als MX-Record solltest Du deine externe IP-Adresse angeben, über die letztlich dein Mailserver erreicht wird. In den meisten Fällen dürfte das die OPNSense sein.
Leider bin ich nächste Woche verhindert, versuche das aber noch nach zutragen. Vielleicht habe ich dann auch Zeit nochmal mit Testsystemen das Problem genauer einzukreisen. Kann aber nichts versprechen.
Hallo Tom, hast du gesehen, dass Thomas das Paket aktualisiert hat? Ein paar Fehler sind behoben. Ich weiß noch nicht, wie ich damit umgehen soll … zB: neu anfangen oder nicht?
Hallo Tom.
Bist du an dem Thema noch dran? Gibt’s Neuigkeiten?
Ich bin nicht sicher, wo der MX-Eintrag hingehört – evtl aber sogar auf die OPNSense-FW zur WAN-Schnittstelle?? Ich habe eine entsprechende Einstellungsmöglichkeit bei den dynamischen DNS-Diensten gefunden. Dort sieht das ganze dann so aus:
… und noch eine Frage hinterher: Ich hätte es eigentlich lieber so, dass für alle User eine eMail-Adresse der Form: vorname.nachname@meine-domain.de
und nicht login@linuxmuster.meine-domain.de
erzeugt wird. Sehe ich das richtig, dass das unter ldap-aliases.cf eingestellt werden kann?
Unter lmn-6.x wurde ja direkt auf dem Server die Datei /etc/aliases erzeugt. Das ist unter v7 aber nicht mehr der Fall, oder?? Hier steht jedenfalls ein einziger Eintrag im Container des mail-Servers für root unter /etc/aliases … mehr nicht.
Hallo.
Gibt es irgendwelche Neuigkeiten bzgl des Mail-Servers und dessen Anbindung an den lmn-v7-Server? Das scheinen hier nicht viele zu nutzen; ich nehme an, weil Belwü ähnliches bietet?
Ich habe mich jedenfalls gefragt, ob die eMail-Adressen-Konstruktion in Form von: vorname.nachname@meine-domain.de überhaupt funktionieren kann. Es könnte ja doppelte Namen geben – und das dürfte bei so einer einfachen alias-Defintion zu Problemen führen, oder!??
da hänge ich mich doch gleich mal dran: Funktionieren denn inzwischen
die Mailverteiler wie 10a@meineschule.de? Wir nutzen das für Klassen und
Projektgruppen recht intensiv. Vor allem das Mailsystem (und der wohl
noch langsame Klassenarbeitsmodus) halten uns derzeit noch vom Umstieg
ab, und es würde mich sehr freuen, wenn es da Neuigkeiten gäbe.