Cómo instalar y configurar el servidor de correo Postfix en CentOS 8

Sufijo es libre y de código abierto MTA (Agente de transferencia de correo) utilizado para enrutar o entregar correos electrónicos en un sistema Linux. En esta guía, aprenderá a instalar y configurar Postfix en CentOS 8.

Instalar-configurar-Postfx-Server-CentOS8

Configuración del laboratorio:

  • Sistema operativo: servidor CentOS 8
  • Dirección IP: 192.168.1.13
  • Nombre de host: server1.crazytechgeek.info (asegúrese de que el nombre de dominio apunte a la IP del servidor)

Paso 1) Actualizar el sistema

El primer paso es asegurarse de que los paquetes del sistema estén actualizados. Para hacerlo, actualice el sistema de la siguiente manera:

# dnf update

Antes de continuar, asegúrese también de que ningún otro MTA tal como Enviar correo existen ya que esto causará un conflicto con la configuración de Postfix. Para eliminar Sendmail, por ejemplo, ejecute el comando:

# dnf remove sendmail

Paso 2) Establezca el nombre de host y actualice el archivo /etc/hosts

Use el siguiente comando hostnamectl para configurar el nombre de host en su sistema,

# hostnamectl set-hostname server1.crazytechgeek.info
# exec bash

Además, debe agregar el nombre de host del sistema y las entradas de IP en el archivo /etc/hosts

# vim /etc/hosts
192.168.1.13   server1.crazytechgeek.info

Guardar y salir del archivo.

Leer también : Cómo configurar el servidor DNS (Bind) en CentOS 8 / RHEL8

Paso 3) Instalar el servidor de correo Postfix

Después de verificar que no se esté ejecutando ningún otro MTA en el sistema, instale Postfix ejecutando el comando:

# dnf install postfix

Instalar-Postfix-Centos8

Paso 4) Inicie y habilite el servicio Postfix

Tras la instalación exitosa de Postfix, inicie y habilite el servicio de Postfix ejecutando:

# systemctl start postfix
# systemctl enable postfix

Para verificar el estado de Postfix, ejecute el siguiente comando systemctl

# systemctl status postfix

Inicio-Postfix-verificación-estado-centos8

Genial, hemos verificado que Postfix está funcionando. A continuación, configuraremos Postfix para enviar correos electrónicos localmente a nuestro servidor.

Paso 5) Instalar el cliente de correo electrónico mailx

Antes de configurar el servidor Postfix, necesitamos instalar la función mailx. Para instalar mailx, ejecute el comando:

# dnf install mailx

Instalar-Mailx-CentOS8

Paso 6) Configurar el servidor de correo de Postfix

El archivo de configuración de Postfix se encuentra en /etc/postfix/main.cf. Necesitamos hacer algunos cambios en el archivo de configuración, así que ábralo con su editor de texto favorito.

# vi /etc/postfix/main.cf

Haz cambios en las siguientes líneas:

myhostname = server1.crazytechgeek.info
mydomain = crazytechgeek.info
myorigin = $mydomain
## Uncomment and Set inet_interfaces to all ##
inet_interfaces = all
## Change to all ##
inet_protocols = all
## Comment ##
#mydestination = $myhostname, localhost.$mydomain, localhost
##- Uncomment ##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
## Uncomment and add IP range ##
mynetworks = 192.168.1.0/24, 127.0.0.0/8
## Uncomment ##
home_mailbox = Maildir/

Una vez hecho esto, guarde y salga del archivo de configuración. Reinicie el servicio postfix para que los cambios surtan efecto

# systemctl restart postfix

Paso 7) Prueba del servidor de correo Postfix

Pruebe si nuestra configuración está funcionando, primero, cree un usuario de prueba

# useradd postfixuser
# passwd postfixuser

A continuación, ejecute el siguiente comando para enviar un correo electrónico desde pkumar usuario local a otro usuario ‘postfixuser

# telnet localhost smtp
or
# telnet localhost 25

Si el servicio telnet no está instalado, puede instalarlo usando el comando:

# dnf install telnet -y

Cuando ejecuta el comando como se indicó anteriormente, debe obtener el resultado como se muestra

