Eu já li novamente os documentos sobre isso e outras postagens aqui e isso ainda não está claro para mim. Tenho testado várias coisas para entender a diferença entre alias_maps
e virtual_alias_maps
não vejo o uso dessas duas configurações separadas no postfix. Foi o que encontrei até agora (Observação: estou usando o postfix no mesmo servidor que meu servidor Web como cliente nulo para enviar apenas emails) :
1) arquivo / etc / aliases:
root: [email protected]
Quando adiciono o exposto acima alias_maps
, notei que alguns serviços como o fail2ban são capazes de escolher isso e ele envia emails raiz para os endereços de email alias mencionados. No entanto, também notei que alguns outros serviços (como o mail
comando) não respeitam isso e tentam enviar o email diretamente para [email protected] que não existe (acho myorigin
que é a configuração do postfix que está adicionando o @ mydomain.com) . Para corrigir isso, adicionei ovirtual_alias_maps
2) / etc / postfix / virtual
root [email protected]
Quando o acima é adicionado, todos os serviços usam esse email de aliases virtuais. Também notei que, depois de adicionar o que foi dito acima, até o fail2ban começa a ignorar minhas configurações iniciais no /etc/aliases/
arquivo e começa a seguir o endereço de email fornecido no arquivo virtual.
Agora isso me confundiu ainda mais -
Por que precisamos
/etc/aliases/
quando o email dentro do mapa de aliases virtuais parece substituí-lo?Qual é o objetivo de mapear esses dois aliases separados e quando decidimos quando usar o quê?
Por que o fail2ban (que está configurado para enviar por e-mail
root@localhost
) primeiro seguiu o endereço de e-mail fornecido emalias_maps
(/ etc / aliases /) e depois decidiu ignorar que uma vezvirtual_alias_maps
foi adicionado?Por que todos os serviços não lêem aliases de email mencionados em / etc / aliases e funcionam apenas quando os aliases de email são adicionados no mapa de alias virtual?
Passei várias horas desde ontem e ainda não tenho certeza. Alguém pode me ajudar a esclarecer minha confusão?
EDIT:
Este é o log de email quando o email é enviado para a raiz usando o mail root
comando O e-mail de alias do root é mencionado em / etc / aliases /. Mas o correio não funciona até que eu mova esse email de aliases raiz de aliases_maps
paravirtual_aliases_maps
Registre quando o alias do email raiz for mencionado em /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)
Este é o log após os aliases de email da raiz serem movidos de /etc/aliases/
para /etc/postfix/virtual
onde a entrega do email foi bem-sucedida após a alteração:
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
-> por favor, mostre a entrada maillog relacionadas com esta condiçãoRespostas:
Alguma experiência
O Postfix herdou alguns recursos do sendmail antigo, como milter e aliases. O arquivo
/etc/aliases
faz parte daaliases
herança e implementado poralias_maps
. Por outro lado, o postfix possuivirtual_maps
/virtual_alias_maps
para manipular o alias de email. Então, qual é a diferença entre eles?Parâmetro
alias_maps
Usado somente para entrega local (8)
De acordo com a classe de endereço no postfix , o email será entregue pelo local (8) se os nomes de domínio do destinatário estiverem listados no diretório
mydestination
A entrada de pesquisa era apenas partes locais de endereços de e-mail completos (por exemplo, myuser de [email protected]). Ele descarta partes do domínio do destinatário.
O resultado da pesquisa pode conter um ou mais dos seguintes itens:
Parâmetro
virtual_alias_maps
Usado por entrega virtual (5)
Sempre invocado pela primeira vez antes de qualquer outra classe de endereço. Ele não se importa se o domínio do destinatário foi listado no
mydestination
,virtual_mailbox_domains
ou em outros lugares. Ele substituirá o endereço / alias definido em outros lugares.A entrada de pesquisa possui algum formato
user @ domain : corresponderá literalmente a user @ domain
user : corresponderá a user @site quando o site for igual a
$myorigin
, quando o site estiver listado em$mydestination
ou quando estiver listado em$inet_interfaces
ou$proxy_interfaces
. Essa funcionalidade se sobrepõe à funcionalidade do banco de dados de aliases locais (5).@domain : corresponderá a qualquer email destinado
domain
independentemente das partes locaisO resultado da pesquisa deve ser
$myorigin
seappend_at_myorigin
configurado yesComo você pode ver acima,
alias_maps
(/ etc / aliases) possui alguns recursos adicionais (além do encaminhamento), como canalização para comando. Contrasta comvirtual_alias_maps
o encaminhamento de e-mail.As
alias_maps
desvantagens são que você pode diferenciar se o destinatário original tiver o formato [email protected] ou [email protected] . Ambos serão mapeados para a entrada raizalias_maps
. Em outras mãos, você pode definir diferentes endereços de encaminhamento comvirtual_alias_maps
.Antes da inclusão de virtual_alias_maps : root @ localhost era aliasado
alias_maps
porque localhost estava listado emmydestination
.Após virtual_alias_maps definido : A entrada
root
(em virtual_alias_maps) não possui partes de domínio e o host local foi listadomydestination
, portanto, corresponderároot [email protected]
.O comando
mail root
enviará um email para o root. Como faltam partes do domínio, o postfix trivial-reescrito acrescentará myorigin às partes do domínio. Portanto, o email será enviado para root @ myorigin .Antes da adição de virtual_alias_maps : Infelizmente,
myorigin
não está listado emmydestination
, portanto, não será exibido como aliasalias_maps
.Após a adição de virtual_alias_maps : A entrada
root
(em virtual_alias_maps) não possui partes de domínio e miorigina (obviamente) iguais amyorigin
, portanto, será compatívelroot [email protected]
.fonte
alias_maps
desvantagens são: você pode diferenciar ... a palavra lata provavelmente deveria ser não pode . Caso contrário, não consigo entender nada./etc/aliases
existe principalmente para entrega local, por exemplo, correio para raiz do cron, etc, é bom manter seus aliases locais separados,virtual_alias_maps
também pode ser usado com bancos de dados SQL e assim por diante.virtual_alias_maps
é para quando você possui usuários virtuais (e domínios virtuais), geralmente que não são mapeados para usuários do sistema, mas se você não possui domínios virtuais e muito poucos usuários, esse tipo de funcionalidade pode não ser necessário.fail2ban não se importa, apenas envia um email para o MTA.
Você precisa ser mais específico, quais serviços, como e para onde eles enviam emails?
fonte
mail root
comando não deveria realmente pertencer a essa categoria? Por que este serviço não está considerando as informações em / etc / aliases quando é uma entrega local? (2) Considerando-os no meu cenário, é uma boa prática ter os endereços de e-mail dos aliases dos usuários mencionados em ambos/etc/aliases
, assim comovirtual_alias_maps
para que eles funcionem para tudo?/etc/aliases
por padrão, uma pergunta realmente estúpida, você executounewaliases
após atualizar o arquivo, certo? 2. Eu diria que é um exagero, se as pessoas receberem mensagens da máquina local, vale a pena configurar os scripts para usar o endereço de email adequado, para que sejam roteados através do postfix e entregues no destino correto.newaliases
após a alteração. A única coisa em que posso pensar por que não usar aliases talvez seja devido à configuração do postfix que é adicionada@$domain_name
ao usuário e, portanto,virtual_alias_maps
é necessária para redirecionar esses e-mails. Eu li isso nos documentos do postfix e talvez seja por isso que omail
comando raiz não esteja funcionando comaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local De qualquer forma, muito obrigado por me ajudar a entender melhor esse Nick. Eu realmente aprecio isso .. :) #