Вы находитесь на странице: 1из 11

Elegir el mejor servidor DNS 3 25 may 2013 | Linux Tags:Configuracin Debian DNS

En grandes cantidades de post o en conversaciones entre geeks se suelen recomendar algn que otro servidor DNS para incrementar la velocidad de navegacin en Internet. Pero hay que tener en cuenta la eleccin del mejor DNS depende de mltiples factores. Puede ser que para nosotros el mejor DNS sea el de Google mientras que por determinadas circunstancias en otros pases otros servidores DNS, como por ejemplo los que te puede ofrecer tu ISP, funcionen mejor que los de Google. Una vez planteada esta situacin en el siguiente post conoceremos de forma precisa para que sirve un servidor DNS, como funciona y como elegir el DNS que ms nos conviene en funcin de nuestra ubicacin geogrfica. PARA QUE SIRVE UN SERVIDOR DNS Para ver la utilidad de un servidor DNS lo ms fcil es poner un ejemplo. Imaginemos que nos queremos conectar a una determinada pgina web. Sabemos que toda pgina web est alojada en un servidor y que cada servidor tiene una IP pblica que es nica. Por lo tanto tericamente para conectarnos a una pgina web lo podemos hacer introduciendo la IP del servidor en que esta alojada la pgina web. As por lo tanto si queremos acceder al buscador de google lo podemos realizar introduciendo su IP. Primero averiguamos la IP. Podemos averiguar la IP tecleando el siguiente comando en la terminal: ping www.google.es

Como se puede ver en la captura de pantalla la IP del servidor de google es 173.194.40.63. Una vez conocemos la IP nos vamos a nuestro navegador y en la barra de direcciones introducimos la IP 173.194.40.63. Como se puede ver en la siguiente captura de pantalla hemos accedido al buscador:

Nota: El mtodo que se acaba de describir no funcionar en el caso que se intente acceder mediante la IP a un servidor web que aloje varias pginas. Por lo tanto acabamos de ver que podemos acceder a las pginas web por medio de su IP. Pero este mtodo presenta graves inconvenientes como por ejemplo los siguientes: 1. Resulta sumamente difcil recordar una direccin IP 2. Las direcciones IP pueden cambiar. As por ejemplo acabamos de acceder al buscador de Google con la IP 173.194.40.63. Puede ser que en una semana est direccin ya no funcione porque la IP ha cambiado. Para solucionar este problema existen los servidores DNS. La funcin de un servidor DNS ser la de traducir todo nombre de dominio, como por ejemplo www.google.es, a una direccin IP para poder establecer la conexin a la web que queremos visitar. As por lo tanto cuando nosotros introducimos www.google.es el servidor DNS se encargar de traducir el dominio www.google.es a la IP 173.194.40.63. Adems www.google.es es sumamente fcil de recordar y en el caso que cambie la IP donde est alojado el servidor de Google no habr problema ya que el servidor DNS detectar que la IP ha cambiado. Con el ejemplo que acabamos de ver pienso que queda claro para que sirven los servidores DNS. Con el ejemplo tambin podemos deducir que en el caso que el servidor DNS no funcione perderemos completamente la capacidad de navegar por Internet ya que para nuestro navegador el dominio que tecleamos para acceder a una pgina web no tiene ningn significado. 2

