Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
centos:mail_c7:postfix3_7 [10.02.2019 12:21. ] – angelegt djangocentos:mail_c7:postfix3_7 [10.02.2019 13:21. ] – virtuelle(r) Mailserver unter Postfix 3.x und CentOS 7 #CentOS7 #Postfix3 django
Zeile 11: Zeile 11:
 Dabei ist es logisch ausgeschlossen, dass eine Domain mehreren dieser Klassen angehört. Also immer **__nur einer__**, aber **__niemals__** zwei oder gar drei! Dabei ist es logisch ausgeschlossen, dass eine Domain mehreren dieser Klassen angehört. Also immer **__nur einer__**, aber **__niemals__** zwei oder gar drei!
 <WRAP round center important 85%> <WRAP round center important 85%>
-Nutzt man $mydestination, so weiss Postfix dass er dafür die hier aufgelistetetn Domains zuständig ist und prüft anhand von **local_recipient_maps** ob die Empfänger in /etc/aliases oder /etc/passwd zu finden sind. Eine etwaig vorhandene **relay_recipient_maps** wird Postfix hier nie auswerten!\\+Nutzt man $mydestination, so weiß Postfix dass er dafür die hier aufgelisteten Domains zuständig ist und prüft anhand von **local_recipient_maps** ob die Empfänger in /etc/aliases oder /etc/passwd zu finden sind. Eine etwaig vorhandene **relay_recipient_maps** wird Postfix hier nie auswerten!\\
 \\ \\
-Hinterlegt die Domains, die Postfix relayen soll hingegen in **relay_domains** wird dieser die **relay_recipient_maps** auswerten und an Nachrichten an die definierten //next hop// bzw. //final destinantion// weiterleiten!+Hinterlegen wir die Domains, die Postfix relayen sollhingegen in **relay_domains** wird dieser die **relay_recipient_maps** auswerten und an Nachrichten an die definierten //next hop// bzw. //final destinantion// weiterleiten!
 </WRAP> </WRAP>
- 
- 
- 
- 
 </WRAP> </WRAP>
  
Zeile 29: Zeile 25:
 Im ersten Schritt erweitern wir nun unsere Postfix-Konfigurationsdatei um folgende Zeilen. Hierzu nutzen wir wie immer den Editor unserer Wahl, so z.B. **vim**. Im ersten Schritt erweitern wir nun unsere Postfix-Konfigurationsdatei um folgende Zeilen. Hierzu nutzen wir wie immer den Editor unserer Wahl, so z.B. **vim**.
    # vim /etc/postfix/main.cf    # vim /etc/postfix/main.cf
-<code bash># Django : 2012-02-06+<code bash>... 
 + 
 +# Django : 2019-02-10
 # Zur Weitergabe der angenommenen Nachrichten an das backend-System (Cyrus-IMAP-Server) verwenden wir # Zur Weitergabe der angenommenen Nachrichten an das backend-System (Cyrus-IMAP-Server) verwenden wir
 # eine separate Tabelle zur individuellen Weiterleitung.  # eine separate Tabelle zur individuellen Weiterleitung. 
Zeile 61: Zeile 59:
 # omni128.de                    meine eigene Domäne</code> # omni128.de                    meine eigene Domäne</code>
   - **transport_maps __UND__ relay_domains**: Da wir sowieso beide Informationen benötigen können wir auch gleich direkt den jeweiligen Transportweg direkt in der zweiten Spalte der relay_domains-Tabelle hierzu verwenden. <code> # vim /etc/postfix/relay_domains</code> <code bash># Kapitel 12.1 Postfix als eingehendes Mailrelay vor einem anderen Server   - **transport_maps __UND__ relay_domains**: Da wir sowieso beide Informationen benötigen können wir auch gleich direkt den jeweiligen Transportweg direkt in der zweiten Spalte der relay_domains-Tabelle hierzu verwenden. <code> # vim /etc/postfix/relay_domains</code> <code bash># Kapitel 12.1 Postfix als eingehendes Mailrelay vor einem anderen Server
-# Lookup-Tabelle zur Definition der Domänenm für die unser Mailserver Nachricht annehmen soll. +# Lookup-Tabelle zur Definition der Domänen für die unser Mailserver Nachricht annehmen soll. 
-# Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels  $ postmap /etc/postfix/relay_domains+# Nach dem Ändern und/oder Erweitern der Tabelle, muss noch mittels  $ postmap /etc/postfix/relay_domains
 # die zugehörige Datenbank erzeugt werden. # die zugehörige Datenbank erzeugt werden.
 # #
