Я уже перечитал документы об этом, а также о других сообщениях здесь, и мне это все еще очень непонятно. Я тестировал разные вещи, чтобы понять разницу между alias_maps
и virtual_alias_maps
и я не вижу использования этих двух отдельных настроек в postfix. Это то, что я нашел до сих пор (Примечание - я использую postfix на том же сервере, что и мой веб-сервер, в качестве нулевого клиента только для отправки электронных писем):
1) Файл / etc / aliases:
root: me@somedomain.com
Когда я добавляю вышеупомянутое к alias_maps
, Я заметил, что некоторые службы, такие как fail2ban, могут выбирать это и отправлять корневые электронные письма на упомянутые псевдонимы. Однако я также заметил, что некоторые другие службы (например, mail
команда) не соблюдает это и пытается отправить электронное письмо напрямую на root@mydomain.com, которого не существует (я думаю, что это постфикс myorigin
настройка, добавляющая @ mydomain.com). Чтобы исправить это, я добавил virtual_alias_maps
2) / и т.д. / постфикс / виртуальный
root me@someotherdomain.com
Когда вышеупомянутое добавлено, все службы используют этот виртуальный псевдоним электронной почты. Я также заметил, что как только я добавляю вышеуказанное, даже fail2ban начинает игнорировать мои начальные настройки в /etc/aliases/
файл и начинает отслеживать адрес электронной почты, указанный в виртуальном файле.
Вот это еще больше смутило меня -
Зачем нам нужен /etc/aliases/
когда электронная почта внутри карты виртуальных псевдонимов, кажется, переопределяет ее?
Какова цель отображения этих двух разных псевдонимов и когда мы решаем, когда что использовать?
Почему fail2ban (настроенный на отправку электронной почты на root@localhost
) сначала следуйте адресу электронной почты, указанному в alias_maps
(/ etc / aliases /) и позже решает проигнорировать это однажды virtual_alias_maps
был добавлен?
Почему не все службы читают псевдонимы электронной почты, упомянутые в / etc / aliases, и работают только тогда, когда псевдонимы электронной почты добавлены в виртуальную карту псевдонимов?
Я провел несколько часов со вчерашнего дня и все еще не уверен. Может ли кто-нибудь помочь мне прояснить мое замешательство?
РЕДАКТИРОВАТЬ: Это почтовый журнал, когда электронное письмо отправляется root с использованием mail root
команда. Электронная почта псевдонимов для root упоминается в / etc / aliases /. Но почта не работает, пока я не перенесу это письмо с корневыми псевдонимами из aliases_maps
к virtual_aliases_maps
Записывать, когда корневой псевдоним электронной почты упоминается в /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=<20141114110927.0F12643432@Debian.domainname.com>
Nov 14 16:39:27 Debian postfix/qmgr[4338]: 0F12643432: from=<root@domainname.com>, size=517, nrcpt=1 (queue active)
Nov 14 16:39:27 Debian postfix/error[4496]: 0F12643432: to=<root@domainname.com>, 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)
Это журнал после того, как псевдонимы электронной почты для root перемещены из /etc/aliases/
к /etc/postfix/virtual
где доставка электронной почты успешна после изменения:
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=<20141114111458.ADD9A43436@Debian.domainname.com>
Nov 14 16:44:58 Debian postfix/qmgr[4544]: ADD9A43436: from=<root@domainname.com>, size=453, nrcpt=1 (queue active)
Nov 14 16:45:00 Debian postfix/smtp[4551]: ADD9A43436: to=<admin@somesite.com>, 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
Postfix унаследовал некоторые функции от старого sendmail, такие как milter и псевдонимы. Файл /etc/aliases
это часть aliases
наследование и осуществляется alias_maps
. С другой стороны, postfix имеет virtual_maps
/virtual_alias_maps
для обработки псевдонимов электронной почты. Так в чем же между ними разница?
alias_maps
Используется только для местная (8) доставка
В соответствии с класс адреса в постфиксе, электронная почта будет доставлена по местному (8) если доменные имена получателя указаны в mydestination
В поисковый ввод были только локальные части из полного адреса электронной почты (например, myuser из myuser@example.com). Он отбрасывает доменные части получателя.
В результат поиска может содержать одно или несколько из следующего:
virtual_alias_maps
Использован виртуальная (5) доставка
Всегда вызывается в первый раз перед любыми другими классами адресов. Неважно, был ли домен получателя указан в mydestination
, virtual_mailbox_domains
или в других местах. Он переопределит адрес / псевдоним, определенный в других местах.
В поисковый ввод имеет какой-то формат
пользователь @ домен: это будет соответствовать пользователь @ домен буквально
пользователь: это будет соответствовать пользователь@site, когда site равно $myorigin
, когда сайт указан в $mydestination
, или когда он указан в $inet_interfaces
или $proxy_interfaces
. Эта функциональность частично совпадает с функциональностью локальной базы данных псевдонимов (5).
@домен: он будет соответствовать любому электронному письму, предназначенному для domain
независимо от местных частей
В результат поиска должно быть
$myorigin
если append_at_myorigin
устанавливать даЗачем нам нужен / etc / aliases, если электронная почта внутри карты виртуальных псевдонимов, кажется, переопределяет его?
Как видно выше, alias_maps
(/ etc / aliases) имеет некоторые дополнительные функции (помимо пересылки), такие как передача команды по конвейеру. Это контрастирует с virtual_alias_maps
это просто пересылка электронной почты.
Какова цель отображения этих двух разных псевдонимов и когда мы решаем, когда что использовать?
В alias_maps
недостатки в том, что вы можете различить, имеет ли первоначальный получатель форму root@example.com или root@example.net. Оба будут сопоставлены с корневой записью в alias_maps
. В других руках вы можете определить другой адрес пересылки с помощью virtual_alias_maps
.
Почему fail2ban (который настроен на отправку электронной почты на root @ localhost) сначала следовал адресу электронной почты, указанному в alias_maps (/ etc / aliases /), а затем решил проигнорировать его после добавления virtual_alias_maps?
Перед добавлением virtual_alias_maps: root @ localhost был псевдонимом alias_maps
потому что localhost был указан в mydestination
.
После определения virtual_alias_maps: Вход root
(в virtual_alias_maps) не имеет частей домена, а localhost был указан в mydestination
, поэтому он будет соответствовать root me@example.com
.
Почему не все службы читают псевдонимы электронной почты, упомянутые в / etc / aliases, и работают только тогда, когда псевдонимы электронной почты добавлены в виртуальную карту псевдонимов?
Команда mail root
отправит письмо root. Из-за отсутствия частей домена, постфиксная тривиальная перезапись добавит myorigin в части домена. Итак, письмо будет отправлено на корень @ myorigin.
Перед добавлением virtual_alias_maps: К сожалению, myorigin
не указан в mydestination
, поэтому он не будет использовать псевдонимы alias_maps
.
После добавления virtual_alias_maps: Вход root
(в virtual_alias_maps) не имеет частей домена и myorigin (очевидно) такой же, какmyorigin
, поэтому он будет соответствовать root me@example.com
.
/etc/aliases
существует в первую очередь для локальной доставки, например, для почты в root из cron и т. д., неплохо держать ваши локальные псевдонимы отдельно, virtual_alias_maps
также может использоваться с базами данных SQL и т. д.
virtual_alias_maps
предназначен для случаев, когда у вас есть виртуальные пользователи (и виртуальные домены), которые часто не отображаются на пользователей системы, но если у вас нет виртуальных доменов и очень мало пользователей, такая функциональность может не понадобиться.
fail2ban не заботится, он просто отправляет письмо в MTA.
Вам нужно уточнить, какие службы, как и куда они отправляют почту?