kb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
kb [2016/08/13 11:02]
flacco [Mailversand - SMTP-Auth mit Dovecot-SASL]
kb [2020/10/20 10:47] (aktuell)
flacco [AMaViS]
Zeile 25: Zeile 25:
 Mit Einführung von Samba 4.0 brachte Samba eine eigene Implementation von Microsofts Active Directory mit. Dies ermöglichte uns den Umstieg von openLDAP auf Active Directory. Um alle Informationen die der invis Classic im LDAP speicherte auch im AD speichern zu können mussten wir eigene Schemaerweiterungen einspielen und darüber hinaus auch den von uns verwendeten DHCP-Server des ISC (Internet Systems Consortium) patchen. Mit Einführung von Samba 4.0 brachte Samba eine eigene Implementation von Microsofts Active Directory mit. Dies ermöglichte uns den Umstieg von openLDAP auf Active Directory. Um alle Informationen die der invis Classic im LDAP speicherte auch im AD speichern zu können mussten wir eigene Schemaerweiterungen einspielen und darüber hinaus auch den von uns verwendeten DHCP-Server des ISC (Internet Systems Consortium) patchen.
  
-Als DNS-Server verwenden wir nicht den "Samba Internal DNS", sondern weiterhin "​bind"​ (ebenfalls vom ISC). Dies wird allerdings von Samba direkt unterstützt. Die Anbindung erfolgt hier über einen DLZ-Treiber ([[http://​bind-dlz.sourceforge.net/​|Dynamic Loadable Zone]]) den Samba selbst mitbringt. Nebenbei bemerkt ist es auch in Microsoft AD-Umgebungen den DNS-Dienst auszulagern,​ ich habe das mit "ISC bind" bereits erfolgreich getestet.+Als DNS-Server verwenden wir nicht den "Samba Internal DNS", sondern weiterhin "​bind"​ (ebenfalls vom ISC). Dies wird allerdings von Samba direkt unterstützt. Die Anbindung erfolgt hier über einen DLZ-Treiber ([[http://​bind-dlz.sourceforge.net/​|Dynamic Loadable Zone]]) den Samba selbst mitbringt. Nebenbei bemerkt ist es auch in Microsoft AD-Umgebungen ​möglich ​den DNS-Dienst auszulagern,​ ich habe das mit "ISC bind" bereits erfolgreich getestet.
  
 Für die Benutzerverwaltung haben sich die Vorzeichen umgekehrt. Beim invis Classic wurden im LDAP prinzipiell POSIX-kompatible Benutzerkonten angelegt, die um Windows- respektive Samba-Attribute ergänzt wurden. Mit Active Directory bilden jetzt Windows-Benutzerkonten die Basis, die um POSIX-Attribute erweitert werden. Da Microsoft dies selbst unter Verwendung der eigenen Erweiterung "​Services for UNIX" (SFU) anbietet, bricht es nicht die Kompatibilität zur MS-Welt. Unter Samba wird diese Ergänzung "RFC 2307 Erweiterung"​ genannt. ​ Für die Benutzerverwaltung haben sich die Vorzeichen umgekehrt. Beim invis Classic wurden im LDAP prinzipiell POSIX-kompatible Benutzerkonten angelegt, die um Windows- respektive Samba-Attribute ergänzt wurden. Mit Active Directory bilden jetzt Windows-Benutzerkonten die Basis, die um POSIX-Attribute erweitert werden. Da Microsoft dies selbst unter Verwendung der eigenen Erweiterung "​Services for UNIX" (SFU) anbietet, bricht es nicht die Kompatibilität zur MS-Welt. Unter Samba wird diese Ergänzung "RFC 2307 Erweiterung"​ genannt. ​
Zeile 42: Zeile 42:
  
 ^Protokoll ​ ^Transportprotokoll ​ ^Port  ^Bemerkung ​ ^ ^Protokoll ​ ^Transportprotokoll ​ ^Port  ^Bemerkung ​ ^
-|Kerberos ​ |  TCP & UDP  |  88  |    +|Kerberos ​ |  TCP & UDP  |  88  |  ​Benutzerauthentifizierung  ​
-|LDAP  |  TCP & UDP  |  389  |    +|LDAP  |  TCP & UDP  |  389  |  ​Daten-Backend,​ Benutzerveraltung,​ DNS, DHCP und invis-Portal  ​
-|LDAPs ​ |  TCP  |  636  |    +|LDAPs ​ |  TCP  |  636  |  ​s.o.  ​
-|DNS  |  TCP & UDP  |  53  |    |+|DNS  |  TCP & UDP  |  53  ​|  Namensauflösung und Service-Location ​ | 
 +|    ​|  TCP  | 1024  |  Zugriff auf DNS-Daten mittels RSAT  ​|
 |GC  |  TCP  |  3268  |  Global Catalog ​ | |GC  |  TCP  |  3268  |  Global Catalog ​ |
 +|GC  |  TCP  |  3269  |  Global Catalog SSL  |
 |SMB/​CIFS ​ |  TCP & UDP  |  445  |  Zugriff auf sysvol Freigabe ​ | |SMB/​CIFS ​ |  TCP & UDP  |  445  |  Zugriff auf sysvol Freigabe ​ |
 |RPC  |  TCP  |  135  |Früheres Microsoft Messaging Protokoll, wird genutzt für die Replikation der sysvol Freigabe. Dies wird von Samba noch nicht unterstützt. ​ | |RPC  |  TCP  |  135  |Früheres Microsoft Messaging Protokoll, wird genutzt für die Replikation der sysvol Freigabe. Dies wird von Samba noch nicht unterstützt. ​ |
 +|    |  TCP & UDP  |  464  |  Replication,​ User and Computer Authentication,​ Trusts ​ |
  
 ==== ISC DHCP mit ActiveDirectory ==== ==== ISC DHCP mit ActiveDirectory ====
Zeile 652: Zeile 655:
  
 ==== AMaViS ==== ==== AMaViS ====
 +
 +=== Konfiguration ===
  
 In der AMaViS-Konfiguration müssen keine besonderen Einstellungen für Annahme und Rückgabe der Mails vorgenommen werden, da die bisher besprochenen Transportwege den Standard-Vorgaben von AMaViS entsprechen. In der AMaViS-Konfiguration müssen keine besonderen Einstellungen für Annahme und Rückgabe der Mails vorgenommen werden, da die bisher besprochenen Transportwege den Standard-Vorgaben von AMaViS entsprechen.
Zeile 679: Zeile 684:
 </​code>​ </​code>​
  
 +=== Neue Konfigurationsdirektiven ab Version 2.6.x ===
 +
 +In Versionen neuer 2.6.x ist Amavis in der Lage eingehende SMTP-Verbindungen zu cachen. Das reduziert auf hochfrequentierten Servern die CPU-Last. Auf nur gering belasteten Servern kann es jedoch zu Timeouts bei der Mail-Übergabe an Amavis kommen. Hier die originale Dokumentation dazu:
 +
 +//"
 +  A current value of a global settings $smtp_connection_cache_enable
 +  controls whether a session will be retained after forwarding a message
 +  or not. Its default initial value is true.
 +
 +  A global setting $smtp_connection_cache_on_demand controls whether amavisd
 +  is allowed to dynamically change the $smtp_connection_cache_enable setting
 +  according to its estimate of the message frequency. The heuristics is
 +  currently very simple: if time interval between a previous task completion
 +  by this child process and the arrival of a current message is 5 seconds
 +  or less, the $smtp_connection_cache_enable is turned on (which will affect
 +  the next message); if the interval is 15 seconds or more, it is turned off.
 +  The default value of the $smtp_connection_cache_on_demand is true, thus
 +  enabling the adaptive behaviour.
 +
 +  On a busy server the connection caching can save some processing time.
 +  Savings are substantial if client-side TLS is enabled, otherwise just a
 +  few milliseconds are saved. On an idle server the feature may unnecessarily
 +  keep sessions to MTA open (until MTA times them out), so one can disable
 +  the feature by setting both controls to false (to 0 or undef).
 +"//
 +
 +D.h. beide Werte sind auf gering belasteten Servern auf "​0"​ zu setzen um Postfix nicht zu verwirren. Das Verhalten von Postfix im Falle eines Timeouts ist merkwürdig. Unter Umständen scheint die eingehende SMTP-Sitzung noch gecached zu sein, d.h. Postfix hat noch kein finales Reject, versucht aber dennoch die Mail ein zweites Mal an Amavis zu übergeben. Gelingt der zweite Zustellversuch kommt es dazu, dass eine Mail einerseits ankommt aber der Absender dennoch nach Ablauf eines Timouts des ersten Versuchs eine Undelivery Meldung erhält. Konfusion perfekt!
 +
 +Die Rückmail enthält folgende Fehlermeldung:​
 +
 +<​code>​
 +451 4.3.0 Error: queue file write error
 +</​code>​
 +
 +Wird eine neue Amavisd-Installation mit einer alten Konfigurationsdatei betrieben, fehlen die zugehörigen Konfigurationsdirektiven und müssen ergänzt werden:
 +
 +<​code>​
 +...
 +$smtp_connection_cache_on_demand = 0;
 +$smtp_connection_cache_enable = 0;
 +...
 +</​code>​
 +
 +Beide Direktiven sind auf 0 zu setzen.
 ==== Postfix - Rücknahme und Weitergabe an Dovecot ==== ==== Postfix - Rücknahme und Weitergabe an Dovecot ====
  
Zeile 817: Zeile 866:
 Auch im Fehlerfall sollte zwischen den Neustarts eine Pause liegen, da der Docker-Container ggf. nicht so schnell agiert, wie //​**systemd**//​ das erwartet. "​RestartSec=10"​ setzt diese Pause auf 10 Sekunden. Auch im Fehlerfall sollte zwischen den Neustarts eine Pause liegen, da der Docker-Container ggf. nicht so schnell agiert, wie //​**systemd**//​ das erwartet. "​RestartSec=10"​ setzt diese Pause auf 10 Sekunden.
  
-Da ich im Beispiel dem Container mit "​--name="​ einen reproduzierbaren Namen gebe, scheitern zu schnelle Neustarts oft daran, dass bereits ein Container mit diesem Namen existiert (...auch wenn dieser nicht funktioniert). Mit "​ExecStopPost="​ wird nach einem Stoppen des Containers dieser auch entfernt.+Da ich im Beispiel dem Container mit "​--name="​ einen reproduzierbaren Namen gebe, scheitern zu schnelle Neustarts oft daran, dass bereits ein Container mit diesem Namen existiert (...auch wenn dieser nicht funktioniert). Mit "​ExecStopPost="​ wird nach einem Stoppen des Containers dieser auch entfernt. Damit steht er einem Neustart unter gleichem Namen nicht im Weg.
  
 +Gespeichert werden die Container-Service-Unit Dateien unter: <​file>/​etc/​systemd/​system</​file>​
 +
 +Eine Veränderung dieser Dateien muss mit
 +
 +<​code>​
 +linux:~ # systemctl daemon-reload
 +</​code>​
  
 +übernommen werden.
  • kb.1471086173.txt.gz
  • Zuletzt geändert: 2016/08/13 11:02
  • von flacco