Cómo configurar el servidor de correo Postfix (SMTP) mediante la configuración de cliente nulo - Parte 9


Independientemente de los muchos métodos de comunicación en línea que están disponibles en la actualidad, el correo electrónico sigue siendo una forma práctica de enviar mensajes de un extremo del mundo a otro, oa una persona sentada en la oficina contigua a la nuestra.

La siguiente imagen ilustra el proceso de transporte de correo electrónico comenzando con el remitente hasta que el mensaje llega a la bandeja de entrada del destinatario:

Para que esto sea posible, suceden varias cosas entre bastidores. Para que un mensaje de correo electrónico se envíe desde una aplicación cliente (como Thunderbird, Outlook o servicios de correo web como Gmail o Yahoo! Mail) a un servidor de correo, y desde allí al servidor de destino y finalmente al destinatario previsto, debe haber un servicio SMTP (Protocolo simple de transferencia de correo) en cada servidor.

Esa es la razón por la que en este artículo explicaremos cómo configurar un servidor SMTP en RHEL 7 donde los correos electrónicos enviados por usuarios locales (incluso a otros usuarios locales) se reenvían a un servidor de correo central para facilitar el acceso.

En los requisitos del examen, esto se denomina configuración de cliente nulo.

Nuestro entorno de prueba constará de un servidor de correo de origen y un servidor de correo central o servidor de retransmisión.

Original Mail Server: (hostname: box1.mydomain.com / IP: 192.168.0.18) 
Central Mail Server: (hostname: mail.mydomain.com / IP: 192.168.0.20)

Para la resolución de nombres usaremos el conocido archivo/etc/hosts en ambos cuadros:

192.168.0.18    box1.mydomain.com       box1
192.168.0.20    mail.mydomain.com       mail

Consideraciones sobre la instalación de Postfix y Firewall / SELinux

Para comenzar, necesitaremos (en ambos servidores):

1. Instale Postfix:

# yum update && yum install postfix

2. Inicie el servicio y habilítelo para que se ejecute en futuros reinicios:

# systemctl start postfix
# systemctl enable postfix

3. Permita el tráfico de correo a través del firewall:

# firewall-cmd --permanent --add-service=smtp
# firewall-cmd --add-service=smtp

4. Configure Postfix en box1.mydomain.com.

El archivo de configuración principal de Postfix se encuentra en /etc/postfix/main.cf. Este archivo en sí mismo es una excelente fuente de documentación, ya que los comentarios incluidos explican el propósito de la configuración del programa.

En aras de la brevedad, mostremos solo las líneas que deben editarse (sí, debe dejar mydestination en blanco en el servidor de origen; de lo contrario, los correos electrónicos se almacenarán localmente en lugar de en un servidor de correo central, que es lo que realmente queremos):

myhostname = box1.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.0.20

5. Configure Postfix en mail.midominio.com.

myhostname = mail.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8

Y establezca el booleano SELinux relacionado en verdadero permanentemente si aún no lo ha hecho:

# setsebool -P allow_postfix_local_write_mail_spool on

El booleano de SELinux anterior permitirá a Postfix escribir en el spool de correo en el servidor central.

5. Reinicie el servicio en ambos servidores para que los cambios surtan efecto:

# systemctl restart postfix

Si Postfix no se inicia correctamente, puede utilizar los siguientes comandos para solucionar el problema.

# systemctl –l status postfix
# journalctl –xn
# postconf –n

Prueba de los servidores de correo Postfix

Para probar los servidores de correo, puede utilizar cualquier agente de usuario de correo (más comúnmente conocido como MUA para abreviar) como mail o mutt.

Dado que mutt es un favorito personal, lo usaré en box1 para enviar un correo electrónico al usuario tecmint usando un archivo existente (mailbody.txt) como cuerpo del mensaje:

# mutt -s "Part 9-RHCE series" [email protected] < mailbody.txt

Ahora vaya al servidor de correo central (mail.mydomain.com), inicie sesión como usuario tecmint y verifique si se recibió el correo electrónico:

# su – tecmint
# mail

Si no se recibió el correo electrónico, consulte la cola de correo raíz para ver si hay una advertencia o notificación de error. También puede querer asegurarse de que el servicio SMTP se esté ejecutando en ambos servidores y que el puerto 25 esté abierto en el servidor de correo central usando el comando nmap:

# nmap -PN 192.168.0.20

Resumen

Configurar un servidor de correo y un host de retransmisión como se muestra en este artículo es una habilidad esencial que todo administrador de sistema debe tener y representa la base para comprender e instalar un escenario más complejo, como un servidor de correo que aloja un dominio en vivo para varios (incluso cientos o miles) de cuentas de correo electrónico.

(Tenga en cuenta que este tipo de configuración requiere un servidor DNS, que está fuera del alcance de esta guía), pero puede utilizar el siguiente artículo para configurar el servidor DNS:

  1. Setup Cache only DNS Server in CentOS/RHEL 07

Por último, le recomiendo que se familiarice con el archivo de configuración de Postfix (main.cf) y la página de manual del programa. En caso de duda, no dude en enviarnos un mensaje mediante el formulario a continuación o utilizando nuestro foro, Linuxsay.com, donde obtendrá ayuda casi inmediata de expertos en Linux de todo el mundo.