[[email protected] ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.crazytechgeek.info ESMTP Postfix

Arriba confirme que la conectividad con el servidor de correo postfix funciona bien. A continuación, escriba el comando:

# ehlo localhost

La salida será algo como esto

250-server1.crazytechgeek.info
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

A continuación, ejecute los comandos resaltados en naranja, como «correo desde», «rcpt a», datos y finalmente escriba quit,

mail from:<pkumar>
250 2.1.0 Ok
rcpt to:<postfixuser>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hello, Welcome to my mailserver (Postfix)
.
250 2.0.0 Ok: queued as B56BF1189BEC
quit
221 2.0.0 Bye
Connection closed by foreign host

Complete el comando telnet para enviar un correo electrónico desde el usuario local «pkumar” a otro usuario local “postfixuser” sería algo como abajo

Enviar-correo-electrónico-con-telnet-centos8

Si todo salió según lo planeado, debería poder ver el correo electrónico enviado en el directorio de inicio del nuevo usuario.

# ls /home/postfixuser/Maildir/new
1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

Para leer el correo electrónico, simplemente use el comando cat de la siguiente manera:

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

Leer-postfix-email-linux

Registros del servidor de correo Postfix

Los registros de correo del servidor de correo de Postfix se almacenan en el archivo “/var/log/maillog“, use el siguiente comando para ver los registros en vivo,

# tail -f /var/log/maillog

postfix-maillogs-centos8

Protección del servidor de correo de Postfix

Siempre se recomienda proteger la comunicación entre los clientes y el servidor postfix, esto se puede lograr mediante certificados SSL, estos certificados pueden ser de una autoridad de confianza o certificados autofirmados. En este tutorial, generaremos certificados autofirmados para postfix usando abressl mando,

Supongo que openssl ya está instalado en su sistema, en caso de que no esté instalado, use el siguiente comando dnf,

# dnf install openssl -y

Generar clave privada y CSR (Solicitud de firma de certificado) usando el comando de debajo de openssl,

# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr

Postfix-Key-CSR-CentOS8

Ahora genere un certificado autofirmado usando el siguiente comando openssl,

# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
Signature ok
subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = [email protected]
Getting Private key
#

Ahora copie la clave privada y el archivo de certificado en el directorio /etc/postfix

# cp mail.key mail.crt /etc/postfix

Actualice la clave privada y la ruta del archivo de certificado en el archivo de configuración de postfix,

# vi /etc/postfix/main.cf
………
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail.crt
smtpd_tls_key_file = /etc/postfix/mail.key
smtpd_tls_security_level = may
………

Reinicie el servicio postfix para realizar los cambios anteriores en el efecto.

# systemctl restart postfix

Intentemos enviar un correo electrónico al dominio local interno y al dominio externo utilizando el cliente mailx.

Envío de correo electrónico interno local del usuario de pkumar al usuario de postfix

# echo "test email" | mailx -s "Test email from Postfix MailServer" -r [email protected] [email protected]

Verifique y lea el correo electrónico usando lo siguiente,

# cd /home/postfixuser/Maildir/new/
# ll
total 8
-rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
-rw-------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Leer-Postfixuser-Email-CentOS8

Envío de correo electrónico desde postfixuser a un dominio externo ( [email protected])

# echo "External Test email" | mailx -s "Postfix MailServer" -r [email protected] [email protected]

Nota: Si su IP no está en la lista negra en ninguna parte, su correo electrónico a un dominio externo se entregará; de lo contrario, se rebotará diciendo que la IP está en la lista negra en tal y tal base de datos de spamhaus.

Comprobar la cola de correo de Postfix

Use el comando mailq para enumerar los correos que están en cola.

# mailq
Mail queue is empty
#

¡Y eso es! ¡Nuestra configuración de Postfix está funcionando! Eso es todo por ahora. Esperamos que este tutorial le haya resultado útil y que pueda configurar cómodamente su servidor Postfix local.

Leer también: Cómo instalar y configurar Samba en CentOS 8

Leer también : Cómo instalar el servidor de correo Zimbra en CentOS 8 / RHEL 8

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *