Я уже перечитал документы по этому, а также другим постам здесь, и это все еще очень неясно для меня. Я тестировал разные вещи, чтобы понять разницу между alias_maps
и virtual_alias_maps
я не вижу использования этих двух отдельных настроек в postfix. Это то, что я нашел до сих пор (Примечание: я использую postfix на том же сервере, что и мой веб-сервер, в качестве нулевого клиента только для отправки электронных писем) :
1) Файл / etc / aliases:
root: me@somedomain.com
Когда я добавил вышеупомянутое в alias_maps
, я заметил, что некоторые сервисы, такие как fail2ban, могут выбрать это, и он отправляет электронные письма root на указанные адреса электронной почты псевдонимов. Однако я также заметил, что некоторые другие службы (например, mail
команда) не соблюдают это и пытаются отправить электронное письмо напрямую на root@mydomain.com, который не существует (я думаю, что это myorigin
параметр postfix, который добавляет @ mydomain.com) , Чтобы это исправить, я добавилvirtual_alias_maps
2) / etc / postfix / virtual
root me@someotherdomain.com
Когда вышеупомянутое добавлено, все сервисы используют этот виртуальный псевдоним электронной почты. Я также заметил, что как только я добавлю вышеизложенное, даже fail2ban начинает игнорировать мои начальные настройки в /etc/aliases/
файле и начинает следовать адресу электронной почты, указанному в виртуальном файле.
Теперь это смутило меня еще больше -
Зачем нам это нужно,
/etc/aliases/
когда электронная почта внутри карты виртуальных псевдонимов перезаписывает ее?Какова цель отображения этих двух отдельных псевдонимов и когда мы решаем, когда и что использовать?
Почему fail2ban (который настроен для отправки по электронной почте
root@localhost
) сначала следовал по адресу электронной почты, указанному вalias_maps
(/ etc / aliases /), а затем решает игнорировать тот, которыйvirtual_alias_maps
был добавлен?Почему не все службы читают псевдонимы электронной почты, упомянутые в / etc / aliases, и работают только тогда, когда псевдонимы электронной почты добавляются в виртуальную карту псевдонимов?
Со вчерашнего дня я провел несколько часов и до сих пор не уверен. Может ли кто-нибудь помочь мне устранить мою путаницу?
РЕДАКТИРОВАТЬ:
Это почтовый журнал, когда электронная почта отправляется в корень с помощью mail root
команды. Адрес электронной почты для псевдонимов упоминается в / etc / aliases /. Но почта не работает, пока я не перенесу этот псевдоним root 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)
Это журнал после того, как псевдонимы адресов электронной почты для корня перемещаются из /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
I also noticed that some other services (like mail command) does not respect this
-> Пожалуйста, покажите запись в почтовом журнале, относящуюся к этому условиюОтветы:
Некоторый фон
Postfix унаследовал некоторые функции от старого sendmail, такие как milter и псевдонимы. Файл
/etc/aliases
является частьюaliases
наследования и реализуетсяalias_maps
. С другой стороны, постфикс имеетvirtual_maps
/virtual_alias_maps
для обработки псевдонимов электронной почты. Так в чем же разница между ними?параметр
alias_maps
Используется только для локальной (8) доставки
В соответствии с классом адресов в postfix , электронная почта будет доставляться по локальной сети (8), если доменные имена получателей указаны в
mydestination
Вход поиск был только локальные части от полной электронной почты (Адресная например MyUser от myuser@example.com). Отказаться от доменных частей получателя.
Результат поиска может содержать одно или несколько из следующих:
параметр
virtual_alias_maps
Используется виртуальной (5) доставкой
Всегда вызывается в первый раз перед любыми другими адресными классами. Он не заботится ли домен получателя , перечисленных в
mydestination
,virtual_mailbox_domains
или в других местах. Он переопределит адрес / псевдоним, определенный в других местах.Входной поиск имеют некоторый формат
user @ domain : будет соответствовать user @ domain буквально
user : будет соответствовать user @site, когда сайт равен
$myorigin
, когда сайт указан в$mydestination
или когда он указан в$inet_interfaces
или$proxy_interfaces
. Эта функциональность пересекается с функциональностью локальной базы данных aliases (5).@domain : он будет совпадать с любым адресом электронной почты
domain
независимо от локальных частейРезультат поиска должен быть
$myorigin
еслиappend_at_myorigin
установлено даКак вы можете видеть выше,
alias_maps
(/ etc / aliases) имеет некоторые дополнительные функции (помимо переадресации), такие как передача в команду. Это контрастирует с тем,virtual_alias_maps
что просто переслать письмо.Эти
alias_maps
недостатки можно дифференцировать , если первоначальный получатель имеет форму root@example.com или root@example.net . Оба будут сопоставлены с корневой записью вalias_maps
. В других руках вы можете определить другой адрес для пересылки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
.Команда
mail root
отправит письмо на root. Из-за отсутствия доменных частей, postfix trivial-rewrite добавит myorigin к доменным частям. Итак, почта будет отправлена пользователю root @ myorigin .Перед добавлением virtual_alias_maps : К сожалению,
myorigin
нет в спискеmydestination
, поэтому он не будет псевдонимомalias_maps
.После добавления virtual_alias_maps : запись
root
(в virtual_alias_maps) не имеет частей домена и myorigin (очевидно) так же, какmyorigin
, поэтому она будет соответствоватьroot me@example.com
.источник
alias_maps
недостатки можно дифференцировать ... слово может , вероятно , имел в виду , чтобы быть не может . В противном случае я не могу понять это./etc/aliases
Он предназначен главным образом для локальной доставки, например, для отправки почты в корень из cron и т. д., хорошо хранить ваши локальные псевдонимы отдельно,virtual_alias_maps
также можно использовать с базами данных SQL и т. д.virtual_alias_maps
для случаев, когда у вас есть виртуальные пользователи (и виртуальные домены), которые часто не сопоставляются с системными пользователями, но если у вас нет виртуальных доменов и очень мало пользователей, такая функциональность может не потребоваться.fail2ban не волнует, он просто отправляет письмо в MTA.
Вы должны быть более конкретными, какие услуги, как и где они отправляют почту?
источник
mail root
команда не должна на самом деле попадать в эту категорию? Почему этот сервис рассматривает информацию из / etc / aliases при локальной доставке? (2) Учитывая это для моего сценария, является ли хорошей практикой использование псевдонимов адресов электронной почты пользователей, упомянутых в обоих документах,/etc/aliases
а такжеvirtual_alias_maps
чтобы они работали для всего?/etc/aliases
по умолчанию, очень глупый вопрос, вы запускалиnewaliases
после обновления файла, верно? 2. Я бы сказал, что это излишне, если люди будут получать почту с локального компьютера, стоило бы настроить скрипты так, чтобы они использовали свой правильный адрес электронной почты, чтобы он направлялся через postfix и доставлялся в правильный пункт назначения.newaliases
после изменения. Единственное, что я могу подумать, почему он не использует псевдонимы, возможно, из-за настройки постфикса, которая добавляется@$domain_name
после пользователя и, следовательноvirtual_alias_maps
, необходима для перенаправления этих писем. Я читал это в постфиксных документах, и, возможно, именно поэтомуmail
команда root не работает сaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local В любом случае, большое спасибо за помощь в понимании этого Ника. Я действительно ценю это .. :)