domingo, 12 de julio de 2015

Tropezando - Parte 20 - Cambiando los DNS

Un problema muy recurrente en algunas distribuciones es que no se puede navegar por internet desde según qué routers (los Livebox de Orange son especialmente problemáticos). Después de mucho tiempo lidiando con este problema, un colega me dio la pista que necesitaba para hallar la solución: ¿no sería un problema con los DNS?
¿Qué diantres significa DNS?
Para entrar a una página web, normalmente escribimos su dirección en el navegador, ¿no? Algo como google.es, michichi.com y cosas así. Pues bien, ésa no es su auténtica dirección: en realidad las direcciones de todos los servicios de internet son direcciones IP, algo como "64.233.180.94". Lo otro son nombres de dominio, no direcciones.
Así pues, ¿cómo sabe el navegador a qué dirección IP acudir cuando le escribimos un dominio? Acudiendo a un servidor DNS, que se encarga precisamente de traducir nombres a direcciones. Los servidores DNS a su vez tienen sus propias direcciones IP, quedando un esquema tal que así: introducimos el dominio en el navegador, éste acude al servidor DNS que tenga configurado, el servidor busca qué IP se corresponde con dicho nombre y se lo dice al navegador, y, por fin, el navegador conecta con la dirección correcta y carga la página en cuestión.

¿Cómo sabe el ordenador qué dirección tiene el servidor DNS?
Ahí está el meollo: alguien debe decírselo.
En mi distribución de cabecera (LXLE, basada en Ubuntu) viene preconfigurada la dirección local 192.168.0.1, habitual en muchos routers, de forma que es el propio router el que decide dónde debe buscar el servidor DNS, y esto funciona bien en muchos casos. Si el router no está en esa dirección, o si éste es incapaz de buscar un DNS por su cuenta, se nos hará imposible navegar, aunque la conexión funcione.
La dirección del DNS a usar se almacena en un archivo de nuestro sistema, concretamente en /etc/resolv.conf. No es más que un archivo de texto que se puede editar con cualquier programa al uso (gedit, leafpad, ed, nano...).

¿Qué dirección le pongo entonces?
Si sabemos la dirección de nuestro router, podemos probar suerte: quizá sea capaz de buscar un DNS apropiado (generalmente el de nuestro distribuidor de red: Movistar, Orange, Vodafone, Wanadoo...). No obstante, eso sólo servirá para nuestro router, y no para cualquier otro al que queramos conectar (por ejemplo, en un bar, en casa de un amigo o lo que sea).
Tenemos los siempre socorridos DNS públicos de Google: 8.8.8.8 y 8.8.4.4. Tienen una alta disponibilidad, funcionan en todo el mundo y son bastante rápidos.
A quien le dé tirria usar servicios de Google, tiene los servidores OpenDNS, que inciden sobre todo en la seguridad y la privacidad: 208.67.222.222 y 208.67.220.220. También disponen de servicios de alto rendimiento para empresas e incluso de servidores que bloquean contenidos para adultos (este servicio es gratuito, pero hay que registrarse).

¿Cómo sé si mi problema son los DNS?
Nada más fácil. Entra en Google.es. Si no funciona, entra usando su IP: 64.233.180.94. Si éste funcuiona, el problema está en la conexión con el servidor DNS.

¡Al turrón!
Editamos (con permisos de administrador) el archivo /etc/resolv.conf y escribimos las direcciones IP de los servidores que queramos usar precedidas de la palabra nameserver , una por línea y en orden de preferencia. A modo de ejemplo, mi archivo ha quedado tal que así:

nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 8.8.8.8
nameserver 192.168.0.1

Esto es: primero prueba con las dos direcciones de OpenDNS, si no funciona prueba con una de las de Google, y si eso tampoco funciona lo intenta con el router local.

Hay otras formas de cambiar las direcciones DNS (cambiar la configuración de cada conexión, cambiarlas en el propio navegador, etc...), pero eso ya se verá cuando toque. De momento, esta solución funciona muy bien, sirve para todo el sistema (no sólo para un programa o una conexión concretas) y es fácil de aplicar.


En fin, esto ha sido todo por hoy. Como siempre, los comentarios están abiertos.

No hay comentarios:

Publicar un comentario