Przeczytałem już ponownie dokumentację na ten temat, a także na innych postach tutaj i nadal jest to dla mnie bardzo niejasne. Testowałem różne rzeczy, aby zrozumieć różnicę między, alias_maps
i virtual_alias_maps
nie widzę zastosowania tych dwóch oddzielnych ustawień w Postfiksie. Oto, co do tej pory znalazłem (Uwaga - używam Postfiksa na tym samym serwerze, co mój serwer WWW jako klient zerowy, aby wysyłać tylko e-maile) :
1) plik / etc / aliases:
root: [email protected]
Kiedy dodam powyższe do alias_maps
, zauważyłem, że niektóre usługi, takie jak fail2ban, są w stanie to wybrać i wysyła e-maile root do wymienionych adresów e-mail alias. Zauważyłem jednak również, że niektóre inne usługi (takie jak mail
polecenie) nie przestrzegają tego i próbują wysłać wiadomość e-mail bezpośrednio na adres root@moja_domena.com, który nie istnieje (myślę, że to myorigin
ustawienie Postfiksa , które dodaje @ moja_domena.com) . Aby to naprawić, dodałemvirtual_alias_maps
2) / etc / postfix / virtual
root [email protected]
Po dodaniu powyższego wszystkie usługi korzystają z tego wirtualnego aliasu e-mail. Zauważyłem również, że po dodaniu powyższego, nawet fail2ban zaczyna ignorować moje początkowe ustawienia w /etc/aliases/
pliku i zaczyna podążać za adresem e-mail podanym w pliku wirtualnym.
To jeszcze bardziej mnie zdezorientowało -
Dlaczego potrzebujemy,
/etc/aliases/
gdy e-mail w wirtualnej mapie aliasów wydaje się go zastępować?Jaki jest cel posiadania tych dwóch oddzielnych mapowań aliasów i kiedy decydujemy, kiedy z nich korzystać?
Dlaczego fail2ban (który jest skonfigurowany do wysyłania wiadomości e-mail
root@localhost
) najpierw podążył za adresem e-mail podanym walias_maps
(/ etc / aliases /), a później zdecydował się zignorować to, które razvirtual_alias_maps
zostało dodane?Dlaczego wszystkie usługi nie czytają aliasów e-mail wymienionych w / etc / alias i działają tylko wtedy, gdy aliasy e-mail są dodawane do wirtualnej mapy aliasów?
Od wczoraj spędziłem kilka godzin i wciąż nie jestem pewien. Czy ktoś może mi pomóc usunąć moje zamieszanie?
EDYCJA:
To jest dziennik poczty, gdy wiadomość e-mail jest wysyłana do roota za pomocą mail root
polecenia. E-mail aliasy dla roota jest wymieniony w / etc / aliases /. Ale poczta nie działa, dopóki nie przeniosę wiadomości e-mail o aliasach głównych aliases_maps
dovirtual_aliases_maps
Zaloguj się, gdy główny alias e-mail jest wymieniony w /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)
Jest to dziennik po przeniesieniu aliasów e-mail dla użytkownika root /etc/aliases/
do /etc/postfix/virtual
miejsca, w którym dostarczenie wiadomości e-mail zakończyło się pomyślnie po zmianie:
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
-> proszę pokazać wpis maillog związany z tym warunkiemOdpowiedzi:
Trochę tła
Postfix odziedziczył niektóre funkcje ze starszych sendmailów, takie jak milter i aliasy. Plik
/etc/aliases
jest częściąaliases
dziedziczenia i jest implementowany przezalias_maps
. Z drugiej strony postfix mavirtual_maps
/virtual_alias_maps
do obsługi aliasingu e-mail. Jaka jest różnica między nimi?Parametr
alias_maps
Używany tylko do dostawy lokalnej (8)
Zgodnie z klasą adresów w postfiksie , e-mail będzie dostarczany lokalnie (8), jeśli nazwy domen odbiorców są wymienione w
mydestination
Dane wejściowe wyszukiwania były tylko częściami lokalnymi z pełnych adresów e-mail (np. Mój użytkownik z mój uż[email protected]). Odrzuca części domeny odbiorcy.
Wynik wyszukiwania może zawierać jedną lub więcej z następujących czynności:
Parametr
virtual_alias_maps
Używany przez dostawę wirtualną (5)
Zawsze wywoływane po raz pierwszy przed innymi klasami adresów. Nie ma znaczenia, czy domena adresata została wymieniona na liście
mydestination
,virtual_mailbox_domains
czy w innych miejscach. Zastąpi adres / alias zdefiniowany w innych miejscach.Dane wejściowe wyszukiwania mają pewien format
użytkownik @ domena : dosłownie dopasuje użytkownik @ domena
użytkownik : dopasuje użytkownika @ witryna, gdy witryna jest równa
$myorigin
, gdy witryna jest wymieniona w$mydestination
lub gdy jest wymieniona w$inet_interfaces
lub$proxy_interfaces
. Ta funkcja pokrywa się z funkcjonalnością lokalnej bazy danych aliasów (5).@ domena : będzie pasować do każdego adresu e-mail przeznaczonego dla,
domain
niezależnie od lokalnych częściWynik wyszukiwania musi być
$myorigin
jeśli jestappend_at_myorigin
ustawiony takJak widać powyżej,
alias_maps
(/ etc / aliases) ma kilka dodatkowych funkcji (oprócz przekazywania), takich jak potokowanie do polecenia. Kontrastuje zvirtual_alias_maps
tym tylko e-mailem.Te
alias_maps
wady są można odróżnić, czy odbiorca ma oryginalna forma [email protected] lub [email protected] . Oba zostaną zamapowane na wpis rootalias_maps
. W innych rękach możesz zdefiniować inny adres przekierowania za pomocąvirtual_alias_maps
.Przed dodaniem virtual_alias_maps : root @ localhost został aliasowany przez,
alias_maps
ponieważ localhost był wymieniony wmydestination
.Po zdefiniowaniu map wirtualnych_alias : Wpis
root
(w mapach wirtualnych_alias) nie ma części domeny i lokalny host został wymienionymydestination
, więc będzie pasowałroot [email protected]
.Polecenie
mail root
wyśle wiadomość e-mail do roota. Ponieważ brakuje części domeny, postfix trywialne przepisanie spowoduje dołączenie myorigin do części domeny. Tak więc poczta zostanie wysłana do root @ myorigin .Przed dodaniem virtual_alias_maps : Niestety
myorigin
nie ma go na liściemydestination
, więc nie będzie aliasu przezalias_maps
.Po dodaniu virtual_alias_maps : Wpis
root
(w virtual_alias_maps) nie ma części domeny i myorigin (oczywiście) takich samych jakmyorigin
, więc będzie pasowaćroot [email protected]
.źródło
alias_maps
wady są można różnicować ... słowo może prawdopodobnie miało być nie może . W przeciwnym razie nie mogę tego zrozumieć./etc/aliases
czy jest tam przede wszystkim do dostarczania lokalnego, na przykład poczty do rootowania z crona itp., fajnie jest trzymać osobne lokalne aliasy,virtual_alias_maps
można go również używać z bazami danych SQL itd.virtual_alias_maps
jest przeznaczony dla użytkowników wirtualnych (i domen wirtualnych), które często nie mapują użytkowników systemu, ale jeśli nie masz domen wirtualnych i bardzo niewielu użytkowników, taka funkcjonalność może nie być konieczna.fail2ban nie dba o to, po prostu przesyła wiadomość e-mail do MTA.
Musisz sprecyzować, które usługi, jak i gdzie przesyłają pocztę?
źródło
mail root
polecenie nie powinno faktycznie należeć do tej kategorii? Dlaczego ta usługa nie bierze pod uwagę informacji w / etc / alias, gdy jest to dostawa lokalna? (2) Biorąc to pod uwagę w moim scenariuszu, czy dobrą praktyką jest, aby użytkownik używał aliasów adresów e-mail wymienionych w obu tych/etc/aliases
polach,virtual_alias_maps
aby działały na wszystko?/etc/aliases
domyślnie polecenie mail powinno używać naprawdę głupiego pytania, które uruchomiłeśnewaliases
po aktualizacji pliku, prawda? 2. Powiedziałbym, że to przesada, jeśli ludzie będą odbierać pocztę z lokalnego komputera, warto skonfigurować skrypty tak, aby używały swojego właściwego adresu e-mail, w ten sposób będą one kierowane przez Postfix i dostarczane do właściwego miejsca docelowego.newaliases
po zmianie. Jedyne, co mogę wymyślić, dlaczego nie używa aliasów, może być spowodowane ustawieniem Postfiksa, które dodaje się@$domain_name
po użytkowniku, a zatemvirtual_alias_maps
jest potrzebne do przekierowania tych e-maili. Przeczytałem to w dokumentach Postfiksa i może dlategomail
polecenie rootowania nie działa zaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local W każdym razie bardzo dziękuję za pomoc w lepszym zrozumieniu tego Nicka. Naprawdę to doceniam .. :)