COMO FUNCIONA UN SERVIDOR DNS Una vez sabemos el uso que tiene un servidor DNS podemos ver como funciona. Para ver el funcionamiento lo mejor es explicarlo de forma simplificada y a travs de un ejemplo. El ejemplo es el siguiente: 1. En nuestro navegador tecleamos la pgina web que queremos visitar. Pongamos el caso que vamos a visitar el la web www.geekland.hol.es 2. En el caso de tener instalado un servidor DNS cache en casa, como por ejemplo Bind, nscd o dnsmasq, la primera accin que se realizar es comprobar si la peticin www.geekland.hol.es est almacenada la cache de nuestro servidor. Si la peticin est almacenada se termina el proceso. Nuestro servidor DNS cache asociar el nombre de dominio www.geekland.hol.es con su IP correspondiente. 3. En el caso que el servidor DNS cache no tenga la peticin almacenada , ya que es la primera vez que accedemos a esta web, entonces se realizar la peticin al servidor DNS externo. El servidor DNS externo, una vez haya recibido la peticin, comprobar si la tiene almacenada en su cache. Si la tiene almacenada el proceso termina y el servidor DNS externo asociar el nombre del dominio www.geekland.hol.es con su IP. 4. En el caso que el servidor DNS externo no tuviera almacenada nuestra peticin entonces lo que hara seria consultar otro servidor DNS, si el nuevo servidor tampoco tuviera almacenada la peticin consultara a otro servidor y as sucesivamente hasta que al final un servidor nos devolver la direccin IP del dominio o pgina que queremos visitar que en este caso es www.geekland.hol.es. Nota: El proceso descrito en este apartado es muy rpido. La totalidad de acciones descritas en los 4 puntos, como veremos ms adelante, se realizan en cuestin de milisegundos. UTILIDAD QUE TIENE CAMBIAR LOS DNS Acabamos de ver que cada vez que ponemos una direccin en nuestro navegador hay un servidor que se encarga de averiguar la IP del dominio al que nos queremos conectar. Pues bien, hay servidores que obtendrn ms rpidamente la IP que no otros. Si obtenemos la IP con menos tiempo podremos acceder antes a la pgina web que queremos visitar. Para poder ver que lo que acabo de comentar es cierto podemos verlo de la siguiente forma. Primero analizaremos el tiempo que el serividor DNS de Google necesita para poder resolver la peticin para entrar en la web www.geekland.hol.es Para ello primero tenemos que analizar el tiempo que tarda la informacin en viajar desde nuestro ordenador al servidor de Google, y desde el servidor de Google a nuestro ordenador. Para poder analizar el tiempo lo podemos usar con el comando ping de la siguiente forma. Entramos en la terminal y ponemos el siguiente comando: ping 8.8.8.8

Nota: 8.8.8.8 es la IP de uno de los servidores DNS de Google. Al ejecutar el comando nos empezar a dar resultados. Estos resultados son el tiempo de tarda la informacin en trasladarse de un sitio a otro. Para salir del comando ping tenemos que presionar Ctrl+C. Al salir veremos que se nos proporciona una estadstica de tiempos. 3

Una vez conocemos el tiempo que tardan los paquetes en ir de un sitio a otro, para obtener el tiempo total de resolucin de un dominio, hay que aadir el tiempo que tarda el servidor en resolver nuestra peticin. Para obtener este tiempo lo podemos hacer mediante el siguiente comando: time host www.geekland.hol.es 8.8.8.8 Una vez aplicados estos 2 comandos podis ver los resultados obtenidos en la siguiente captura de pantalla:

Si observamos la captura de pantalla vemos que si sumamos el tiempo de resolucin del servidor ms el tiempo de ida y vuelta, el tiempo total para resolver el dominio www.geekland.hol.es es de 317ms aproximadamente. Una vez conocidos los resultados con el servidor DNS de Google pasaremos a realizar el mismo experimento pero ahora con el servidor OpenDNS. As de esta forma podremos comparar los dos resultados. Para realizar el estudio con el servidor de OpenDNS tenemos que aplicar los mismos pasos que acabamos de aplicar con el servidor de google. Por lo tanto abrimos la terminal y aplicamos los siguientes comandos: ping 208.67.222.222 time host www.geekland.hol.es 208.67.222.222

Nota: 208.67.222.222 es la IP de uno de los servidores de OpenDNS. Una vez aplicados estos 2 comandos podis ver los resultados obtenidos en la siguiente captura de pantalla:

