[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