Ya he vuelto a leer los documentos sobre esto, así como otras publicaciones aquí, y esto aún no está claro para mí. He estado probando varias cosas para entender la diferencia entre alias_maps
y virtual_alias_maps
y no veo el uso de estos 2 ajustes separados en postfix. Esto es lo que encontré hasta ahora (Nota: estoy usando postfix en el mismo servidor que mi servidor web como cliente nulo para enviar correos electrónicos solamente) :
1) archivo / etc / aliases:
root: [email protected]
Cuando agrego lo anterior al alias_maps
, noté que algunos servicios como fail2ban pueden elegir esto y envía correos electrónicos raíz a las direcciones de correo electrónico de alias mencionadas. Sin embargo, también noté que algunos otros servicios (como el mail
comando) no respetan esto y tratan de enviar el correo electrónico directamente a [email protected] que no existe (creo que es la myorigin
configuración de postfix que está agregando @ mydomain.com) . Para solucionar esto, agregué elvirtual_alias_maps
2) / etc / postfix / virtual
root [email protected]
Cuando se agrega lo anterior, todos los servicios utilizan este correo electrónico de alias virtual. También noté que una vez que agrego lo anterior, incluso fail2ban comienza a ignorar mi configuración inicial en el /etc/aliases/
archivo y comienza a seguir la dirección de correo electrónico dada en el archivo virtual.
Ahora esto me ha confundido aún más:
¿Por qué necesitamos
/etc/aliases/
cuando tener el correo electrónico dentro del mapa de alias virtuales parece anularlo?¿Cuál es el propósito de tener estos 2 mapeos de alias separados y cuándo decidimos cuándo usar qué?
¿Por qué fail2ban (que está configurado para enviar por correo electrónico
root@localhost
) primero siguió la dirección de correo electrónico dada enalias_maps
(/ etc / aliases /) y luego decide ignorar eso una vez quevirtual_alias_maps
se agregó?¿Por qué no todos los servicios leen los alias de correo electrónico mencionados en / etc / aliases y solo funcionan cuando los alias de correo electrónico se agregan en el mapa de alias virtual?
He pasado varias horas desde ayer y todavía no estoy seguro. ¿Alguien puede ayudarme a aclarar mi confusión?
EDITAR:
Este es el registro de correo cuando el correo electrónico se envía a la raíz usando el mail root
comando. El correo electrónico de alias para root se menciona en / etc / aliases /. Pero el correo no funciona hasta que muevo este correo electrónico de alias raíz de aliases_maps
avirtual_aliases_maps
Regístrese cuando se mencione el alias de correo electrónico raíz en /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 es el registro después de que los alias de correo electrónico para la raíz se trasladen /etc/aliases/
a /etc/postfix/virtual
donde la entrega del correo electrónico es exitosa después del cambio:
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
-> muestra la entrada del registro de correo relacionada con esta condiciónRespuestas:
Algunos antecedentes
Postfix heredó algunas características de sendmail antiguos como milter y alias. El archivo
/etc/aliases
es parte de laaliases
herencia e implementado poralias_maps
. Por otro lado, postfix tienevirtual_maps
/virtual_alias_maps
para manejar el alias de correo electrónico. Entonces, ¿cuál es la diferencia entre ellos?Parámetro
alias_maps
Utilizado solo para entrega local (8)
De acuerdo con la clase de dirección en postfix , el correo electrónico se enviará por local (8) si los nombres de dominio del destinatario figuran en el
mydestination
La entrada de búsqueda fue solo partes locales de direcciones de correo electrónico completas (por ejemplo, myuser de [email protected]). Descarta partes del dominio del destinatario.
El resultado de la búsqueda puede contener uno o más de los siguientes:
Parámetro
virtual_alias_maps
Utilizado por entrega virtual (5)
Siempre se invoca por primera vez antes que cualquier otra clase de dirección. No importa si el dominio del destinatario fue incluido en
mydestination
,virtual_mailbox_domains
o en otros lugares. Reemplazará la dirección / alias definido en otros lugares.La entrada de búsqueda tiene algún formato
usuario @ dominio : coincidirá con el usuario @ dominio literalmente
usuario : coincidirá con el usuario @site cuando el sitio sea igual a
$myorigin
, cuando el sitio aparezca en la lista o cuando aparezca$mydestination
en la lista$inet_interfaces
o$proxy_interfaces
. Esta funcionalidad se superpone con la funcionalidad de la base de datos de alias locales (5).@dominio : coincidirá con cualquier correo electrónico destinado
domain
independientemente de las partes localesEl resultado de la búsqueda debe ser
$myorigin
si seappend_at_myorigin
establece síComo puede ver arriba,
alias_maps
(/ etc / aliases) tiene algunas características adicionales (además del reenvío), como la canalización al comando. Contrasta convirtual_alias_maps
ese solo reenviar correo electrónico.Los
alias_maps
inconvenientes son que puede diferenciar si el destinatario original tiene el formulario [email protected] o [email protected] . Ambos se asignarán a la entrada raíz enalias_maps
. En otras manos, puede definir diferentes direcciones de reenvío convirtual_alias_maps
.Antes de agregar virtual_alias_maps : root @ localhost tenía un alias
alias_maps
porque localhost figuraba enmydestination
.Después de definir virtual_alias_maps : la entrada
root
(en virtual_alias_maps) no tiene partes de dominio y localhost figuraba en la listamydestination
, por lo que coincidirároot [email protected]
.El comando
mail root
enviará un correo electrónico a la raíz. Debido a la falta de partes del dominio, postfix trivial-rewrite agregará myorigin a las partes del dominio. Por lo tanto, el correo se enviará a root @ myorigin .Antes de agregar virtual_alias_maps : Desafortunadamente,
myorigin
no aparece en la listamydestination
, por lo que no tendrá aliasalias_maps
.Después de agregar virtual_alias_maps : la entrada
root
(en virtual_alias_maps) no tiene partes de dominio y myorigin (obviamente) igualesmyorigin
, por lo que coincidirároot [email protected]
.fuente
alias_maps
inconvenientes son que puedes diferenciar ... la palabra lata probablemente estaba destinada a no poder . De lo contrario, no puedo entenderlo./etc/aliases
está allí principalmente para la entrega local, por ejemplo, correo a la raíz desde cron, etc., es bueno mantener sus alias locales separados,virtual_alias_maps
también se puede usar con bases de datos SQL, etc.virtual_alias_maps
es para cuando tiene usuarios virtuales (y dominios virtuales), a menudo que no se asignan a usuarios del sistema, pero si no tiene dominios virtuales y muy pocos usuarios, ese tipo de funcionalidad puede no ser necesaria.A fail2ban no le importa, solo envía un correo electrónico a la MTA.
Debe ser más específico, qué servicios, cómo y dónde envían el correo.
fuente
mail root
comando realmente caer dentro de esta categoría? ¿Por qué este servicio no considera la información en / etc / aliases cuando se trata de una entrega local? (2) Teniendo en cuenta esto para mi escenario, ¿es una buena práctica que los alias de los usuarios mencionen las direcciones de correo electrónico en ambos/etc/aliases
yvirtual_alias_maps
que funcionen para todo?/etc/aliases
por defecto, una pregunta realmente estúpida, que ejecutastenewaliases
después de actualizar el archivo, ¿verdad? 2. Diría que es excesivo, si las personas reciben correo de la máquina local, valdría la pena configurar los scripts para usar su dirección de correo electrónico adecuada, de esa manera se enrutará a través de postfix y se entregará al destino correcto.newaliases
después del cambio. Lo único en lo que puedo pensar es por qué no usa alias puede deberse a la configuración de postfix que se agrega@$domain_name
después del usuario y, porvirtual_alias_maps
lo tanto, es necesaria para redirigir esos correos electrónicos. Leí esto en documentos de postfix y tal vez por eso elmail
comando root no funciona conaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local De todos modos, muchas gracias por ayudarme a entender mejor a Nick. Realmente lo aprecio .. :)