{"id":2186,"date":"2012-03-01T10:47:35","date_gmt":"2012-03-01T09:47:35","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=2186"},"modified":"2020-08-29T19:43:50","modified_gmt":"2020-08-29T17:43:50","slug":"dns-cache","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/dns-cache\/","title":{"rendered":"Servidor DNS Cach\u00e9 | Pr\u00e1ctica guiada"},"content":{"rendered":"

Un servidor DNS Cach\u00e9<\/strong> no tiene autoridad sobre ninguna Zona. Se dedica a reenviar la consulta y luego memorizar la respuesta para no tener que volver a preguntarla.<\/h2>\n

 
\nLo primero que hemos de hacer es instalar el servicio Bind<\/a> (en LINUX). Existen otros servidores de nombres, pero el bind es el m\u00e1s famoso.
\n 
\nINFO COMPLEMENTARIA SOBRE DNS: Ver
c\u00f3mo Instalar y configurar un Servidor DNS con Bind<\/a><\/em>
\n 
\nLo instalaremos as\u00ed:<\/p>\n

sudo apt - get install bind9<\/pre>\n

<\/p>\n

Descargar Ejemplos de archivos del Bind Configurados<\/a><\/h3>\n

<\/center>
\n <\/p>\n

Como ya sabemos, el fichero de configuraci\u00f3n de Bind DNS<\/em><\/strong> es el \/etc\/bind\/named.conf.local<\/em>.
\n 
\nEn este archivo es donde configuraremos las opciones principales del servidor DNS, como las zonas (cach\u00e9, primaria, secundaria o de reenv\u00edo) .
\n 
\n
\n 
\n

<\/p>\n

En este caso, como hemos dicho, vamos a configurar un servidor DNS cach\u00e9 con Bind<\/strong>.<\/h3>\n

<\/center>
\n <\/p>\n

Un servidor DNS cach\u00e9<\/strong> es una zona, que indica que act\u00faa como cach\u00e9. Cuando recibe una consulta DNS<\/strong> , reenv\u00eda la consulta al servidor con autoridad para responder sobre la zona solicitada, y guarda la informaci\u00f3n recibida \u00a0acerca de las consultas DNS<\/strong> para utilizarla en posteriores consultas.
\n 
\nEs fundamental que para reenviar las consultas DNS, en el archivo \/etc\/bind\/named.conf.options<\/em>, debe constar la IP del servidor DNS al que se reenviar\u00e1n todas las consultas (forwarder<\/em><\/strong>) que posteriormente el Server DNS Cach\u00e9<\/strong> guardar\u00e1:<\/p>\n

\r\nforwarders {\r\n192.168.0.1; \r\n};\r\n<\/pre>\n

 
\nEn este punto hemos de recordar que el
servidor DNS<\/a> al que se van a reenviar las consultas, ha de permitir las consultas del servidor DNS cach\u00e9<\/strong> (igual ocurre cuando configuramos un servidor esclavo o secundario).<\/p>\n

 
\nEs importante recordar que debemos configurar un nameserver<\/strong> (o servidor de nombres)<\/em> en el archivo \/etc\/resolv.conf<\/em><\/strong><\/em>, que es el archivo d\u00f3nde configuraremos los
Servidores DNS<\/a><\/strong> que nos proporcionar\u00e1n la informaci\u00f3n de las consultas.
\n<\/br> 
\nAs\u00ed que el servidor que actuar\u00e1 de forwarder<\/em> debe contener en su named.conf.options<\/em> la l\u00ednea:<\/p>\n

allow-query { 192.168.0.0\/24; };<\/pre>\n

 
\nEn este caso incluimos la red 192.168.0.0\/24 que casualmente es la red en la que se encuentran los dos servidores, pero hemos de poner aqu\u00ed la red donde se encuentra el servidor DNS Cach\u00e9<\/strong>.<\/p>\n

 
\n
\n 
\nComo en este caso nuestro Servidor DNS cach\u00e9 va a ser el servidor DNS que responder\u00e1 las consultas (reenviando al forwarder<\/em> las consultas que no conoce), el nameserver que aparecer\u00e1 en el archivo \/etc\/resolv.conf<\/em>, ser\u00e1 el propio servidor, con su interfaz loopback:<\/p>\n

nameserver 127.0.0.1<\/pre>\n

 
\n\"dns
\n <\/p>\n

 
\nPero tambi\u00e9n hemos de configurar la zona cach\u00e9<\/strong>, as\u00ed que entramos al archivo \/etc\/bind\/named.conf.local<\/em>
\n <\/p>\n

nano named.conf.local<\/pre>\n

 
\nY hemos de a\u00f1adir esto en el archivo:<\/p>\n

\r\n\r\nzone \".\" {\r\n\r\ntype hint;\r\n\r\nfile \"\/etc\/bind\/db.root\";\r\n};\r\n<\/pre>\n

 
\nY ahora mostrar\u00e9 un ejemplo del archivo de dicha zona “.” que se menciona.
\n 
\nEste archivo (db.root<\/em><\/strong>) contiene la informaci\u00f3n\u00a0en los servidores de\u00a0nombres ra\u00edz\u00a0necesarios para inicializar\u00a0la cach\u00e9\u00a0de los servidores<\/strong>\u00a0de nombres de dominio.
\n <\/p>\n

 
\nAqu\u00ed tenemos un ejemplo:<\/p>\n

;       This file is made available by InterNIC\r\n\r\n;       under anonymous FTP as\r\n\r\n;           file                \/domain\/named.root\r\n\r\n;           on server           FTP.INTERNIC.NET\r\n\r\n;       -OR-                    RS.INTERNIC.NET\r\n\r\n;\r\n\r\n;       last update:    Dec 12, 2008\r\n\r\n;       related version of root zone:   2008121200\r\n\r\n; formerly NS.INTERNIC.NET\r\n\r\n;\r\n\r\n.                        3600000  IN  NS    A.ROOT-SERVERS.NET.\r\n\r\nA.ROOT-SERVERS.NET.      3600000      A     198.41.0.4\r\n\r\nA.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30\r\n\r\n;\r\n\r\n; FORMERLY NS1.ISI.EDU\r\n\r\n;\r\n\r\n.                        3600000      NS    B.ROOT-SERVERS.NET.\r\n\r\nB.ROOT-SERVERS.NET.      3600000      A     192.228.79.201\r\n\r\n;\r\n\r\n; FORMERLY C.PSI.NET\r\n\r\n;\r\n\r\n.                        3600000      NS    C.ROOT-SERVERS.NET.\r\n\r\nC.ROOT-SERVERS.NET.      3600000      A     192.33.4.12\r\n\r\n;\r\n\r\n; FORMERLY TERP.UMD.EDU\r\n\r\n;\r\n\r\n.                        3600000      NS    D.ROOT-SERVERS.NET.\r\n\r\nD.ROOT-SERVERS.NET.      3600000      A     128.8.10.90\r\n\r\n;\r\n\r\n; FORMERLY NS.NASA.GOV\r\n\r\n;\r\n\r\n.                        3600000      NS    E.ROOT-SERVERS.NET.\r\n\r\nE.ROOT-SERVERS.NET.      3600000      A     192.203.230.10\r\n\r\n;\r\n\r\n; FORMERLY NS.ISC.ORG\r\n\r\n;\r\n\r\n.                        3600000      NS    F.ROOT-SERVERS.NET.\r\n\r\nF.ROOT-SERVERS.NET.      3600000      A     192.5.5.241\r\n\r\nF.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2F::F\r\n\r\n;\r\n\r\n; FORMERLY NS.NIC.DDN.MIL\r\n\r\n;\r\n\r\n.                        3600000      NS    G.ROOT-SERVERS.NET.\r\n\r\nG.ROOT-SERVERS.NET.      3600000      A     192.112.36.4\r\n\r\n; FORMERLY AOS.ARL.ARMY.MIL\r\n\r\n;\r\n\r\n.                        3600000      NS    H.ROOT-SERVERS.NET.\r\n\r\nH.ROOT-SERVERS.NET.      3600000      A     128.63.2.53\r\n\r\nH.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:1::803F:235\r\n\r\n;\r\n\r\n; FORMERLY NIC.NORDU.NET\r\n\r\n;\r\n\r\n.                        3600000      NS    I.ROOT-SERVERS.NET.\r\n\r\nI.ROOT-SERVERS.NET.      3600000      A     192.36.148.17\r\n\r\n;\r\n\r\n; OPERATED BY VERISIGN, INC.<\/pre>\n

 
\n
\n 
\n

<\/p>\n

COMPROBAR EL FUNCIONAMIENTO DEL SERVIDOR CACH\u00c9<\/strong><\/span><\/h3>\n

 <\/p>\n

<\/center>
\nPara comprobar nuestro servidor cach\u00e9<\/strong>, utilizaremos el propio equipo como cliente; Nosotros mismos seremos nuestro servidor DNS.
\n 
\nEs decir, como dec\u00edamos antes, en el archivo \/etc\/resolv.conf<\/em>, ha de constar la l\u00ednea:<\/p>\n

nameserver 127.0.0.1<\/pre>\n

De forma que nuestra interfaz loopback resolver\u00e1 las peticiones DNS.
\n <\/p>\n

Hecho esto , ya podemos utilizar la herramienta dig para resolver los nombres de Dominio .
\nAs\u00ed que ejecutamos un dig a google y observamos que el tiempo de respuesta es de 366 milisegundos.<\/span>
\n 
\n

<\/p>\n

En este momento, tras mostrar los resultados, la cach\u00e9 del servidor DNS Cach\u00e9<\/strong> ha comenzado a funcionar y ha guardado la consulta que acabamos de hacer, por si se necesita de nuevo:<\/h3>\n

<\/center>
\n <\/p>\n

\"tiempo<\/p>\n

 
\nAs\u00ed que vamos a ver si es verdad; hacemos una nueva petici\u00f3n de resoluci\u00f3n de nombre para google.es:
\n <\/p>\n

dig google.es<\/pre>\n

 
\nY comprobamos que el tiempo de respuesta ha disminuido hasta 0 milisegundos .<\/p>\n

\"cach\u00e9<\/p>\n

 
\nC\u00f3mo pod\u00e9is ver, es bastante recomendable instalar un servidor cach\u00e9DNS <\/strong> en en nuestra red siempre que nos sea posible.
\n 
\nLos que utilic\u00e9is Linux lo ten\u00e9is facil, simplemente ten\u00e9is que instalar el Bind y seguir las indicaciones de este art\u00edculo.
\n 
\nLos que utiliceis Windows, pod\u00e9is descargar e instalar una de estas dos aplicaciones :<\/p>\n