coordinar un cambio de MX

11 de abril de 2010

Esta semana hemos migrado las cuentas de correo de un servidor Postfix en Linux a un servidor Lotus Domino en AIX en una maquina física diferente y en otro centro diferente. Entre todas las cosas que hay que coordinar en esta migración una de ellas es el cambio de los registros MX para que dejen de apuntar a la maquina Postfix y apunten a la nueva maquina Domino.

Dependiendo de la forma de trabajar de cada departamento de IT nosotros hacemos estos cambios un viernes por la tarde de forma que sí algo falla tenemos el fin de semana para arreglar el estropicio y que todo funcione el Lunes… aunque esto depende de cada uno.

Durante un cambio en los servidores, una cosa muy importante que tenemos que controlar es el DNS y en especial los registros MX y TXT. Todos los dominios dados de alta en un DNS tienen un campo asignado donde se indica el TTL (tiempo-de-vida) de los registros.
Este valor en muy importante durante una migración ya que indica el tiempo de caducidad de los registros de nuestro dominio. Por ejemplo, si ponemos un TTL de tres dias y realizamos un cambio en los registros MX , eso querrá decir que el resto del mundo no se enterará que hemos cambiado de MX hasta tres días después. Hasta que no pasen tres dias no volverán a consultar los registros de este dominio.

Aquí tenemos un ejemplo de registro de dominio donde se especifica tres dias de TTL:

$TTL 3D
@               IN      SOA     land-5.com. root.land-5.com. (
                                199609206       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      land-5.com.
                        NS      ns2.psi.net.


Por tanto, tres días antes de hacer la migración es aconsejable cambiar este TTL por ejemplo a 5 minitos. El campo TTL se indica en segundos desde 0 a 214748364 (64 años). El 0 indica a los DNS que no cacheen los registros.

Pondríamos un:
$TTL 300

Una vez llegado el día de la migración podemos cambiar los registros MX (o cualquier otro registro) con tranquilidad, sabiendo que nuestro cambio estará disponible a nivel mundial cada 5 minutos. Una vez hecha la migración y hayamos comprobado que ya recibimos correo desde el exterior a nuestro nuevo servidor, podemos volver a dejar el valor por defecto del TTL de nuestro DNS. Cómo reglar general el campo TTL lo utilizan los daemons de DNS para controlar la caducidad pero esto depende mucho de la implementación y la configuración no-estándar que sigan el resto de servidores de DNS.
Para ir comprobando si ya hemos propagado este cambio al resto de DNS podemos utilizar herramientas externas como www.mxtoolbox.com.

Otro de los registros que debemos modificar durante la migración del correo y que siempre se olvida es el registro TXT para aquellos que tengamos o deseemos activar el SPF (Sender Police Framework). Recordar que los registros MX indican las maquinas aceptadas para recibir el correo de un dominio y SPF indica las maquinas aceptadas para el envío de correo de ese dominio. SPF se inventó para combatir el problema del Spam. Cómo históricamente no existía ningún registro SPF en el DNS se optó por utilizar el registro TXT existente que hasta hace poco no servía para nada.

Aquí tenéis un ejemplo del registro TXT:
TXT = "v=spf1 ip4:214.229.188.0/25 ip4:80.34.132.42 mx -all"

Lo que indica esta línea es que las maquinas autorizadas para el envío de correo desde dicho dominio son las maquinas dentro de la red 214.229.188.0/25, la maquina 80.34.132.42, la maquinas especificadas en los MX y ninguna más.

1 comentarios:

Mstaaravin dijo...

Muy buena explicación que a muchos se les pasa por alto.
Pero es algo básico en la administración de DNS servers (djbdns en mi caso).

Zoneedit inclusive nos permite modificar el valor TTL.
http://img708.imageshack.us/img708/4959/screenshotkg.png