Como se puede ver en este caso la velocidad de resolucin es de 935ms. Si comparamos la velocidad con el caso anterior, 317ms, podemos concluir que la velocidad de resolucin del servidor de Google para acceder a www.geekland.hol.es es mucho mejor que no la del servidor de OpenDNS. Por lo tanto si usamos el servidor DNS de Google conseguiremos acceder en este blog de forma ms rpida que los usuarios que usen el servidor DNS de OpenDNS. OTROS FACTORES A CONSIDERAR PARA LA ELECCIN DEL MEJOR DNS Acabamos de ver que la velocidad es un factor importante a la hora de elegir un servidor DNS u otro. Pero un Servidor DNS, como todo servidor, es susceptible de recibir ataques. Por lo tanto no solo tenemos que tener en cuenta la velocidad. La estabilidad y la seguridad tambin sern factores muy a tener en cuenta en la eleccin del servidor DNS. Si encontramos un servidor que ofrece la misma velocidad de resolucin que Google, pero no es reconocido, es mucho mejor elegir los de Google. Los servidores de Google por ejemplo sern mucho ms estables y estarn ms protegidos frente a los ataques descritos a continuacin: Dns Spoofing:

Hay ciertos ataques que aprovechando vulnerabilidades del servidor intentan envenenar la memoria cache del servidor DNS. Una vez envenenada la memoria cache nosotros haremos una peticin al servidor DNS. El servidor DNS mirar si nuestra peticin se encuentra almacenada en su cache. Si encuentra que la peticin est en la cache y adems est envenenada es posible que el servidor DNS nos redirija a una web maliciosa que nos instal algn gusano, malware o que simplemente nos redirija a un clon de la pagina que queremos acceder con el fin de obtener nuestras credenciales, datos bancarios, etc. Nota: Cuando la situacin descrita se presenta el ataque afectar a la totalidad de clientes del servidor DNS. Adems este tipo de ataque tambin puede afectar indirectamente a servidores DNS que dependen del servidor afectado. As por lo tanto si hacemos una peticin a un servidor DNS y no la puede resolver 5

inmediatamente consultar a otro servidor DNS cercano para poder resolver la peticin. Si el servidor DNS al que se conecta est envenenado tambin puede envenenar a nuestro servidor. Ataques de amplificacin DNS o Smurff:

Aprovechando vulnerabilidades de uno o varios servidores DNS, o simplemente aprovechando que en internet hay multitud de servidores DNS abiertos lo que hace este tipo de ataque es lo siguiente: 1. Un grupo de atacantes decide atacar un servicio con una determinada IP. Para realizar el ataque, los atacantes realizan peticiones falsas a distintos servidores DNS vulnerables. 2. Cuando los distintos servidores DNS reciben las peticiones piensan que las peticiones provienen de la IP que queremos atacar. Por lo tanto los servidores DNS responden la multitud de peticiones y las dirige a la IP que se quiere atacar. De esta forma se consigue hacer caer el servicio atacado ya que no tiene capacidad de dar respuesta a la totalidad de trfico que le estamos enviando. Nota: Este tipo de ataque es el que se utilizo para llevar a termino el famoso ataque de SpamHaus, el mayor ciberataque conocido hasta el momento. Como se puede ver en la explicacin con simplemente generar una cantidad nfima de trfico haciendo peticiones DNS somos capaces de generar una gran cantidad de trfico a la vctima. Por lo tanto con todos todos mis respetos, en trminos de seguridad me fo mucho ms de la seguridad de un proveedor como Google u Open DNS que no de proveedores como por ejemplo Telefnica o Jazztel. Google es una empresa pionera en muchos aspectos como por ejemplo aplicar las ltimas tcnicas de seguridad en sus servidores. Ahora bien todo el mundo es libre de elegir el DNS que consider oportuno. Tambin hay que decir que Google en trminos de privacidad debe dejar bastante que desear. Estoy seguro que deben hacer uso de la informacin almacenada en sus servidores DNS para saber las pginas que visitamos. SELECCIONAR EL DNS MS RPIDO Para conocer el DNS ms rpido en funcin de nuestra zona geogrfica existe una aplicacin que se llama namebench. Cmo funciona namebench? Para entender como funciona namebench tenemos que tener en cuenta estos aspectos: 6

