Descripción
Supondremos que nuestra organización se desempeña tras un Firewall. Podríamos hacer que el esquema anterior siga sin variaciones simplemente habilitando los puertos respectivos en el filtro de paquetes. Sin embargo, aquí consideraremos una situación más complicada en la que se requiere de dos servidores de email. Asumimos que el lector conoce el concepto de una red DMZ (zona desmilitarizada) usada como primera línea de defensa para los servicios que deben dar cara al exterior.
Uno de estos servidores de email se encontrará en la red DMZ (correo_dmz) y será accesible desde Internet (aunque pasando por el Firewall), y el otro se encuentra dentro de nuestra red LAN (correo_lan). Las estaciones seguirán configuradas para conectarse a este último (correo_lan) por lo que no haremos cambios al respecto. Sin embargo, correo_lan NO enviará mensajes al exterior directamente, sino a través de correo_dmz, y viceversa, no recibirá mensajes desde el exterior, salvo desde correo_dmz. La siguiente figura esquematiza esta configuración:
Nótese que nosotros no indicaremos absolutamente nada acerca de la configuración del firewall pues esto está fuera de los objetivos de esta guía. Si se implementa el firewall con Linux, en Internet ya hay abundantes documentos acerca de cómo configurarlo.
Configuración de correo_dmz
Este servidor no almacenará los mensajes pendientes en casillas, por lo que no requiere que se inscriban allí nuestros usuarios. A fin de que los mensajes que llegan al dominio "abejas.org" se redirijan a correo_lan, en el archivo /etc/mail/mailertable debemos inscribir la siguiente línea:
abejas.org smtp:correo_lan.abejas.org |
Ud. ahora debe generar la versión compilada con:
bash# cd /etc/mail
bash# make |
Los detalles que vimos para el archivo access son aplicables a este archivo. En particular, para activar esta funcionalidad desde el archivo "mc", se debe incluir:
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')dnl |
Por otro lado, "correo_dmz" sirve de relay a "correo_lan", por lo que debemos inscribir a este último en /etc/mail/access como se vió en una sección anterior:
correo_lan.abejas.org RELAY |
Configuración del DNS
Desde Internet, los mensajes deben llegar a "correo_dmz", por lo cual éste servidor deberá ser el destino especificado en el registro MX para nuestro dominio:
$TTL 86400
@ IN SOA @ root.localhost (
4 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)
IN NS ns1
IN MX 0 correo_dmz
correo_dmz IN A 100.4.244.191
correo_lan IN A 100.4.244.195
ns1 IN A 100.4.244.193 |
Configuración de correo_lan
Tal como vimos en una sección anterior, se debe modificar el archivo /etc/mail/local-host-names (o su equivalente) para que se acepten los mensajes con el formato deseado.
Ahora haremos que se envíe todo el correo no local hacia el computador "correo_dmz" en lugar del Internet. Para esto, debemos regenerar el archivo "cf" a partir del "mc", añadiendo previamente la siguiente directiva a éste último:
define(`SMART_HOST', `smtp:correo_dmz.abejas.org')dnl |
Eso debería bastar. Revise los logs, verifique que el firewall no bloquee más de lo necesario.