Ich habe die Dokumente zu diesem und anderen Posts hier bereits erneut gelesen und das ist mir immer noch sehr unklar. Ich habe verschiedene Dinge getestet, um den Unterschied zwischen alias_maps
und zu verstehen, virtual_alias_maps
und ich sehe die Verwendung dieser zwei separaten Einstellungen in Postfix nicht. Folgendes habe ich bisher gefunden (Hinweis: Ich verwende Postfix auf demselben Server wie meinen Webserver als Null-Client, um nur E-Mails zu senden) :
1) Datei / etc / aliases:
root: [email protected]
Als ich das oben alias_maps
erwähnte hinzufügte , bemerkte ich, dass einige Dienste wie fail2ban dies auswählen können und es sendet Root-E-Mails an die angegebenen Alias-E-Mail-Adressen. Allerdings habe ich auch bemerkt, dass einige andere Dienste (wie der mail
Befehl) dies nicht berücksichtigen und versuchen, die E-Mail direkt an [email protected] zu senden, was nicht existiert (ich denke myorigin
, es ist die Postfix- Einstellung, die @meinedomain.com hinzufügt). . Um dies zu beheben habe ich dann dievirtual_alias_maps
2) / etc / postfix / virtual
root [email protected]
Wenn das oben Gesagte hinzugefügt wird, verwenden alle Dienste diese E-Mail mit virtuellen Aliasen. Ich bemerkte auch, dass, sobald ich das Obige hinzufüge, sogar fail2ban anfängt, meine anfänglichen Einstellungen in der /etc/aliases/
Datei zu ignorieren und der in der virtuellen Datei angegebenen E-Mail-Adresse zu folgen.
Das hat mich jetzt noch mehr verwirrt -
Warum brauchen wir,
/etc/aliases/
wenn die E-Mail in der virtuellen Aliase-Karte diese zu überschreiben scheint?Was ist der Zweck der Zuordnung dieser beiden separaten Aliase und wann entscheiden wir, wann welche verwendet werden sollen?
Warum folgte fail2ban (das zum Versenden von E-Mails konfiguriert ist
root@localhost
) zuerst der inalias_maps
(/ etc / aliases /) angegebenen E-Mail-Adresse und entschloss sich später, diese zu ignorieren, sobald sievirtual_alias_maps
hinzugefügt wurde?Warum lesen nicht alle Dienste E-Mail-Aliase, die in / etc / aliases aufgeführt sind, und funktionieren nur, wenn die E-Mail-Aliase in der virtuellen Aliaszuordnung hinzugefügt werden?
Ich habe seit gestern mehrere Stunden verbracht und bin mir immer noch unsicher. Kann mir jemand helfen, meine Verwirrung zu beseitigen?
BEARBEITEN:
Dies ist das Mail-Protokoll, wenn E-Mails mit dem mail root
Befehl root gesendet werden . Die Aliase-E-Mail für root wird in / etc / aliases / erwähnt. Mail funktioniert jedoch erst, wenn ich diese Root-Aliase-E-Mail von aliases_maps
nach verschiebevirtual_aliases_maps
Protokollieren Sie, wenn der Root-E-Mail-Alias in /etc/aliases/
:
Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root>
Nov 14 16:39:27 Debian postfix/cleanup[4495]: 0F12643432: message-id=<[email protected]>
Nov 14 16:39:27 Debian postfix/qmgr[4338]: 0F12643432: from=<[email protected]>, size=517, nrcpt=1 (queue active)
Nov 14 16:39:27 Debian postfix/error[4496]: 0F12643432: to=<[email protected]>, orig_to=<root>, relay=none, delay=0.04, delays=0.03/0/0/0.01, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to domainname.com[128.199.147.136]:25: Connection refused)
Dies ist das Protokoll, nachdem die E-Mail-Aliase für root von dort verschoben wurden /etc/aliases/
, /etc/postfix/virtual
wo die E-Mail-Zustellung nach der Änderung erfolgreich war:
Nov 14 16:44:58 Debian postfix/pickup[4545]: ADD9A43436: uid=0 from=<root>
Nov 14 16:44:58 Debian postfix/cleanup[4563]: ADD9A43436: message-id=<[email protected]>
Nov 14 16:44:58 Debian postfix/qmgr[4544]: ADD9A43436: from=<[email protected]>, size=453, nrcpt=1 (queue active)
Nov 14 16:45:00 Debian postfix/smtp[4551]: ADD9A43436: to=<[email protected]>, orig_to=<root>, relay=somesite.com[108.160.157.120]:25, delay=1.9, delays=0.03/0/0.97/0.88, dsn=2.0.0, status=sent (250 OK id=1XpEqC-0002ry-9s)
Nov 14 16:45:00 Debian postfix/qmgr[4544]: ADD9A43436: removed
I also noticed that some other services (like mail command) does not respect this
-> zeige bitte den zu diesem ZustandAntworten:
Etwas Hintergrund
Postfix erbte einige Funktionen von älteren Sendmail wie Milter und Aliase. Die Datei
/etc/aliases
ist Teil deraliases
Vererbung und wird von implementiertalias_maps
. Auf der anderen Seite hat Postfixvirtual_maps
/virtual_alias_maps
für das E-Mail-Aliasing. Also, was ist der Unterschied zwischen ihnen?Parameter
alias_maps
Wird nur für die Zustellung vor Ort (8) verwendet
Je nach Adressklasse in Postfix wird die E-Mail von local (8) zugestellt , wenn die Empfängerdomänennamen in der Liste aufgeführt sind
mydestination
Die Sucheingabe bestand nur aus lokalen Teilen von vollständigen E-Mail-Adressen (z. B. myuser von [email protected]). Domain-Teile des Empfängers werden verworfen.
Das Nachschlageergebnis kann eine oder mehrere der folgenden Angaben enthalten:
Parameter
virtual_alias_maps
Wird bei virtueller (5) Zustellung verwendet
Wird immer beim ersten Mal vor allen anderen Adressklassen aufgerufen . Es kümmert sich nicht darum , ob der Empfänger - Domain wurde aufgeführt in
mydestination
,virtual_mailbox_domains
oder an anderen Orten. Es wird die Adresse / den Alias überschreiben, die / der an anderen Stellen definiert wurde.Die Sucheingabe hat ein bestimmtes Format
user @ domain : Es stimmt buchstäblich mit user @ domain überein
Benutzer : es wird passen Benutzer @site wenn Website gleich ist
$myorigin
, wenn Standort aufgeführt ist$mydestination
, oder wenn es aufgeführt wird in$inet_interfaces
oder$proxy_interfaces
. Diese Funktionalität überschneidet sich mit der Funktionalität der lokalen Aliase (5) -Datenbank.@domain : Es passt zu jeder E-Mail, die für
domain
lokale Teile bestimmt istDas Nachschlageergebnis muss sein
$myorigin
wennappend_at_myorigin
Set jaWie Sie oben sehen können, verfügt
alias_maps
(/ etc / aliases) über einige zusätzliche Funktionen (neben der Weiterleitung) wie das Weiterleiten an den Befehl. Es steht im Gegensatz zuvirtual_alias_maps
der einfach weitergeleiteten E-Mail.Die
alias_maps
Nachteile sind, dass Sie unterscheiden können, ob der ursprüngliche Empfänger die Form [email protected] oder [email protected] hat . Beide werden dem Root-Eintrag in zugeordnetalias_maps
. In anderen Händen können Sie mit andere Weiterleitungsadressen definierenvirtual_alias_maps
.Bevor virtual_alias_maps hinzugefügt wurde : root @ localhost wurde durch einen Alias versehen,
alias_maps
weil localhost in aufgeführt warmydestination
.Nach der Definition von virtual_alias_maps : Der Eintrag
root
(in virtual_alias_maps) enthält keine Domänenteile, und localhost wurde in aufgelistetmydestination
, sodass er übereinstimmtroot [email protected]
.Der Befehl
mail root
sendet eine E-Mail an root. Da es an Domänenteilen mangelt, hängt Postfix Trivial-Rewrite Myorigin an Domänenteile an. E-Mails werden also an root @ myorigin gesendet .Vor dem Hinzufügen von virtual_alias_maps : Ist leider
myorigin
nicht in aufgeführtmydestination
, daher werden keine Aliasnamen nach verwendetalias_maps
.Nach dem Hinzufügen von virtual_alias_maps : Der Eintrag
root
(in virtual_alias_maps) enthält keine Domänenteile und myorigin (offensichtlich) die gleichen wiemyorigin
, sodass er übereinstimmtroot [email protected]
.quelle
alias_maps
Nachteile sind, dass Sie unterscheiden können ... das Wort kann sollte wahrscheinlich nicht sein können . Sonst kann ich es nicht verstehen./etc/aliases
Gibt es in erster Linie für die lokale Zustellung, zum Beispiel Mail an Root von Cron usw., ist es schön, die lokalen Aliase getrennt zu halten,virtual_alias_maps
kann auch mit SQL-DBs verwendet werden und so weiter.virtual_alias_maps
Dies gilt für virtuelle Benutzer (und virtuelle Domänen), die häufig keinen Systembenutzern zugeordnet sind. Wenn Sie jedoch keine virtuellen Domänen und nur sehr wenige Benutzer haben, ist diese Art von Funktionalität möglicherweise nicht erforderlich.fail2ban kümmert sich nicht darum, es sendet nur E-Mails an den MTA.
Sie müssen genauer definieren, welche Dienste, wie und wo werden E-Mails gesendet?
quelle
mail root
Befehl dann nicht tatsächlich in diese Kategorie fallen? Warum wird bei diesem Service die Information in / etc / aliases berücksichtigt, wenn es sich um eine lokale Lieferung handelt? (2) Wenn man diese für mein Szenario betrachtet, ist es dann eine gute Praxis, wenn der Benutzer die in beiden genannten E-Mail-Adressen/etc/aliases
als Aliase verwendet,virtual_alias_maps
damit sie für alles funktionieren?/etc/aliases
standardmäßig eine wirklich blöde Frage verwenden, die dunewaliases
nach dem Update der Datei ausgeführt hast , oder? 2. Ich würde sagen, das ist übertrieben, wenn die Leute E-Mails vom lokalen Computer empfangen, wäre es sinnvoll, die Skripte so zu konfigurieren, dass sie ihre richtige E-Mail-Adresse verwenden. Auf diese Weise werden sie über Postfix weitergeleitet und an das richtige Ziel gesendet.newaliases
after change neu aufgebaut. Das Einzige, woran ich denken kann, ist, dass keine Aliase verwendet werden, möglicherweise die Postfix-Einstellung, die@$domain_name
nach dem Benutzer hinzugefügtvirtual_alias_maps
wird und daher zum Umleiten dieser E-Mails erforderlich ist. Ich habe dies in Postfix-Dokumenten gelesen und vielleicht funktioniert dermail
Befehl zum Root nicht mitaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local Trotzdem , vielen Dank, dass Sie mir geholfen haben, diesen Nick besser zu verstehen. Ich weiß es wirklich zu schätzen .. :)