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

Aloja varios dominios de correo en PostfixAdmin en CentOS/RHEL

Este tutorial le mostrará cómo configurar múltiples dominios de correo (alojamiento virtual) en el servidor CentOS/RHEL con PostfixAdmin, que es una interfaz web de código abierto para configurar y administrar un servidor de correo electrónico basado en Postfix para muchos dominios y usuarios.

Requisitos

Para seguir este tutorial, se requiere que

  • Ha configurado PostfixAdmin con un dominio de correo.
  • Ha seguido la parte 4 para configurar SPF y DKIM.
  • Has instalado Roundcube Webmail.

Una vez que se cumplan los requisitos anteriores, siga las instrucciones a continuación.

Lo que debe hacer

Si desea alojar varios dominios de correo, debe

  • Agregue un nuevo dominio de correo y usuario en el panel basado en web de PostfixAdmin.
  • Cree un registro MX, A y SPF para el nuevo dominio de correo.
  • Configure la firma DKIM para el nuevo dominio.
  • Cree un registro DMARC para el nuevo dominio.
  • Configure RoundCube Webmail, Postfix y Dovecot para varios dominios
La verificación inversa de DNS se usa para verificar si la dirección IP del remitente coincide con el nombre de host HELO. No necesita agregar otro registro PTR al agregar un nuevo dominio de correo.

Paso 1:agregar dominios adicionales en el panel de administración de Postfix

