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.
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
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
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
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 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
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
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
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