GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

Postfijo es un MTA gratuito y de código abierto (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.

Configuración del laboratorio:

  • SO:                  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 como Sendmail 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 establecer 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

Guarde y salga del archivo.

Leer tambiénCó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

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

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

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

Realice 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) Probar el servidor de correo Postfix

Pruebe si nuestra configuración funciona, 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 salir,

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 así como a continuación

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

Registros del servidor de correo Postfix

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

# tail -f /var/log/maillog

Seguridad 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 openssl 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

Genere una clave privada y una CSR (Solicitud de firma de certificado) usando el comando que se encuentra debajo de openssl,

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

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 hacer los cambios anteriores en el efecto.

# systemctl restart postfix

Intentemos enviar un correo electrónico al dominio local interno y al dominio externo usando 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

Enviar 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, entonces 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.

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


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar y configurar Postfix

  3. Cómo instalar y configurar Gitlab en CentOS 8

  4. Cómo instalar y configurar Postgres 13 en Centos 8

  5. Cómo instalar y configurar Postfix en Ubuntu 20.04

Cómo instalar y configurar el servidor VNC en CentOS 7 / RHEL 7

Cómo instalar y configurar Postfix en Debian

Cómo instalar y configurar Memcached en CentOS 8

Cómo instalar y configurar el servidor DHCP en Centos 8

Cómo instalar y configurar Sandstorm Server en CentOS 8

Cómo instalar y configurar el servidor VNC en CentOS/RHEL 8