[postfix-es] Configuración de Postfix.
Carlos Herrero
carlos en techno-sol.com
Jue Mayo 15 12:27:52 CEST 2003
Hola!
Hace unos días expuse aquí unas dudas sobre cómo hacer una configuración de
postfix. Por si a alguien le interesa, aquí dejo un documento en el que
explico el problema que tenía y los pasos que he seguido para solventarlo.
Si alguien detecta algún fallo o cree que hay otra forma mejor de hacerlo, que
lo comente, gracias.
###################################################################
Situación:
----------
- El servidor no dispone de un dominio público (.com)
- Una empresa externa ofrece servicio de mail, con 3 o 4 cuentas
en el dominio público, las cuentas tienen la siguiente forma:
user1 en dominio.com
user2 en dominio.com
user3 en dominio.com
generica en dominio.com
- El nombre del dominio local para postfix es "dominio.local".
- En el servidor local existen los usuarios user1, user2, ... ,
userN.
¿Qué se quiere hacer?
---------------------
- Postfix debe ejercer como servidor de correo de la intranet,
en la que hay, unos 20 o 30 usuarios.(gestión del correo local)
- Cuando un usuario desde la intranet envía un correo a una cuenta
del dominio "dominio.com" el correo se debe entregar localmente,
evitando así que salgan a internet datos innecesarios (con el
correspondiente retardo y riesgo de seguridad).
- Cuando un usuario envía un correo a internet (a una dirección que
no es ni @dominio.com ni @dominio.local) Postfix debe:
- si el usuario que envía el correo tiene cuenta en dominio.com
se reescribirá su dirección de origen de user en dominio.local a
user en dominio.com.
- si el usuario que envía el correo _NO_ tiene cuenta en
dominio.com, su dirección de origen se reescribirá como
generica en dominio.com
NOTA: notad que estas reescrituras solo deben hacerse cuando el correo
va hacia internet, de lo contrario el uso del correo local sería un
tanto engorroso para los usuarios (no podrían utilizar el reply). Esta
forma de funcionar es la que va a hacer que sean necesarias dos instancias
de Postfix funcionando.
Procedimiento
-------------
No se darán detalles de como configurar un Postfix "normal", porque ya hay
montones de documentación disponible, así, suponemos que partimos de un
Postfix que funciona y acepta correos para dominio.com y dominio.local.
Antes de nada, leerse el siguiente documento, que explica cómo ejecutar dos
instancias de Postfix al mismo tiempo:
http://www.advosys.ca/papers/postfix-instance.html
pues los pasos que expondré a continuación se basan en esa guía.
Aclarar, también, que la solución que explico ejecuta la instancia de Postfix
en otro puerto y no en una nueva interfaz de red como se explica en el
tutorial
y que la instalación se ha realizado en una SuSE 8.1 con Postfix 1.11 (la
versión
el que en rpm viene con la distribución).
Así, siguiendo el tutorial nos saltamos el paso 1 (añadir una dirección IP).
Los pasos dos y tres los seguimos a rajatabla:
Copiamos el directorio de configuración:
cp -rp /etc/postfix /etc/postfix-out
modificamos el directorio de la cola de correo en el fichero
/etc/postfix-out/main.cf añadiendo/modificando el valor del
siguiente parámetro:
queue_directory = /var/spool/postfix-out
Creamos el nuevo directorio de spool,
mkdir /var/spool/postfix-out
postfix -c /etc/postfix-out check
Como en SuSE 8.1 Postfix no se ejecuta con el directorio raíz modificado,
el último punto del paso tres nos lo podemos saltar, sino pues se hace,
muy fácil.
Paso cuatro, modificamos los ficheros de configuración:
Editamos /etc/postfix/main.cf y le informamos de la segunda instancia:
alternate_config_directories = /etc/postfix-out
y hacemos lo mismo en /etc/postfix-out/main.cf:
alternate_config_directories = /etc/postfix
en este último añadimos/modificamos además el siguiente parámetro:
inet_interfaces = localhost
de manera que esta instancia solo aceptará correos que le lleguen desde
la propia máquina (en nuestro caso no tiene mucha importancia, pues el
servidor no está en internet y no hay otros MTAs en la intranet).
Editamos el fichero /etc/postfix-out/master.cf y le indicamos que escuche
en el puerto 10025 en lugar del 25 (comentamos la primera y añadimos la
segunda):
# smtp inet n - n - - smtpd
localhost:10025 inet n - n - - smtpd
Editamos el fichero /etc/postfix/main.cf y añadimos/modificamos:
relayhost = 127.0.0.1:10025
para que todos los mails que no sepa entregar localmente, los envíe a la
otra instancia.
Paso cinco, modificar los scripts de inicio, que cae fuera del abasto de esta
guía.
Paso seis, configurar los mapas canónicos:
- Editamos el fichero /etc/postfix-out/main.cf y añadimos la siguiente
línea:
sender_canonical_maps = hash:/etc/postfix-out/sender_canonical
- Editamos el fichero /etc/postfix-out/sender_canonical y lo ponemos de la
siguiente
forma:
user1 en dominio.local user1 en dominio.com
user2 en dominio.local user2 en dominio.com
...
@dominio.local @dominio.com
- Ejecutamos postmap:
postmap -c /etc/postfix-out /etc/postfix-out/sender_canonical
Y ya está, en 10 minutos está hecho.
Para arrancar postfix sin los scripts de inicio:
postfix -c /etc/postfix-out start
postfix -c /etc/postfix reload
#####################################################################
Eso es todo.
Saludos,
Carlos
-
Para ENVIAR mensajes a esta lista tienes que estar SUSCRITO a ella.
.
Envía la linea "unsubscribe postfix-es" en el cuerpo de un mensaje
a majordomo en WL0.org para quitarte de la lista.
Más información sobre la lista de distribución Postfix-es