-# Relevanz ost erst eimal nur die erste Spalte. Die zweite Spalte dient nur zum Erhalten der Tabellenstruktur und+# Relevanz ist erst einmal nur die erste Spalte. Die zweite Spalte dient nur zum Erhalten der Tabellenstruktur und
 # kann daher z.B. als Hinweisfled zum Dokumentieren verwendet werden. # kann daher z.B. als Hinweisfled zum Dokumentieren verwendet werden.
 # Beispiel: # Beispiel:
Zeile 120: Zeile 118:
    # postmap /etc/postfix/virtual_alias_domains && postmap /etc/postfix/virtual_alias_maps    # postmap /etc/postfix/virtual_alias_domains && postmap /etc/postfix/virtual_alias_maps
 <code># ll virtual_* <code># ll virtual_*
--rw-r--r-- 1 root root   772 28Nov 09:47 virtual_alias_domains +-rw-r--r-- 1 root root   772 10Feb 13:37 virtual_alias_domains 
--rw-r--r-- 1 root root 12288  2Dez 20:59 virtual_alias_domains.db +-rw-r--r-- 1 root root 12288 10Feb 13:38 virtual_alias_domains.db 
--rw-r--r-- 1 root root  1109 28Nov 11:29 virtual_alias_maps +-rw-r--r-- 1 root root  1109 10Feb 13:37 virtual_alias_maps 
--rw-r--r-- 1 root root 12288  2Dez 20:59 virtual_alias_maps.db+-rw-r--r-- 1 root root 12288 10Feb 13:38 virtual_alias_maps.db
 </code> </code>
 Voila! Schon nimmt unser MX die Nachrichten den neuen **virtuellen Domains** an und stellt diese in die betreffenden Userpostfächer.  Voila! Schon nimmt unser MX die Nachrichten den neuen **virtuellen Domains** an und stellt diese in die betreffenden Userpostfächer. 
Zeile 131: Zeile 129:
 </WRAP> </WRAP>
 </WRAP> </WRAP>
-Den notwendigen Konfogurationseintrag finden wir bereits in der Hauptkonfigurationsdatei von unserem **Postfix 2.10.1** unter **CentOS 7.x**.+Den notwendigen Konfigurationseintrag finden wir bereits in der Hauptkonfigurationsdatei von unserem **Postfix 3.x** unter **CentOS 7.x**.
    # grep verify /etc/postfix/master.cf    # grep verify /etc/postfix/master.cf
  
Zeile 137: Zeile 135:
  
 Postfix wird mit Hilfe des Moduls **verify** versuchen, noch während der Annahme der Bachricht von einem fremden Mailserver, beim Backend-System in Erfahrung zu bringen, ob dieses die Nachricht auch abnehmen würde. Ist dies der Fall, reicht Postfix die Nachricht an das Backend weiter. Anderenfalls wird die Annahme der Nachricht verweigert. Damit nun der Mailserver nicht jedesmal nachfragen muss, werden wir ihm hierzu eine kleine Datenbanktabelle spendieren, die auch nach einen Neustart des Servers zur Verfügung stehen kann. Postfix wird mit Hilfe des Moduls **verify** versuchen, noch während der Annahme der Bachricht von einem fremden Mailserver, beim Backend-System in Erfahrung zu bringen, ob dieses die Nachricht auch abnehmen würde. Ist dies der Fall, reicht Postfix die Nachricht an das Backend weiter. Anderenfalls wird die Annahme der Nachricht verweigert. Damit nun der Mailserver nicht jedesmal nachfragen muss, werden wir ihm hierzu eine kleine Datenbanktabelle spendieren, die auch nach einen Neustart des Servers zur Verfügung stehen kann.
 +
 ==== Konfiguration ==== ==== Konfiguration ====
-Die Konfiguration, oder genauer gesagt die Aktivierung der Empfängervalidierung erfolgt über die Option **reject_unverified_recipient** in der //**/etc/postfix/main.cf**//+Die Konfiguration, oder genauer gesagt die Aktivierung der Empfängervalidierung erfolgt über die Option ''**reject_unverified_recipient**'' in der //**/etc/postfix/main.cf**//
  