Inicie sesión en el panel PostfixAdmin con la cuenta postmaster. (https://postfixadmin.your-domain.com/ ) Luego vaya a Domain List -> New Domain para agregar un nuevo dominio.

Tenga en cuenta que el nuevo dominio debe tener un registro DNS A, o PostfixAdmin arrojaría el siguiente mensaje de error. Puede comprobar el estado de propagación de DNS en dnsmap.io.

Invalid domain domain2.com, and/or not discoverable in DNS

Luego, agregue un usuario bajo el nuevo dominio.

Paso 2:Creación de registros MX, A y SPF para el nuevo dominio de correo

En su administrador de DNS, agregue el registro MX para el nuevo dominio como se muestra a continuación.

Record Type    Name      Value

MX             @         mail.domain2.com

El registro A apunta a la dirección IP de su servidor de correo.

Record Type    Name     Value

A              mail     IP-address-of-mail-server

Si su servidor usa una dirección IPv6, asegúrese de agregar un registro AAAA.

Luego cree un registro SPF para permitir que el host MX envíe correos electrónicos para el nuevo dominio de correo.

Record Type    Name      Value

TXT            @         v=spf1 mx ~all

Paso 3:Configuración de la firma DKIM para el nuevo dominio

Hemos instalado y configurado OpenDKIM para un solo dominio en la parte 4 de esta serie de tutoriales. Ahora debemos decirle a OpenDKIM que firme todos los correos electrónicos salientes para el nuevo dominio de correo.

Edite el archivo de la tabla de firmas de OpenDKIM.

sudo nano /etc/opendkim/SigningTable

Agregue el segundo dominio como se muestra a continuación.

*@domain1.com       20200308._domainkey.domain1.com
*@domain2.com       20200308._domainkey.domain2.com

Edite el archivo de la tabla de claves.

sudo nano /etc/opendkim/KeyTable

Agregue el segundo dominio como se muestra a continuación.

20200308._domainkey.domain1.com     domain1.com:20200308:/etc/opendkim/keys/domain1.com/20200308.private
20200308._domainkey.domain2.com     domain2.com:20200308:/etc/opendkim/keys/domain2.com/20200308.private

Edite el archivo de hosts de confianza.

sudo nano /etc/opendkim/TrustedHosts

Agregue el segundo dominio como se muestra a continuación.

127.0.0.1
localhost

*.domain1.com
*.domain2.com

A continuación, necesitamos generar un par de claves privadas/públicas para el segundo dominio. Cree una carpeta separada para el segundo dominio.

sudo mkdir /etc/opendkim/keys/domain2.com

Genere claves usando opendkim-genkey herramienta.

sudo opendkim-genkey -b 2048 -d domain2.com -D /etc/opendkim/keys/domain2.com -s 20200308 -v

El comando anterior creará claves de 2048 bits. -d (domain) especifica el dominio. -D (directory) especifica el directorio donde se almacenarán las claves y usamos 20200308 (fecha actual) como el selector (-s) . Una vez que se ejecuta el comando, la clave privada se escribirá en 20200308.private y la clave pública se escribirá en 20200308.txt archivo.

Hacer opendkim como propietario de la clave privada.

sudo chown opendkim:opendkim /etc/opendkim/keys/domain2.com/20200308.private

Mostrar la clave pública

sudo cat /etc/opendkim/keys/domain2.com/20200308.txt

La cadena después de p el parámetro es la clave pública.

En su administrador de DNS, cree un registro TXT para el segundo dominio. Introduce 20200308._domainkey en el campo Nombre. Copie todo lo que está entre paréntesis y péguelo en el campo de valor. Eliminar todas las comillas dobles. (Primero puede pegarlo en un editor de texto, eliminar todas las comillas dobles y luego copiarlo en su administrador de DNS. Su administrador de DNS puede requerir que elimine otros caracteres no válidos, como el retorno de carro).

Después de guardar sus cambios. Verifique el registro TXT con este comando.

dig TXT 20203008._domainkey.domain2.com

Ahora puede ejecutar el siguiente comando para probar si su registro DNS DKIM es correcto.

sudo opendkim-testkey -d domain2.com -s 20200308 -vvv

Si todo está bien, verás

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20203008._domainkey.domain2.com'
opendkim-testkey: key secure
opendkim-testkey: key OK

Si ve "Clave no segura", no entre en pánico. Esto se debe a que DNSSEC no está habilitado en su nombre de dominio. DNSSEC es un estándar de seguridad para consultas DNS seguras. La mayoría de los nombres de dominio no han habilitado DNSSEC. Puede continuar siguiendo esta guía.

Reinicie OpenDKIM para que comience a firmar correos electrónicos para el segundo dominio.

sudo systemctl restart opendkim

Paso 4:Crear un registro DMARC para el nuevo dominio

Para crear un registro DMARC, vaya a su administrador de DNS y agregue un TXT registro. En el campo de nombre, ingrese _dmarc . En el campo de valor, ingrese lo siguiente. Tenga en cuenta que debe crear el [email protected] dirección de correo electrónico.

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

El registro DMARC anterior es un punto de partida seguro. Si desea leer una explicación detallada de DMARC, consulte el siguiente artículo.

  • Creación de un registro DMARC para proteger su nombre de dominio de la falsificación de correo electrónico

Paso 5:Configuración de RoundCube, Postfix y Dovecot para varios dominios

Supongo que instaló Roundcube Webmail para el primer dominio de correo.

Tiene sentido permitir que los usuarios del primer dominio utilicen mail.domain1.com y los usuarios del segundo dominio usan mail.domain2.com al usar el correo web de RoundCube. Te mostraré cómo hacerlo con Apache y Nginx.

Apache

Si Roundcube es atendido por el servidor web Apache, cree un host virtual para el segundo dominio.

sudo nano /etc/httpd/conf.d/mail.domain2.com.conf

Ponga el siguiente texto en el archivo.

<VirtualHost *:80>
  ServerName mail.domain2.com
  DocumentRoot /var/www/roundcube/

  ErrorLog /var/log/httpd/mail.domain2.com_error.log
  CustomLog /var/log/httpd/mail.domain2.com_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Guarde y cierre el archivo. Vuelva a cargar Apache para que los cambios surtan efecto.

sudo systemctl reload httpd

Nginx

Si Roundcube es atendido por el servidor web Nginx, cree un host virtual para el segundo dominio.

sudo nano /etc/nginx/conf.d/mail.domain2.com.conf

Ponga el siguiente texto en el archivo.

server {
  listen 80;
  server_name mail.domain2.com;
  root /var/www/roundcube/;
  index index.php index.html index.htm;

  error_log /var/log/nginx/roundcube.error;
  access_log /var/log/nginx/roundcube.access;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
   try_files $uri =404;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /.well-known/acme-challenge {
    allow all;
  }
 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
    deny all;
  }
  location ~ ^/(bin|SQL)/ {
    deny all;
  }
 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Guarde y cierre el archivo. Luego pruebe las configuraciones de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.

sudo systemctl reload nginx

Obtención del certificado TLS

Ahora use Certbot para obtener el certificado TLS para todos sus dominios de correo, por lo que tendrá un solo certificado TLS con varios nombres de dominio y los clientes de correo no mostrarán advertencias de seguridad.

apache

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Nginx

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Tenga en cuenta que en el comando anterior, especificamos el nombre del certificado usando el primer dominio de correo, que se usará en la ruta del archivo, por lo que no tiene que cambiar la ruta del archivo en el archivo de configuración de Postfix o Dovecot.

Cuando le pregunte si desea actualizar el certificado existente para incluir el nuevo dominio, responda U y pulsa Intro.

Ahora debería ver el siguiente mensaje, que indica que el certificado multidominio se obtuvo con éxito.

Vuelva a cargar Apache o Nginx para obtener el nuevo certificado.

sudo systemctl reload httpd
sudo systemctl reload nginx

Ahora debería poder usar diferentes dominios para acceder al correo web de RoundCube. Además, debe volver a cargar el servidor Postfix SMTP y el servidor Dovecot IMAP para que puedan obtener el nuevo certificado. Eso es todo lo que necesita hacer para que Postfix y Dovecot sirvan múltiples dominios.

sudo systemctl reload postfix dovecot

Uso del cliente de correo en su computadora o dispositivo móvil

Inicie su cliente de correo electrónico de escritorio, como Mozilla Thunderbird, y agregue una cuenta de correo del segundo dominio.

  • En la sección del servidor entrante, seleccione el protocolo IMAP, ingrese mail.domain2.com como nombre del servidor, elija el puerto 143 y STARTTLS. Elija normal password como método de autenticación.
  • En la sección saliente, seleccione el protocolo SMTP, ingrese mail.domain2.com como nombre del servidor, elija el puerto 587 y STARTTLS. Elija normal password como método de autenticación.

Sugerencia :también puede usar el puerto 993 con cifrado SSL/TLS para IMAP y el puerto 465 con cifrado SSL/TLS para SMTP. No deberías no utilice el puerto 25 como puerto SMTP para enviar correos electrónicos salientes.

Aunque el servidor Postfix SMTP y el servidor Dovecot IMAP usan el nombre de host del primer dominio de correo (mail.domain1.com) cuando se comunican con otros, ahora usan un certificado multidominio, por lo que el cliente de correo no mostrará advertencias de certificado.

Comprobación de SPF y DKIM

Ahora puede usar su cliente de correo electrónico de escritorio o su cliente de correo web para enviar un correo electrónico de prueba a [email protected] y obtenga un informe de autenticación de correo electrónico gratuito. Aquí está el informe que obtuve de port25.com

No olvide probar su puntuación de correo electrónico en https://www.mail-tester.com y también pruebe la ubicación del correo electrónico con GlockApps.

Si la verificación DKIM falla, puede ir a https://www.dmarcanalyzer.com/dkim/dkim-check/ para ver si hay algún error con su registro DKIM.

¿Qué sucede si sus correos electrónicos aún se marcan como spam?

Tengo más consejos para ti en este artículo: 7 consejos efectivos para evitar que tus correos electrónicos se marquen como spam. Aunque requiere algo de tiempo y esfuerzo, sus correos electrónicos finalmente se colocarán en la bandeja de entrada después de aplicar estos consejos.

¿rDNS para múltiples dominios de correo?

El DNS inverso (rDNS), también conocido como registro PTR, se usa para verificar si la dirección IP del remitente coincide con el nombre de host HELO. No necesita agregar otro registro PTR al agregar un nuevo dominio de correo. Su rDNS debe configurarse con un solo nombre de host, es decir, el nombre de host configurado en Postfix, que se puede mostrar con el siguiente comando.

postconf myhostname

rDNS es un registro de direcciones IP. No es un registro de nombre de dominio. Si solo tiene una dirección IP, solo necesita un registro rDNS que apunte a un nombre de host. La verificación inversa de DNS no verifica qué From: el dominio está en su correo electrónico, siempre que su dirección IP tenga un registro rDNS y el nombre de host pueda resolverse en la misma dirección IP, puede pasar la verificación DNS inversa.

Además, no necesita cambiar las siguientes configuraciones en Postfix cuando aloja múltiples dominios en un servidor.

  • minombre de host
  • mi origen
  • midestino

Servicios de correo electrónico alojados como G Suite y Microsoft Exchange Online todos usan un nombre de host para un servidor para enviar un correo electrónico a sus clientes. Todos los correos electrónicos enviados por usuarios de G Suite usan google.com en el nombre de host y los correos electrónicos enviados desde Microsoft Exchange Online, todos los usuarios usan outlook.com en el nombre de host. Esto también es cierto para otros proveedores de servicios de correo electrónico como Mailchimp, SendinBlue, SendPluse, etc. Todos usan un nombre de host para un solo servidor y una dirección IP tiene solo un registro rDNS.


Cent OS
  1. Cómo alojar correo electrónico en un alias de dominio

  2. Crear dominios adicionales en CentOS Web Panel

  3. Configure un servidor de correo con PostfixAdmin y MariaDB en CentOS 7

  4. Cómo configurar un servidor de correo con PostfixAdmin en CentOS 7

  5. Cómo configurar un subdominio o alojar múltiples dominios usando nginx en el servidor Linux

Cómo instalar el servidor de correo Zimbra en CentOS 8 / RHEL 8

Cómo alojar múltiples sitios en una sola instalación de Wordpress en CentOS 7

Aloja varios dominios de correo en PostfixAdmin en CentOS/RHEL

Parte 3:PostfixAdmin:cree buzones virtuales en el servidor de correo CentOS 8/RHEL 8

Cómo instalar un servidor de correo con PostfixAdmin en CentOS 7

Addon Domain cPanel:cómo alojar dominios adicionales