1. Namebench dispone de una base de datos muy extensa de pginas web que reciben un alto nmero de visitas. 2. Namebench tambin dispone de una base de datos de multitud de servidores DNS existentes en todo el mundo. Partiendo de esta base namebench, para cada una de las paginas web que tiene en su base de datos realizar una peticin a cada uno de los servidores DNS existentes en la otra base de datos. Para cada una de las peticiones realizadas, namebench registrar los tiempos de resolucin y al final nos acabar dando una serie de estadsticas que nos revelern el mejor DNS en nuestro caso. Instalacin de Namebench Namebench est en la paquetera de prcticamente la totalidad de distros Linux. Por lo tanto para instalarlo tan solo tenemos que abrir una terminal y teclear el siguiente comando: sudo apt-get install namebench En el caso de ser usuario de Windows o MAC_OS pueden descargar namebench de la siguiente pgina web: https://code.google.com/p/namebench/downloads/list Instrucciones para usar namebench Una vez instalado namebench lo ejecutamos. Para ejecutarlo escribimos el siguiente comando en la terminal: namebench Se ejecutar el programa y nos aparecer la siguiente pantalla:

Nota: La captura de pantalla muestra las opciones que eleg para saber cuales son los mejores DNS en mi caso. Otras configuraciones tambin pueden ser completamente vlidas. Las opciones de configuracin que ofrece namebench se pueden ver en la ltima captura de pantalla. El significado de cada una de las celdas es el siguiente: 7

nameservers: En este campo tenemos que introducir la totalidad de servidores DNS que queremos asegurar que sean incluidos en la comparativa de velocidad. El valor por defecto de este campo son las DNS que tenemos configuradas actualmente en nuestro equipo, que como se puede ver en la captura de pantalla son los de mi ISP. Si queremos podemos ampliar el campo nameservers con otros servidores DNS. Include global DNS providers: Si seleccionamos esta opcin estaremos incluyendo Multitud de servidores DNS archiconocidos en nuestro estudio. Estos DNS por ejemplo incluyen los DNS de Google, los OpenDNS o los UltraDNS. Nota: Editando el fichero namebench.cfg ubicado en /etc/namebench podemos aadir servidores adicionales. No obstante si consultis el archivo veris que dispone de aproximadamente 4000 servidores DNS. Por lo tanto en principio no es necesario ampliar la lista. Include best available regional DNS services: Seleccionando esta esta opcin estamos incluyendo un gran nmero de servidores regionales en nuestro anlisis de servidores ms rpidos. Nota: A pesar de disponer de un elevada base de datos de servidores namebench solo considerar 10 servidores en el estudio que realizar. Namebench elegir 4 servidores globales, 4 servidores regionales y el servidor dns primarios y secundario que tenemos actualmente configurados en nuestro ordenador. Include Censorship Checks: Al seleccionar esta opcin estaremos forzando a namebench que testee los servidores DNS con pginas web que en principio estn censuradas. Namebench intentar analizar que el resultado de la consulta a la pginas web censuradas proporcionen el resultado esperado. En el caso de no proporcionar el resultado esperado entonces este servidor DNS no es seguro. Your Location: En este apartado tenemos que seleccionar nuestro pas. En mi caso Espaa. Upload and Share: Al seleccionar esta opcin estamos dando permiso a namebench para que almacene de forma annima los resultados que hemos obtenido en el test. De est forma namebench podr mejorar su software y de paso los ISP podrn consultar la informacin acerca de si el servicio que estn ofreciendo es correcto o no. Query Data Source: Como hemos dicho anteriormente namebench tiene una base de datos de pginas web que usa para realizar peticiones a los servidores DNS. Pues bien, la verdad es que no solo tiene una base de datos si no que tiene varias. En este campo nosotros deberemos elegir la base de datos que deseemos. Por ejemplo podemos elegir las paginas web que tenemos en el historial de navegacin de nuestro navegador, el top 2000 de las pginas web registradas en Alexa, etc. Health Check Performance: En este campo podemos seleccionar el nmero de servidores DNS a los que namebench puede realizar peticiones simultneamente. Si elegimos la opcin fast se podrn realizar hasta 40 peticiones a servidores de forma simultanea. Si elegimos slow se harn 10. Number of queries: En este campo estaremos seleccionando un nmero de peticiones que se harn para cada uno de los servidores DNS. Por defecto el nmero de peticiones que se hace a cada uno los servidores DNS es de 250. Una vez seleccionadas las opciones clicamos al Botn Running y empezar el estudio. El estudio durar ente 10 y 15 minutos aproximadamente.