-Dort aktivieren wir den in der [[centos:mail_c6:mta_3#restrictions-regelwerk|Grundkonfiguration unserers Restrictions-Regelwerk]] vorbereiteten Eintrag **reject_unverified_recipient**.+Dort aktivieren wir den in der [[postfix3_4#absicherung_mit_hilfe_von_restrictions|Grundkonfiguration unserers Restrictions-Regelwerk]] vorbereiteten Eintrag **reject_unverified_recipient**.
  
 <code bash>... <code bash>...
Zeile 147: Zeile 146:
 ## SMTP RECIPIENT RESTRICTIONS ## SMTP RECIPIENT RESTRICTIONS
 # #
-# Django : 2014-10-29 - Schutz unserer Empfänger mit Hilfe der Recipient +# Django : 2019-02-10 - Schutz unserer Empfänger mit Hilfe der Recipient 
 #          Restrictions  #          Restrictions 
 # default: smtpd_recipient_restrictions = # default: smtpd_recipient_restrictions =
Zeile 216: Zeile 215:
  
 Dieser Parameter legt fest, mit welchem //Envelope-From// die Anfragen an den Zielserver gerichtet werden sollen. Dieser Parameter legt fest, mit welchem //Envelope-From// die Anfragen an den Zielserver gerichtet werden sollen.
 +
 +=== Aktivierung ===
 +Zum Aktivieren unserer Konfigurationsänderung führen wir einen **reload** des postfix-Daemons durch.
 +   # systemctl reload postfix.service
 +
 +Der **Reload** wurde im maillog dokumentiert. Bei Bedarf können wir den Status unseres Postfix-Servers abfragen.
 +   # systemctl status postfix.service
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 255, 0)"><b>● </b></font>postfix.service - Postfix Mail Transport Agent
 +   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
 +   Active: <font style="color: rgb(0, 255, 0)"><b>active (running)</b></font> since Sun 2019-02-10 12:43:21 CET; 4min 22s ago
 +  Process: 27475 ExecStop=/usr/sbin/postfix stop (code=exited, status=0/SUCCESS)
 +  Process: 27592 ExecReload=/usr/sbin/postfix reload (code=exited, status=0/SUCCESS)
 +  Process: 27492 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
 +  Process: 27489 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
 +  Process: 27486 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
 + Main PID: 27566 (master)
 +   CGroup: /system.slice/postfix.service
 +           ├─27566 /usr/libexec/postfix/master -w
 +           ├─27603 pickup -l -t unix -u
 +           └─27604 qmgr -l -t unix -u
 +
 +Feb 10 12:47:39 vml000080.dmz.nausch.org systemd[1]: Reloading Postfix Mail Transport Agent.
 +Feb 10 12:47:39 vml000080.dmz.nausch.org postfix/master[27566]: reload -- version 3.3.2, configuration /etc/postfix
 +Feb 10 12:47:39 vml000080.dmz.nausch.org systemd[1]: Reloaded Postfix Mail Transport Agent.</font>
 +</pre>
 +</html>
  
 ==== automatische Pflege ==== ==== automatische Pflege ====
Zeile 221: Zeile 248:
    # tail -f /var/log/maillog    # tail -f /var/log/maillog
 <code>... <code>...
-Jun  4 22:11:20 vml000080 postfix/smtpd[13738]: connect from unknown[192.168.10.45] +Feb 10 13:37:20 vml000080 postfix/smtpd[13738]: connect from unknown[192.168.10.45] 
-Jun  4 22:12:06 vml000080 postfix/cleanup[13743]: 55C673A: message-id=<20120604201206.55C673A@mx1.nausch.org> +Feb 10 13:37:06 vml000080 postfix/cleanup[13743]: 55C673A: message-id=<20120604201206.55C673A@mx1.nausch.org> 
-Jun  4 22:12:06 vml000080 postfix/qmgr[13643]: 55C673A: from=<double-bounce@nausch.org>, size=253, nrcpt=1 (queue active) +Feb 10 13:37:06 vml000080 postfix/qmgr[13643]: 55C673A: from=<double-bounce@nausch.org>, size=253, nrcpt=1 (queue active) 
-Jun  4 22:12:06 vml000080 postfix/lmtp[13744]: 55C673A: to=<django@nausch.org>, relay=10.0.0.70[10.0.0.70]:24, delay=0.08, delays=0.04/0.01/0.02/0.01, dsn=2.1.5, status=deliverable (250 2.1.5 ok) +Feb 10 13:37:06 vml000080 postfix/lmtp[13744]: 55C673A: to=<django@nausch.org>, relay=10.0.0.70[10.0.0.70]:24, delay=0.08, delays=0.04/0.01/0.02/0.01, dsn=2.1.5, status=deliverable (250 2.1.5 ok) 
-Jun  4 22:12:06 vml000080 postfix/qmgr[13643]: 55C673A: removed +Feb 10 13:37:06 vml000080 postfix/qmgr[13643]: 55C673A: removed 
-Jun  4 22:12:09 vml000080 postfix/smtpd[13738]: 563E13A: client=unknown[192.168.10.45] +Feb 10 13:37:09 vml000080 postfix/smtpd[13738]: 563E13A: client=unknown[192.168.10.45] 
-Jun  4 22:12:17 vml000080 postfix/smtpd[13738]: disconnect from unknown[192.168.10.45]+Feb 10 13:37:17 vml000080 postfix/smtpd[13738]: disconnect from unknown[192.168.10.45]
 ... ...
 </code> </code>
Zeile 234: Zeile 261:
 Wir im Gegensatz versucht an einen nicht existierenden Empfänger eine Nachricht zuzustellen, erfolgt hier der Vermerk // **status=undeliverable** //.  Wir im Gegensatz versucht an einen nicht existierenden Empfänger eine Nachricht zuzustellen, erfolgt hier der Vermerk // **status=undeliverable** //. 
 <code>... <code>...
-Jun  4 22:26:07 vml000080 postfix/smtpd[13753]: connect from unknown[192.168.10.45] +Feb 10 13:42:07 vml000080 postfix/smtpd[13753]: connect from unknown[192.168.10.45] 
-Jun  4 22:26:37 vml000080 postfix/cleanup[13760]: F0DAC3A: message-id=<20120604202637.F0DAC3A@mx1.nausch.org> +Feb 10 13:42:37 vml000080 postfix/cleanup[13760]: F0DAC3A: message-id=<20120604202637.F0DAC3A@mx1.nausch.org> 
-Jun  4 22:26:38 vml000080 postfix/qmgr[13643]: F0DAC3A: from=<double-bounce@nausch.org>, size=253, nrcpt=1 (queue active) +Feb 10 13:42:38 vml000080 postfix/qmgr[13643]: F0DAC3A: from=<double-bounce@nausch.org>, size=253, nrcpt=1 (queue active) 
-Jun  4 22:26:38 vml000080 postfix/lmtp[13761]: F0DAC3A: to=<peer.heinlein@nausch.org>, relay=10.0.0.70[10.0.0.70]:24, delay=0.08, delays=0.04/0.01/0.01/0.01, dsn=5.1.1, status=undeliverable (host 10.0.0.70[10.0.0.70] said: 550-Mailbox unknown.  Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command)) +Feb 10 13:42:38 vml000080 postfix/lmtp[13761]: F0DAC3A: to=<peer.heinlein@nausch.org>, relay=10.0.0.70[10.0.0.70]:24, delay=0.08, delays=0.04/0.01/0.01/0.01, dsn=5.1.1, status=undeliverable (host 10.0.0.70[10.0.0.70] said: 550-Mailbox unknown.  Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command)) 
-Jun  4 22:26:38 vml000080 postfix/qmgr[13643]: F0DAC3A: removed +Feb 10 13:42:38 vml000080 postfix/qmgr[13643]: F0DAC3A: removed 
-Jun  4 22:26:40 vml000080 postfix/smtpd[13753]: NOQUEUE: reject: RCPT from unknown[192.168.10.45]: 450 4.1.1 <peer.heinlein@nausch.org>: Recipient address rejected: unverified address: host 10.0.0.70[10.0.0.70] said: 550-Mailbox unknown.  Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command); from=<swat@nausch.org> to=<peer.heinlein@nausch.org> proto=SMTP helo=<ich> +Feb 10 13:42:40 vml000080 postfix/smtpd[13753]: NOQUEUE: reject: RCPT from unknown[192.168.10.45]: 450 4.1.1 <peer.heinlein@nausch.org>: Recipient address rejected: unverified address: host 10.0.0.70[10.0.0.70] said: 550-Mailbox unknown.  Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command); from=<swat@nausch.org> to=<peer.heinlein@nausch.org> proto=SMTP helo=<ich> 
-Jun  4 22:26:49 vml000080 postfix/smtpd[13753]: disconnect from unknown[192.168.10.45]+Feb 10 13:42:49 vml000080 postfix/smtpd[13753]: disconnect from unknown[192.168.10.45]
 ... ...
 </code> </code>
Zeile 257: Zeile 284:
  
 ====== Links ====== ====== Links ======
-  * **⇐ [[centos:mail_c7:mta_6|Zurück zum Kapitel "Anbindung unseres MTAs Postfix 2.11 an einem Backend-Mailserver (Dovecot-IMAP-Server) unter CentOS7"]]** +/*  * **⇐ [[centos:mail_c7:mta_6|Zurück zum Kapitel "Anbindung unseres MTAs Postfix 2.11 an einem Backend-Mailserver (Dovecot-IMAP-Server) unter CentOS7"]]** 
-  * **⇒ [[centos:mail_c7:mta_8|Weiter zum Kapitel "SASL-Authentifizierung beim Postfix MTA 2.11 unter CentOS 7"]]**+  * **⇒ [[centos:mail_c7:mta_8|Weiter zum Kapitel "SASL-Authentifizierung beim Postfix MTA 2.11 unter CentOS 7"]]** */
   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-/* ~~AUTOTWEET:~~ */+~~AUTOTWEET:~~
  
  • centos/mail_c7/postfix3_7.txt
  • Zuletzt geändert: 22.07.2019 15:11.
  • von 127.0.0.1