[Postfix-es] como cambiar la salida de un dominio a otro

Michel Vega Fuenzalida adminred en claraz.ijv.sld.cu
Mar Feb 26 22:02:56 CET 2008


Alberto Hung E <ahung en scu.rimed.cu> ha escrito:
> Hola lista bueno es pero que puedan ayudarme en una mision que tengo  
>  encomendada les cuento que tengo que cambiar mi dominio de salida y  
>  de entrada un ejemplo tengo un servidor con 400 usuarios el lio es   
> que tengo que ir preparando un server new que me llego pero esto me   
> coge un tiempesto parea hacerlo pero mientras tanto mis usuarios   
> deben de entrar y salir con otro dominio ej usuario en scu.rimed.cu   
> este mi domino en estos momentos y tengo que cambiarlo a   
> usuario en isp.scu.rimed.cu que debo de hacer para que todos los   
> usuarios entren y salgan con este dominio (usuario en isp.scu.rimed.cu)  
>  y que tambien a la vez lleven un pequeño texto en el pie del correo

Creo que esto es lo que realmente quiere, Alberto Hung:

Tomado de un Tutorial de Postfix de Fernando Limón Madrid, Octubre de 2002.

Lo que esté entre {} es algo que agrego yo, para ir aclarando las  
cosas, ya que el artículo es extenso y hace referencias que antes  
fueron bien explicadas, y en aras de ir guiando al lector, es que  
agrego los {}, y así dejar claro, lo que corresponde al artículo de  
Fernando Limón.


3.- Soporte de múltiples dominios.

Lo que se plantea en la primera parte de este apartado es analizar la forma de
configurar Postfix para que actúe como smarthost de otros dominios y/o  
subdominios, usando para ello lo que Postfix denomina sendmail-style  
virual domains.

Suponga que se tiene el servidor de correo del dominio univ.es, y es necesario
que este mismo sistema temporalmente acoja el dominio fund-univ.es,  
compartiendo
ambos dominios los mismos usuarios, que por tanto serán únicos y  
cualquiera podrárecibir mensajes en una dirección u otra  
indistintamente. Transcurrido un cierto tiempo, parte de los usuarios  
migrarán su correo al sistema que definitivamente de soporte a  
fund-univ.es.

Es vital definir en el DNS un MX de fund-univ.es apuntando a  
relay.univ.es, {donde relay.univ.es es el fqdn servidor primario de la  
red univ.es} así como que el smarthost encamine todo el tráfico de  
fund-univ.es a smtp.univ.es. Para ello, se modificará el fichero  
main.cf de relay.univ.es de la siguiente manera:

# CONTROL DE CORREO ENTRANTE / SALIENTE
mydestination = $myhostname localhost.$mydomain
relay_domains = $mydestination $mydomain fund-univ.es

Y su correspondiente fichero transport quedará de la siguiente manera:

# TRAFICO LOCAL ...
relay.univ.es           local:
localhost.univ.es       local:

# TRAFICO INTERNO ...
univ.es                 smtp:[smtp.univ.es]
fund-univ.es            smtp:[smtp.univ.es]
depart1.univ.es         smtp:[smtp.depart1.univ.es]
.depart1.univ.es        smtp:[smtp.depart1.univ.es]
depart2.univ.es         smtp:[smtp.depart2.univ.es]
.depart2.univ.es        smtp:[smtp.depart2.univ.es]

{los dominios depart$.univ.es, son otros servidores de segundo nivel  
que atienden el correo de cada departamento en la red univ.es}

De esta manera se ha conseguido que relay encamine todo el correo con destino
fund-univ.es a smtp.univ.es.

Por otra parte, será necesario modificar la configuración de la estafeta de
segundo nivel para que admita el nuevo tráfico, y para ello se  
configurará el fichero main.cf de smtp.univ.es poniendo:

# CONTROL DE CORREO ENTRANTE / SALIENTE
mydestination = $myhostname localhost.$mydomain $mydomain fund-univ.es
relay_domains = $mydestination


