************ Entradas DNS ************ Antes de poner en funcionamiento un servidor de correo hay que que tener perfectamente configuradas las entradas DNS o terminaremos con la IP bloqueada. Para que la configuración opere correctamente se deben tener bien configurado lo siguiente: 1. Resolución inversa de la IP del servidor. 2. Entradas MX del dominio. 3. Entradas SPF para envío de correo. 4. Configuración DKIM, obligatoria si usas IPv6. 5. DMARK no es obligatorio pero al principio es útil para ver que ocurre con los correos enviados. Aquí dejo el enlace de una web para hacer tests: MxToolBox_, aunque es mejor hacer los tests mediante los comandos que muestro. .. _resolucion-inversa: Resolución inversa ================== La resolución inversa consiste en obtener un nombre para una determinada IP. En el caso de un servidor de correo, para que quede configurado correctamente deben cumplirse las siguientes reglas: 1. La resolución inversa de la IP y la resolución directa del nombre deben coincidir. 2. La respuesta 220 [#n1]_ del servidor de correo (puerto 25) debe también coincidir en el nombre anterior. La resolución inversa sólo puede establecerse desde el proveedor de servicios donde se tenga alojada la máquina. En el siguiente ejemplo muestro mi configuración, donde he escogido como dominio primario *art-website.com* y he establecido *mail.art-website.com* como servidor de correo del dominio: .. code:: shell host mail.art-website.com mail.art-website.com has address 51.210.177.38 host 51.210.177.38 38.177.210.51.in-addr.arpa domain name pointer mail.art-website.com. Entradas MX =========== Estas entradas DNS sirven para indicar la(s) máquina(s) donde se deben entregar los correos entrantes. Así, las entradas MX del dominio *art-website.com* apuntan al nombre mostrado anteriormente *mail.art-website.com*, usada para la resolución inversa. Con estos comandos se puede comprobar si está correctamente establecido: .. code:: shell host -t mx art-website.com art-website.com mail is handled by 10 mail.art-website.com. Para que otros dominios también sean gestionados por esta máquina basta con establecer las entradas MX de cada dominio adicional a *mail.art-website.com*, por ejemplo, para mi dominio secundario *20cones.org* sirve: .. code:: shell host -t mx 20cones.org 20cones.org mail is handled by 10 mail.art-website.com. .. important:: Las entradas MX no deben apuntar a una IP. Según :rfc:`1035` deben resolverse hacia un nombre, y ese nombre resolverá a una IP. Entradas SPF ============ Las entradas SPF son muy importantes para que el correo llegue correctamente a su destino. Estas entradas indican las IPs permitidas para enviar los correos del dominio, y son entradas DNS de texto. Estas entradas deben incluir la IP del servidor :term:`SMTP` del dominio y para entender su sintaxis se puede consultar OpenSPF_ El servidor que estoy usando como ejemplo tengo una IPv4 y una IPv6, de forma que la entrada es: .. code:: text v=spf1 ip4:51.210.177.38 ip6:2001:41d0:304:200::c45e -all Para los dominios secundarios, por ejemplo *20cones.org*, una buena técnica es hacer referencia al servidor principal. Haciendo esto para el resto de dominios simplifico la migración en caso de cambio de IP. La regla :term:`SPF` sería: .. code:: text v=spf1 include:art-website.com -all Se deben introducir estas entradas DNS de texto en el servidor DNS, y para revisar que todo está correcto, se pueden usar los siguientes comandos, comprobando la salida de cada uno de ellos: .. code:: shell host -t txt art-website.com art-website.com descriptive text "v=spf1 ip4:51.210.177.38 ip4:37.187.136.189 ip6:2001:41d0:304:200::c45e -all" host -t txt 20cones.org 20cones.org descriptive text "v=spf1 include:art-website.com -all " .. warning:: Si añades las entradas DNS desde el panel de control de tu proveedor, ten cuidado, ya que estas entradas no llevan prefijo. Es importante validar las entradas :term:`SPF`, hay muchas herramientas en la red, dejo el enlace de una que uso habitualmente: `SPF Record Testing Tools`_. El test final que se puede hacer es comprobar con GMail si la configuración es correcta. Así, enviando un correo a GMail, en las cabeceras del correo recibido debería aparecer es estado SPF tal y como se muestra: .. code:: text Authentication-Results: mx.google.com; spf=pass (google.com: domain of paulino@art-website.com designates 2001:41d0:52:cff::4d as permitted sender) smtp.mail=paulino@art-website.com; .. warning:: Cuidado al hacer este test, si tienes IPv6 y no tienes DKIM configurado, Google rechazará todos los correos de tu servidor. Puedes desactivar IPv6 temporalmente o configurar DKIM, antes de hacer esta prueba. .. rubric:: Notas .. [#n1] La respuesta 220 se trata durante la configuración de EXIM4. .. include:: ../enlaces.inc.rst