Como hemos dicho anteriormente namebench realizar peticiones automticas de nuestras direcciones ms visitas almacenadas en Firefox o en el top 2000 de las webs registradas en Alexa y analizar y registrar la velocidad de resolucin de cada uno de los servidores DNS. RESULTADOS PROPORCIONADOS POR NAMEBENCH Una vez realizado el anlisis nos dar el siguiente tipo de resultados:

Nota: Como se puede ver en la captura de la imagen si cambiar mi servidor DNS primario actual por el servidor DNS de Google mi velocidad de resolucin en las peticiones se incrementara un 10%.

Nota: En el primer grfico podemos ver que Google es el servidor DNS que nos da la mejor velocidad media de resolucin de peticiones con 130 ms de media. En el segundo grfico podemos que la resolucin ms rpida que ha realizado ha sido de 74ms ocupando prcticamente la ltima posicin. Esto quiere decir que la velocidad de resolucin de peticiones del servidor DNS de Google es muy constante independientemente de la web que queramos visitar.

Nota: En este grfica se puede que que el servidor DNS de Google resuelve aproximadamente el 80% de peticiones en apenas 70ms. Mientras que el servidor de Terra el 42% de las peticiones las resuelve en apenas 40 ms.

Nota: Este tipo de grfico muestra el mismo tipo de informacin que la anterior. La nica diferencia es que el grfico anterior solo se representaban los 200 primeros ms mientras que en esta se representa hasta los 3500 ms. COMO CAMBIAR LOS DNS DE MI ORDENADOR Seguidamente en funcin de los resultados obtenidos con namebench cambiaremos los DNS de nuestro ordenador para de esta forma poder navegar ms rpido. La forma ms rpida para poder realizar este paso es mediante al terminal. Por lo tanto abrimos una terminal e introducimos el siguiente comando: sudo gedit /etc/resolv.conf Se abrir el editor de textos gedit. El contenido que tengo inicialmente es: # Generated by NetworkManager nameserver 80.58.0.33 nameserver 80.58.32.97 Ahora tan solo tengo que sustituir las IP del servidor primario y secundario en funcin de los resultados obtenidos en namebench. Por lo tanto en mi caso el contenido del archivo resolv.conf tendra que quedar de la siguiente forma: # Generated by NetworkManager nameserver 8.8.8.8 nameserver 195.235.113.3 Guardamos los cambios, cerramos el editor de textos y ya podemos decir que el proceso ha terminado. Nota: Otra opcin es cambiar los servidores DNS directamente en el router. ALGUNOS SERVIDORES DNS PBLICOS RECONOCIDOS 10

En el caso que algunas personas tengan curiosidad para consultar algunos de los servidores DNS existentes les dejo el siguientes link: http://www.adslzone.net/datosconexion.html Adems tambin existen otra serie de servidores DNS pblico como por ejemplo los siguientes: Google DNS DNS Secundario: 8.8.4.4 OpenDNS DNS DNS Secundario: 208.67.220.220 Comodo DNS DNS Secundario: 8.20.247.20 Norton DNS DNS Secundario: 198.153.194.50 Primario: DNS 8.8.8.8

Primario: Secure Primario:

208.67.222.222 DNS 8.26.56.26 ConnectSafe 198.153.192.50

Primario:

11

Вам также может понравиться