Los registros MX son una parte muy importante de los registros DNS (o zonas DNS) de tu servidor. De todos es sabido que los registros MX (Mail Exchange) están relacionados con el correo electrónico y con el modo en que éste debe enrutarse hacia su destino. Su correcta configuración es imprescindible sobretodo cuando queremos separar el correo electrónico y las webs para alojarlos en servidores independientes, ¿pero cómo funcionan?
Vamos a verlo con un ejemplo sobre una cuenta de correo llamada proxadmin@midominio.com.
Así es como se vería generalmente la zona DNS para el dominio midominio.com.
; Zone file for midominio.com @ 14400 IN SOA ns.minameserver.com. root.ns.minameserver.com. ( 109157199 86000 7200 3600000 600 ) midominio.com. 14400 IN NS ns.minameserver.com. midominio.com. 14400 IN NS ns2.minameserver.com. midominio.com. 14400 IN NS ns3.minameserver.com. ; A Record midominio.com. 14400 IN A 87.98.231.34 localhost.midominio.com. 14400 IN A 127.0.0.1 ; MX record midominio.com. 14400 IN MX 0 midominio.com. mail 14400 IN CNAME midominio.com. www 14400 IN CNAME midominio.com ftp 14400 IN CNAME midominio.com.
Fijémonos en la línea que contiene el registro MX:
midominio.com. 14400 IN MX 0 midominio.com.
Este registro «MX» nos indica que todos los correos del tipo @midominio.com deben ser enrutados hacia el servidor de correo midominio.com. El registro «A» de esta misma zona DNS nos indica que el dominio midominio.com se encuentra en la IP 87.98.231.34, por lo tanto, todo el correo electrónico dirigido a proxadmin@midominio.com será enrutado hacia el servidor de correo electrónico en la IP 87.98.231.34. Aquí terminaría tarea del registro MX, una vez que el registro MX ha enrutado el correo electrónico hacia su destino, el servidor de correo electrónico del servidor (por ejemplo Exim) toma el control recogiendo el correo y lo entrega al usuario proxadmin.
Es importante que haya un punto «.» después del nombre de dominio en el registro MX. Si no hubiésemos puesto un punto, el correo sería enrutado hacia midominio.com.midominio.com en lugar de hacia midominio.com. El número «0» indica el orden de preferencia en el enrutamiento. El correo siempre se enruta hacia el servidor que tiene el número de preferencia más bajo. Si sólo hay un servidor de correo, debe configurarse siempre en «0».
Tener configurados múltiples servidores de correo resulta muy útil para favorecer la redundancia. Si el servidor de correo con más prioridad (el que tiene el número de preferencia más bajo) se encuentra caído en el momento del envío, el sistema tomará automáticamente el servidor de correo con el segundo número de preferencia más bajo.
Por ejemplo:
midominio. 14400 IN A 87.98.231.34 servidor2.midominio.com. 14400 IN A 87.98.231.35 midominio.com. 14400 IN MX 0 midominio.com. midominio.com. 14400 IN MX 10 servidor2.midominio.com
Puedes configurar tantos registros MX como consideres necesarios.
Si todos los registros MX tienen el mismo número de preferencia, el sistema intentará el envío a uno u otro por igual de forma aleatoria, y posteriormente saltará al registro MX con el siguiente número de preferencia.
No es posible apuntar los registros MX directamente a una IP, por ejemplo, definiéndolo como midominio.com. 14400 IN MX 0 87.98.231.35. Lo que debe hacerse es definir primero un registro «A» y posteriormente apuntar el registro MX a ese registro «A».
servidor2.midominio.com. 14400 IN A 87.98.231.35 midominio.com. 14400 IN MX 30 servidor2.midominio.com.
Un subdominio es algo así subdominio.midominio.com. Si asumimos que quieres enviar un correo a proxadmin@subdominio.midominio.com y capturarlo en un servidor remoto, el registro quedaría así:
midominio.com. 14400 IN A 87.98.231.34 servidor2.midominio.com. 14400 IN A 87.98.31.35 midominio.com. 14400 IN MX 10 midominio.com. subdominio.midominio.com. 14400 IN MX 10 servidor2.midominio.com.
Con esta configuración, proxadmin@subdominio.midominio.com irá al servidor 87.98.31.35 y proxadmin@midominio.com irá al servidor 87.98.231.34.
Después de crear el registro MX, puedes testearlo para comprobar si está bien configurado utilizando una herramienta como nslookup:
[root@localhost]# nslookup > set q=mx > google.es Servidor: 192.168.1.1 Address: 192.168.1.1 Respuesta no autoritativa: google.es MX preference = 30, mail exchanger = alt2.aspmx.l.google.com google.es MX preference = 50, mail exchanger = alt4.aspmx.l.google.com google.es MX preference = 40, mail exchanger = alt3.aspmx.l.google.com google.es MX preference = 10, mail exchanger = aspmx.l.google.com google.es MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
Los Spammers normalmente intentan obtener tus servidores de correo con menor prioriodad, con la intención de buscar una cuenta de correo mal configurada o poco segura en sus credenciales. El script de Spam lee tus registros MX, localiza el servidor de correo con la menor prioriodad (el que tiene el número de preferencia más alto) e intenta realizar el Spam con ese servidor.
Por este motivo es tan importante tener siempre protegido tu servidor de correo con una herramienta antivirus y antispam.