Como configurar los servidores DNS de tu ordenador

¿Qué es un DNS?

Un DNS (Domain Name System), o un Sistema de Nombres de Dominio, es el sistema que se encarga de la traducción de nombres de dominio a direcciones IP. Por ejemplo, cuando navegamos por la red, al poner el nombre de un dominio cualquiera en el navegador, este es capaz de llevarnos a la IP de un servidor de forma transparente. Este proceso de traducción es el resultado del trabajo del DNS que tenemos configurado en nuestro PC o dispositivo que utilizamos en nuestra conexión a Internet.

¿Qué DNS elegir?

Existen diversos proveedores que ofrecen sus DNS públicos para que cualquiera pueda utilizarlos de forma totalmente gratuita, como pueden ser:

Cloudflare:
1.1.1.1
1.0.0.1

Google:
8.8.8.8
8.8.4.4

OpenDNS:
208.67.222.222
208.67.220.220

IBM Quad9:
9.9.9.9
149.112.112.112

Pero entonces, cual elegimos? Normalmente se suele recomendar alguno de los anteriores, que a parte de ser de los más utilizados, su velocidad y seguridad son destacables, pero las prestaciones uno de otro pueden variar según nuestra localización y de el proveedor de conexión a Internet que tengamos contratado.

Para saber que DNS responde mejor, podemos probar a utilizar el siguiente script publicado en Github. Para ello, bajo un sistema Linux (Ubuntu, Debian, Fedora, CentOS, etc…), instalaremos la paquetería necesaria, descargaremos este repositorio y lo ejecutaremos:

sudo apt-get install bc dnsutils
git clone --depth=1 https://github.com/cleanbrowsing/dnsperftest/
cd dnsperftest
bash ./dnstest.sh |sort -k 22 -n

Y nos aparecerán unos resultados similares a estos:

$ bash ./dnstest.sh |sort -k 22 -n
                  test1   test2   test3   test4   test5   test6   test7   test8   test9   test10  Average 
cloudflare        12 ms   13 ms   13 ms   12 ms   13 ms   12 ms   12 ms   12 ms   12 ms   12 ms     12.30
google            13 ms   13 ms   12 ms   13 ms   12 ms   12 ms   14 ms   12 ms   12 ms   12 ms     12.50
norton            24 ms   12 ms   13 ms   24 ms   13 ms   17 ms   27 ms   12 ms   17 ms   24 ms     18.30
cleanbrowsing     26 ms   29 ms   33 ms   27 ms   26 ms   29 ms   26 ms   31 ms   26 ms   30 ms     28.30
neustar           12 ms   52 ms   45 ms   31 ms   41 ms   36 ms   12 ms   32 ms   13 ms   11 ms     28.50
adguard           28 ms   29 ms   29 ms   30 ms   30 ms   30 ms   29 ms   26 ms   31 ms   27 ms     28.90
comodo            30 ms   32 ms   29 ms   31 ms   31 ms   30 ms   30 ms   31 ms   29 ms   31 ms     30.40
level3            31 ms   31 ms   30 ms   30 ms   31 ms   30 ms   31 ms   30 ms   30 ms   31 ms     30.50
opendns           37 ms   36 ms   36 ms   37 ms   38 ms   36 ms   36 ms   37 ms   36 ms   36 ms     36.50
quad9             48 ms   39 ms   38 ms   38 ms   39 ms   37 ms   38 ms   38 ms   38 ms   39 ms     39.20
freenom           38 ms   43 ms   68 ms   39 ms   61 ms   188 ms  47 ms   56 ms   39 ms   58 ms     63.70
yandex            68 ms   111 ms  67 ms   68 ms   97 ms   98 ms   68 ms   68 ms   68 ms   68 ms     78.10

Por los resultados obtenidos, teniendo en cuenta nuestra localización y conexión a Internet, los DNS de Cloudflare puede que sean los que más nos interesan utilizar.

¿Como configurar los DNS?

Ubuntu 18.04 (desktop)

En el siguiente ejemplo configuraremos los DNS en el sistema operativo Ubuntu 18.04 en la versión de escritorio (desktop).

Si nos basamos en elegir el mejor DNS según los resultados obtenidos del test, elegiremos Cloudflare.

Para ello, nos dirigiremos a la configuración de redes de Ubuntu de la esquina superior derecha, y configuraremos la conexión cableada (los pasos son los mismos en una conexión wifi):

En el menú de Configuración de la Red deberemos clicar en el botón de configuración de la conexión (rueda dentada):

En la siguiente ventana debemos clicar en la pestaña IPv4, en el recuadro de DNS que normalmente estará vacio (en este caso se están usando los DNS configurados en el router), debemos indicar las IP’s de los DNS de Cloudflare (1.1.1.1,1.0.0.1) separados por una coma, dejamos el botón de Automático desactivado para el DNS y finalmente guardamos con el botón Aplicar:

Y a partir de ahora, nuestro PC empezará a trabajar con los DNS que hemos configurado.

Ubuntu/Debian (server)

Si en lugar de configurar los DNS en un PC de escritorio (desktop) los queremos aplicar en la versión de Ubuntu Server o Debian (ejemplo valido para diferentes distribuciones Linux), nos deberemos conectar por SSH al servidor:

ssh miservidor.com

Editaremos el archivo resolv.conf:

vi /etc/resolv.conf

E indicaremos los DNS que queramos configurar, en el ejemplo pondremos los de Cloudflare:

nameserver 1.1.1.1
nameserver 1.0.0.1

Y a partir del mismo momento el servidor empezará a funcionar con estos DNS.