# TRAFICO LOCAL ...
univ.es                 local:
smtp.univ.es            local:
localhost.univ.es       local:
fund-univ.es            local:
# TRAFICO INTERNO ...
.univ.es                smtp:

De esta manera, todos los mensajes con destino a fund-univ.es serán tratados
como locales, y por tanto sus usuarios serán validados igualmente.

El problema fundamental en una configuración de este tipo es que no hay
manera de separar grupos de usuarios locales según el dominio.

Postfix propone también otra forma de tratar la gestión de dominios virtuales,
que denomina postfix-style virtual domains, en donde cada dominio  
virtual tiene su propio espacio de nombres de usuarios, independiente  
de los usuarios locales del sistema que lo soporta.

Usando este otro método, el fichero main.cf de smtp.univ.es quedaría:
# CONTROL DE CORREO ENTRANTE / SALIENTE
mydestination = $myhostname localhost.$mydomain $mydomain
relay_domains = $mydestination

Es decir, no es necesario hacer mención alguna al dominio fund-univ.es en el
fichero de configuración. Al igual que ocurre con el fichero transport:

# TRAFICO LOCAL ...
univ.es                 local:
smtp.univ.es            local:
localhost.univ.es       local:

# TRAFICO INTERNO ...
.univ.es                smtp:

En el fichero main.cf es necesario añadir la directiva:

# CONTROL DE CORREO ENTRANTE / SALIENTE
virtual_maps = hash:/etc/postfix/virtual


Y será necesario crear el fichero (tabla) /etc/postfix/virtual, en  
donde se definen los dominios virtuales a los que se da soporte, y la  
relación entre usuarios virtuales y usuarios reales. Un ejemplo sería:

# /etc/postfix/virtual
fund-univ.es              virtual
gerente en fund-univ.es      rgarcia
gestion en fund-univ.es      laurar
tesorero en fund-univ.es     jheras en pastorro.com
gramos en fund-univ.es       gramos

En el caso de que llegue un mensaje con destino a una dirección que no  
aparezca
en el fichero virtual Postfix asume que el destinatario es el usuario  
local de igual nombre. En base a esto, la última entrada del ejemplo  
anterior sería redundante.

El acceso a esta tabla se basa en un fichero indexado, por lo que es  
necesario no olvidar usar la directiva postmap /etc/postfix/virtual  
cada vez que se modifique.

Siguiendo con el ejemplo, en el momento en que se pusiera en marcha el sistema
smtp.fund-univ.es, la configuración de smtp.univ.es volvería a su  
estado inicial, y solo sería necesario modificar la configuración de  
relay.univ.es, en concreto el fichero transport:

# TRAFICO LOCAL ...
relay.univ.es          local:
localhost.univ.es      local:

# TRAFICO INTERNO ...
univ.es                smtp:[smtp.univ.es]
fund-univ.es           smtp:[smtp.fund-univ.es]
depart1.univ.es        smtp:[smtp.depart1.univ.es]
.depart1.univ.es       smtp:[smtp.depart1.univ.es]
depart2.univ.es        smtp:[smtp.depart2.univ.es]
.depart2.univ.es       smtp:[smtp.depart2.univ.es]

De esta manera, todos los mensajes con destino a fund-univ.es serán enviados
desde el relay a smtp.fund-univ.es directamente, sin hacer uso de los  
registros MX.

Debe tenerse en mente que es importantísimo que exista en el DNS un MX de
fund-univ.es apuntando a relay.univ.es.

Si existiesen más dominios y/o subdominios a los que fuera necesario realizar
funciones de relay se procedería a configurarlos de igual forma.


Eso es todo, espero que les ayude.
Saludos
--
Usemos el Software Libre "Con todos y para el bien de todos."
               Jose Marti, 26 de noviembre de 1891, Tampa.

Michel Vega Fuenzalida.            Usuario Linux: 353763  
(http://counter.li.org)
Coordinador Grupo: Linux-Pinero.
Administrador de Red.
ELAM "Clara Zetkin" Teléno: 53 (01) 52193107 ext 115.
Isla de la Juventud. Cuba.



Más información sobre la lista de distribución Postfix-es