El servidor DNS preferido es aquel con el que el cliente prueba en primer lugar. También es el servidor en el que el cliente DNS actualiza sus registros de recursos. Si el servidor DNS preferido falla, el cliente prueba con el servidor DNS alternativo.
Opcionalmente, puedes especificar una lista completa de servidores DNS alternativos. Los servidores DNS preferidos y alternativos especificados se consultan en el orden que aparezcan en la lista.
Sin un servidor DNS preferido, el cliente DNS no puede consultar un servidor DNS. Sin un DNS alternativo, las consultas no se resolverán si el servidor DNS preferido falla.
Los pasos siguientes indican el proceso para entrar en contacto con servidores DNS preferidos y alternativos:
- El servidor DNS preferido responde primero a una consulta DNS o a una actualización DNS.
- Si el servidor DNS preferido no responde a una consulta DNS o a una actualización DNS, la consulta o actualización se redirige al servidor DNS alternativo.
- Si el servidor DNS alternativo no responde y el cliente DNS está configurado con las direcciones IP adicionales de servidores DNS, el cliente DNS envía la consulta o actualización al siguiente servidor DNS de la lista.
- Si alguno de los servidores DNS (un servidor preferido, un servidor alternativo o cualquier otro de la lista) no responde, dicho servidor se quita temporalmente de la lista.
- Si ninguno de los servidores DNS responden, la consulta o actualización del cliente DNS no se realiza.
En los equipos tipo GNU/Linux puedes configurar estos servidores en el archivo /etc/resolv.conf
e incluso puedes realizar balanceo de carga entre ellos, así como la modificación del tiempo de espera efectuado desde que un servidor falla hasta que se prueba con otro.
La configuración sería algo así:
nameserver 8.8.8.8 nameserver 8.8.4.4
En este caso si 8.8.8.8
falla la resolución se realizará a través de 8.8.4.4
. El problema es que por defecto el valor de tiempo de espera (timeout
) asignado es 5 segundos, por lo que tardará un tiempo en detectar que tiene que utilizar el segundo DNS y todo irá muy lento. Para solucionarlo, tienes que usar la directiva "options
" y modificar el timeout
. Así, puedes poner 1 segundo como se demuestra en el siguiente ejemplo:
nameserver 8.8.8.8 nameserver 8.8.4.4 options timeout:1
Otra opción también interesante es "rotate
", que permite distribuir la carga entre todos los servidores listados y evitar que todas las peticiones vayan siempre al primero:
nameserver 8.8.8.8 nameserver 8.8.4.4 options timeout:1 rotate attempts:1
Configurando estas opciones aseguramos que en caso del fallo del servidor DNS preferido el rendimiento de la máquina no se degrade.