1 TEMA 2. SERVICIO DNS 1. Definición 2. Espacio de nombres de dominio 3. Zonas y delegación 4. Tipos de servidores DNS 5. Búsqueda de IP: recursiva e iterativa 6. Búsqueda inversa 7. Base de datos DNS. Registros de recursos 8. DNS dinámico 9. Archivo hosts 1. Definición El servicio DNS (Domain Name System) o servicio de nombres de dominio se ocupa de gestionar los nombres de los equipos y sus direcciones IP en una red TCP/IP. Básicamente se trata de asignar un nombre a cada dirección IP, ya que las personas recordamos más fácilmente los nombres que las direcciones. Como las comunicaciones en las redes TCP/IP funcionan a través de direcciones IP, cuando un usuario teclea el nombre de un equipo, el servicio DNS será capaz de encontrar la dirección IP que corresponde a ese nombre de equipo para poder realizar la comunicación. Ejecutando un comando "ping" al nombre de un ordenador, podremos conocer su dirección IP, siempre que nuestro servicio DNS funcione correctamente. Se puede hacer la prueba de borrar los servidores DNS de nuestra configuración TCP/IP y hacer un "ping" a algún nombre de servidor web (por ejemplo, a www.google.es) y veremos que no se puede encontrar dicho servidor. Si hacemos el "ping" a una dirección IP, sí habrá respuesta, aunque no tengamos servidores DNS en la configuración TCP/IP.
2 Si en un navegador tecleamos la dirección IP de un servidor web, accedemos a la página sin utilizar el servicio DNS. El servicio DNS está definido en los estándares RFC 882 y RFC 883. El sistema de nombres de dominio se define en los estándares RFC 1034, RFC 1035 y RFC 1886. Un servidor DNS utiliza el puerto UDP número 53 para atender consultas de nombres. En http://www.iana.org/assignments/port-numbers tenemos la lista oficial de puertos UDP y TCP (los puertos van de 0 a 65536, 16 bits). Qué significa DNS? Para qué se utiliza? Si no existieran servidores DNS, podría funcionar Internet? Qué tendríamos que hacer? Prueba el comando ping a un nombre de dominio y a una dirección IP de un ordenador de Internet, con y sin servidores DNS en tu configuración TCP/IP. Explica en qué casos y por qué hay o no respuesta. Qué puerto UDP utiliza un servidor DNS? 2. Espacio de nombres de dominio El dominio se especifica con varios grupos de caracteres separados por puntos. Por ejemplo www.suarezdefigueroa.es será un nombre de dominio con 3 grupos de caracteres. El dominio se lee de derecha a izquierda y se dice que comienza en el nodo raíz, que es nulo (sin caracteres); el siguiente nodo del dominio será por tanto el primer grupo de caracteres (sería "es" en el ejemplo anterior); el siguiente nodo del dominio será el segundo grupo de caracteres (sería "suarezdefigueroa" en el ejemplo anterior); y así sucesivamente. son: El número máximo de caracteres de cada nodo es 63. Los niveles de un dominio Nivel raíz: el nodo raíz o nulo (etiqueta vacía). Nivel tope: el primer grupo de caracteres (nodo "es" en el ejemplo). Segundo nivel: el segundo grupo de caracteres (nodo "suarezdefigueroa" en el ejemplo). Y así sucesivamente hasta un máximo de 127 niveles; en la práctica se usan muchos menos. El conjunto de todos los dominios se llama espacio de nombres de dominio y se puede representar en forma de árbol invertido, de ahí el nombre también utilizado de árbol de nombres de dominio. Por ejemplo, todos los nombres de dominio que acaben en.es colgarán del nodo "es" en dicho árbol.
3 Como se utiliza un punto para separar un nivel de otro, todo nombre de dominio acaba en un punto, que sería el punto de separación con el nodo raíz, que es nulo, es decir en nuestro ejemplo sería www.suarezdefigueroa.es. con un punto después del nodo "es". Figura 1. Ejemplo de árbol de nombres de dominio: cada celda es un nodo. Se suele decir que un nodo de dicho árbol será un dominio, formado por el propio nodo y todos los que cuelgan de él. El nombre completo de un nodo se forma con la trayectoria desde ese nodo hasta el raíz. Este nombre completo se llama nombre de dominio completamente cualificado (FQDN, Fully Qualified Domain Name) y debe incluir el punto final (nodo raíz), así se sabe que es un dominio absoluto. Si no se pone el punto final, podría tratarse de un dominio relativo a otro dominio superior. Por ejemplo, el dominio estoquees.org, al no tener punto al final podría tratarse de un subdominio dentro de.es y por tanto su FQDN realmente sería estoquees.org.es. con punto al final. Los nodos del nivel más bajo se denominan hojas, que serán nombres de equipos concretos. Los dominios del primer nivel o nivel tope se llaman dominios TLD (Top Level Domain), que cuelgan directamente del nodo raíz. Estos dominios TLD son gestionados por la institución mundial llamada ICANN (Internet Corporation for Assigned Names and Numbers, www.icann.org). Existen dos tipos de dominios TLD: Genéricos (gtld), que a su vez se dividen en dos: o "No patrocinados" (utld, unsponsored), gestionados directamente por la ICANN, por ejemplo.com,.org,.info,.name,.biz, etc. o "Patrocinados" (stld, sponsored), cuya gestión se cede a alguna entidad, por ejemplo.edu,.gov,.jobs, etc. Geográficos (cctld, country code TLD), cuya gestión es cedida a cada país por la ICAAN, por ejemplo.es,.us,.fr,.pt, etc.; una lista de estos dominios con sus códigos puede encontrarse en www.iso.org/iso/country_codes. La parte de la ICANN que autoriza estos dominios TLD es la IANA (Internet Assigned Numbers Authority, www.iana.org). Podemos encontrar las entidades que gestionan los dominios TLD en www.iana.org/domains/root/db, además de ver los servidores DNS que se ocupan de atender peticiones sobre esos dominios.
4 El NIC (Network Information Center) es la autoridad que administra los dominios geográficos de cada país y asigna direcciones IP garantizando que sean únicas. Por ejemplo, en http://www.nic.es podemos comprobarlo para el caso de España (http://www.nic.uk sería para Gran Bretaña, http://www.nic.pt sería para Portugal), donde vemos que la entidad se llama Red.es y gestiona todos los dominios acabados en.es. Un usuario puede comprar dominios de segundo nivel, pero no TLD. Por otra parte, existen dominios reservados, que se suelen utilizar para hacer pruebas con el servicio DNS. Estos dominios son:.test,.example,.invalid y.localhost. También existe un dominio de primer nivel especial llamado.arpa, que se utiliza para hallar el nombre asociado a una IP dada, como abordaremos más adelante. Qué es un dominio? Pon un ejemplo de dominio con tres grupos de caracteres distinto al de los apuntes. Cuántos caracteres puede tener un nombre de nivel en un dominio? Cuántos niveles puede tener un dominio? Dibuja en forma de árbol a partir del nodo raíz las direcciones www.google.es, es.mail.yahoo.com, es.openoffice.org, ftp.suarezdefigueroa.es, www.wikipeida.org, www.yahoo.com, doe.juntaex.es www.suarezdefigueroa.es, www.juntaex.es, es.wikipedia.org y www.linex.org. Qué es el nodo raíz? Cómo se escribe en un nombre de dominio? En el ejemplo de dominio que indicaste en un ejercicio anterior, indica cuál es el nivel raíz, el nivel tope y el segundo nivel. Qué es el espacio de nombres de dominio? Qué es el FQDN? Es el nombre www.prueba.org con total seguridad un FQDN? Por qué? Qué es un dominio absoluto? Y relativo? Qué son las hojas en el espacio de dominios? Por qué se llaman así? Qué significa TLD? Quién gestiona esos dominios? Indica si son utld, stld o cctld los dominios.es,.gov,.pt,.org y.gov. Qué diferencia hay entre los utld y los stld? Dónde se pueden consultar las entidades que gestionan los TLD? Cómo pueden verse los servidores DNS del dominio.org? Qué es el NIC? Qué tipo de dominios son.test y.invalid? Para qué se usan? 3. Zonas y delegación El servicio DNS necesita de una serie de servidores DNS repartidos por la red que atiendan todas las peticiones de los usuarios. Un servidor DNS (o grupo de
5 servidores) tiene autoridad sobre una o varias partes del espacio de nombres de dominio, lo cual significa que podrá responder a todas las peticiones de nombres relativas a esas partes del espacio total de la red. Cada una de esas partes se denomina zona. Por tanto, se dice que un servidor tiene autoridad sobre una o varias zonas. El servicio DNS utiliza una base de datos donde se almacena la dirección IP que le corresponde a cada nombre de dominio. Dicha base de datos es distribuida, por tanto está repartida en distintas máquinas por todo el mundo. Los registros de esta base de datos se llaman registros de recursos. Se podría decir que dentro del árbol completo de dominios un subárbol es una zona, pero realmente zona se llama a un archivo que contiene algunos registros de la base de datos distribuida, o sea algunos registros de recursos. Estos registros pueden corresponder a uno o varios dominios, y almacenan la información necesaria para atender a las peticiones sobre esos dominios. El administrador de un dominio puede dividirlo en varios, que serían los subdominios o subárboles del primero. El control de estos subdominios puede ser delegado, de forma que quien asuma dicha delegación debe responsabilizarse de mantener actualizados todos los datos del subdominio y de atender todas las peticiones que los usuarios hagan sobre ese subdominio. Los subdominios pueden a su vez dividirse en más subdominios y así sucesivamente. Cada país es responsable del mantenimiento de su subdominio geográfico, por ejemplo España es responsable del subdominio.es. Dentro de España, el subdominio suarezdefigueroa.es está delegado en otra entidad. Este mecanismo de delegación permite la gestión descentralizada de la base de datos distribuida que contiene todos los registros de todos los nombres del espacio total de nombres de dominio. Esto significa que dicha base de datos no está gestionada por una sola máquina, sino que son muchas las máquinas o servidores DNS que realizan esa gestión. No deben confundirse los servidores DNS con los dominios. El árbol de dominios es simplemente una forma de representar de forma estructurada sobre el papel todos los dominios de la red. Los servidores DNS no están instalados físicamente en forma de árbol, sino que están repartidos por la red, la cual no tiene forma de árbol. La primera institución que realiza la delegación de dominios es la ICANN, que cede la gestión de cada TLD a una institución. Esta será una institución registry y se ocupa de mantener los servidores DNS para atender peticiones a su TLD. Esta institución concederá dominios de segundo nivel, partiendo de su TLD. En el caso de dominios TLD geográficos, cada país gestiona su cctld. En España la institución registry es Red.es (www.nic.es). Si un usuario quiere comprar un dominio de segundo nivel (por ejemplo el dominio geográfico www.suarezdefigueroa.es) no trata directamente con el registry (con Red.es), sino que
6 negocia con otra entidad que tiene autorización para vender esos dominios de segundo nivel. Estas entidades se llaman registrar, que hacen de intemediarios, entre el registry y el usuario. El usuario se llama registrant. En www.icann.org, dentro del apartado Resources podemos ver una lista de registrars en el enlace Accredited Registrars. El registro de dominios es el proceso por el cual una persona pasa a tener el control sobre un nombre de dominio a cambio de pagar una cierta cantidad de dinero a un registrador. Incluye las siguientes fases: Elegir un dominio. Verificar la disponibilidad del nombre de dominio deseado en algún registrador. Ingresar los datos personales. Elegir la cantidad de tiempo que el dominio permanecerá registrado. Pagar el dominio. Una vez arrendado, el registrante debe configurarlo con una URL a la cual redireccionar o una IP. El registrant del dominio debe esperar un tiempo para que el dominio sea reconocido en todos los servidores de Internet. El registrar contacta con ICANN y realiza el proceso de forma transparente para el registrant. El nuevo dominio funciona, y resuelve a la IP apropiada en el servidor DNS usado, pero no en el resto de servidores DNS del mundo. Poco a poco se va propagando el cambio al resto de servidores (propagación DNS). La página ya es accesible mediante un nombre de dominio desde cualquier computadora. Los intermediarios o registrar deben estar acreditados por ICANN o por la institución registry del país. En www.nic.es podemos encontrar un listado de los registrar en España (en Agentes Registradores Listado Agentes ). Cuando un usuario compra un dominio de segundo nivel, los servidores DNS que atiendan peticiones sobre dicho dominio pueden ser mantenidos por el propio usuario o por la entidad registrar (que ha vendido el dominio). Como hemos comentado anteriormente, en www.iana.org/domains/root/db podemos encontrar las entidades que gestionan los dominios TLD y los servidores DNS que se ocupan de atender peticiones sobre esos dominios. Lógicamente la delegación de dominios hace que el trabajo de mantener servidores DNS se distribuya entre muchas entidades, en lugar de hacer todo el trabajo la ICANN. Esta institución sólo mantiene en sus servidores DNS las direcciones IP de los servidores DNS de los dominios TLD. Los servidores DNS que atienden peticiones sobre dominios.es serán mantenidos en España. La ICANN delega en la institución de España ese trabajo. Esta institución española, de forma recursiva, delega en otras entidades la gestión de zonas más pequeñas. Por ejemplo, un servidor DNS que mantiene la zona.es no conoce la IP de la dirección www.suarezdefigueroa.es, pero sí
7 sabe la IP del servidor DNS que guarda la IP de esa dirección. Este sería el servidor DNS de segundo nivel, que mantiene la zona suarezdefigueroa.es; este servidor tiene delegada esa zona. En www.internic.org/domain podemos descargar el fichero root.zone (fichero de texto) que contiene una lista de los servidores DNS de todos los TLD, o sea de cada zona de primer nivel. Podemos ver ahí el formato de algunos registros de recursos. Existe la llamada zona raíz, formada por los registros de recursos que guardan las IP de los servidores DNS de primer nivel (TLD), o sea para cada zona de primer nivel, como la zona.com,.es,.org, etc. Cada servidor que almacena la zona raíz se llama servidor DNS raíz y existen 13 repartidos por todo el mundo (con sus correspondientes mirror, sumando unos 200) como puede verse en http://rootservers.org, donde se muestran sus IP. Se llaman a.root-server, b.root-server, etc. hasta el m.root-server. La base de datos distribuida que guarda los datos de los dominios de Internet se llama whois. Se trata de una base de datos distribuida porque no está almacenada en un solo equipo, sino que se encuentra repartida por muchos ordenadores conectados a Internet repartidos por todo el mundo. En esa base de datos se guardan datos para cada dominio como el intermediario (registrar), el usuario que lo compra (registrant), la lista de servidores DNS que guardan la IP de ese dominio, etc. En el caso de los dominios.es, en www.nic.es podemos ver esos datos introduciendo el dominio completo que deseamos consultar. Estos datos serán buscados en la base de datos whois. Para ver esos datos de un dominio cualquiera (por ejemplo ubuntu.com), primero iremos al TLD en www.iana.org/domains/root/db (al.com en este caso). Entraremos en el enlace indicado para hacer registros en ese dominio (suele aparecer al final). En la nueva página pulsaremos en la opción whois y tecleamos el dominio que queremos consultar (ubuntu.com sin las www). También en www.internic.org, dentro de Whois podemos ver los datos de dominios no geográficos. WHOIS también es un protocolo TCP, utilizado para realizar consultas a la base de datos whois. Qué significa delegación en el servicio DNS? Qué es una zona realmente? Y un registro de recurso? Qué significa que la base de datos DNS mundial está distribuida? En qué consiste el proceso de registro de dominios? Indica sus pasos. Encuentra el registry, registrar y registrant de suarezdefigueroa.es., de google.com. y de linux.org., así como los servidores DNS para esas direcciones.
8 Encuentra los registrar autorizados en España. Muestra la lista de servidores DNS de todos los TLD existentes. Qué es un servidor raíz? Cuántos hay en todo el mundo? Muéstralos. Qué es whois? Qué guarda? Consulta en whois los datos de la dirección dominios.pt y de wikipedia.com. 4. Tipos de servidores DNS Los servidores de nombres pueden ser de diferentes tipos. Un servidor DNS primario (maestro o master) obtiene la información sobre sus zonas de sus propios archivos locales, que contienen los registros de recursos. Las modificaciones sobre una zona (por ejemplo borrar o añadir un dominio) se realizan en los archivos locales del servidor primario. El servidor primario tiene la autoridad sobre sus zonas. Cada zona tiene un único servidor primario. Un servidor DNS secundario (esclavo o slave) obtiene la información sobre sus zonas de otro servidor, que será el primario. Por tanto, el servidor secundario mantiene una copia de los archivos, pero no puede modificarlos. Cada zona puede tener varios servidores secundarios. El servidor secundario solicita al primario la información sobre las zonas en cuestión cada cierto tiempo, para mantener su base de datos DNS actualizada, es decir para tener duplicadas correctamente dichas zonas. Este mecanismo se denomina transferencia de zona. Es importante que para cada zona exista al menos un servidor primario y otro secundario, para repartir el trabajo y para tener cierta tolerancia a fallos, ya que si un servidor falla, el otro puede seguir atendiendo peticiones de los clientes. Por tanto los servidores secundarios aportan velocidad y seguridad a las consultas DNS. Un servidor DNS caché almacena nombres de dominio y sus IP de cualquier zona que consultan los clientes. Si un cliente realiza una consulta sobre un dominio ya consultado anteriormente, el servidor caché la puede resolver por tenerla almacenada, en su base de datos propia, de consultas previas y no es necesario trasladar la consulta a otros servidores. De este modo el cliente recibe la respuesta más rápidamente, además se reduce el tráfico DNS al exterior, es decir se reduce el trabajo de los servidores primarios y secundarios. Lógicamente el servidor caché no tiene autoridad sobre ninguna zona, se limita a almacenar dominios aleatorios de zonas muy diversas. Existe el dato TTL (Time To Live), que indica el tiempo que estará una dirección en la caché. Un servidor caché puede ser a la vez primario o secundario. Este servidor caché es diferente de la caché que utiliza cualquier cliente DNS. Cuando un navegador web visita una página, se queda con su IP en la caché, para que en las posibles visitas posteriores no sea necesario solicitarla al servidor DNS. En Windows se puede ver la caché DNS de un cliente con el comando ipconfig /displaydns. Además con ipconfig /flushdns puede vaciarse esa caché.
9 Cita los 3 tipos de servidores DNS y su función. Por qué debe haber más de un servidor DNS para un dominio? En qué consiste la transferencia de zona? Qué es un servidor DNS caché? Qué ventajas ofrece su utilización? Coinciden el servidor DNS caché y la caché del cliente DNS? Cómo puedes ver la caché del cliente DNS de tu ordenador? Cómo puedes vaciarla? 5. Búsqueda de IP: recursiva e iterativa Cuando un equipo cliente desea acceder a una máquina, debe conocer su IP. Normalmente lo que se conoce es la URL o nombre de dominio de dicha máquina, por lo que debe realizarse el proceso llamado de resolución de nombres (una consulta DNS), que permite hallar la IP que corresponde a la URL. El proceso de resolución de nombres es el siguiente: El cliente comprueba si la URL está en su propia caché; si es así, extrae la IP. Si no es así, sigue el paso siguiente. El cliente envía la URL a su servidor DNS, que vamos a llamar servidor DNS inicial, el que esté grabado en la configuración del cliente. Si este servidor la tiene en su caché, le responde con la IP. Si no la tiene en su caché, sigue el paso siguiente. El servidor DNS busca en su base de datos, entre sus registros de recursos, y si encuentra la URL responde al cliente con el registro de recurso correspondiente, que contendrá la IP. Si no la encuentra, a partir de este punto existen dos métodos de búsqueda: recursiva e iterativa (no recursiva). La URL cuya IP debe encontrarse pertenecerá a una zona, sobre la que tendrá autoridad un servidor DNS. Este servidor tendrá delegada la autoridad por un servidor de nivel superior. Este a su vez puede tener la delegación de otro servidor superior. Y así sucesivamente. Esto significa que la petición que el cliente hace a su servidor DNS inicial debe ir saltando de un servidor a otro hasta encontrar el que tiene autoridad sobre el nombre que se está buscando. Supongamos que se busca la IP de la URL www.mec.es. En la búsqueda recursiva, cuando el servidor DNS inicial recibe una petición de un cliente sobre un nombre de dominio que no tiene en su caché y no corresponde a su zona de autoridad, por tanto tampoco la tiene en su base de datos, reenvía la petición a un servidor raíz. Los servidores DNS guardan en sus registros las direcciones IP de los 13 servidores raíz (root-server), para poder enviarles consultas DNS. Un servidor raíz tiene las IP de los servidores DNS de todos los dominios TLD. En nuestro supuesto, el servidor raíz envía a nuestro servidor inicial las IP de los servidores DNS con autoridad en la zona.es (cada dominio TLD es controlado por varios servidores DNS, para conseguir mayor rapidez
10 de respuesta, ya que se reparte el trabajo). Nuestro servidor inicial envía ahora la dirección buscada a uno de esos servidores DNS de la zona.es. Si éste servidor tiene la IP de dicha dirección se la envía al servidor inicial. Si no la tiene, le envía las IP de los servidores DNS que tienen autoridad en la siguiente zona, es decir de la zona mec.es. Y así sucesivamente hasta que el servidor inicial recibe la IP buscada. Finalmente el servidor inicial envía la IP al cliente, que se encontraba en espera. Por otro lado, en la búsqueda iterativa (o mejor no recursiva), cuando el servidor DNS inicial recibe del cliente una petición sobre un nombre de dominio que no tiene en su caché y que no corresponde a su zona de autoridad, por tanto no tiene en su base de datos, responde al cliente con las direcciones IP de los servidores raíz. Ahora es el cliente el que pregunta a un servidor raíz por la dirección buscada. El servidor raíz responde al cliente con las IP de los servidores DNS con autoridad en la zona TLD que se busca (.es en nuestro supuesto). El cliente ahora envía la dirección buscada a uno de esos servidores. Si éste tiene la IP buscada la envía al cliente, pero si no la tiene le envía la lista de servidores DNS con autoridad en la siguiente zona (mec.es en nuestro supuesto). Y así sucesivamente hasta que el cliente recibe directamente la IP buscada del servidor DNS con autoridad en la zona en cuestión (www.mec.es). La principal diferencia entre la búsqueda recursiva e iterativa es que en la primera es el servidor DNS inicial el que realiza todo el trabajo, mientras el cliente simplemente espera. En la iterativa es el cliente el que trabaja. Por este motivo, muchos servidores DNS pueden configurarse para no admitir búsquedas recursivas, para no sobrecargarlos de trabajo. Por ejemplo, los servidores raíz no admiten búsquedas recursivas, porque cualquier cliente de Internet de cualquier país podría ponerlos en su configuración TCP/IP como servidor DNS inicial y supondría una carga de trabajo muy alta, haciendo que Internet fuera mucho más lento a nivel mundial. En www.kloth.net/services/dig.php podemos escribir una dirección web en Domain, marcando la opción Trace y pulsando "Look it up" veremos los pasos realizados para buscar la IP de la dirección escrita (es igual que el comando dig <dirección web> A +trace, de Linux). Cada servidor DNS tiene las IP de los 13 servidores raíz (forma parte de su instalación). Estas IP pueden cambiar con el tiempo, por eso es importante mantenerlas actualizadas en nuestro servidor DNS, descargando el fichero www.internic.org/zones/named.root, donde aparecen las 13 IP actualizadas. En muchos servidores DNS esta actualización es automática. Para qué se utiliza el proceso de resolución de nombres? Describe sus pasos. Haz un gráfico que represente la búsqueda recursiva y otro para la iterativa. Trabaja más el servidor DNS en la búsqueda recursiva que en la iterativa? Por qué? Por qué los servidores raíz no admiten búsquedas recursivas?
11 Muestra los servidores DNS involucrados hasta obtener la IP de www.suarezdefigueroa.es. 6. Búsqueda inversa El servicio DNS puede realizar las búsquedas o resoluciones en los dos sentidos, es decir dado un nombre encontrar su IP y dada una IP hallar su nombre. Este segundo caso se denomina resolución o búsqueda inversa. Como se dijo anteriormente, existe el dominio de primer nivel llamado.arpa. Éste tiene un subdominio en el segundo nivel llamado in-addr, formando la dirección in-addr.arpa. Con las direcciones IP se forman los siguientes niveles, llegando por tanto hasta el nivel sexto, ya que cada parte de la IP representa un nivel, leídas en orden inverso. Por ejemplo, la IP 192.168.0.5 está en el dominio 5.0.168.192.in-addr.arpa. Al igual que en la búsqueda directa se va consultando cada componente del nombre de dominio desde el raíz, en la búsqueda inversa también se va resolviendo cada componente de la IP. Por ejemplo, para encontrar el nombre de la IP 192.168.0.5, se comienza en el servidor in-addr-arpa. para pasar al que tenga autoridad sobre el 192, quedando, 192.inaddr-arpa., continuando con el 168.192.in-addr-arpa. y finalmente el servidor con autoridad en 0.168.192.in-addr-arpa. que tendrá un registro de recurso con la IP 192.168.0.5 y el nombre asociado. Este registro de recurso será de tipo PTR como veremos más adelante. En la zona in-addr.arpa también se da la delegación de dominios. Cada rango de IP está delegado a una entidad o institución. Por ejemplo, si el rango desde 88.2.0.0 hasta 88.2.255.255 está delegado a un proveedor español, es éste quien debe mantener en sus servidores DNS los nombres que corresponden a todas las IP de ese rango (las que tengan nombre, lógicamente). Este proveedor también puede delegar en otras entidades rangos más pequeños dentro de ése. Cada servidor de nombre de dominio DNS con autoridad en una zona debe tener su zona de resolución inversa, para ser capaz de realizar las búsquedas en ambos sentidos, de nombre a IP y de IP a nombre. Existirá por tanto la zona directa y la zona inversa. Para qué se utiliza la búsqueda inversa? Qué consulta se debe realizar si quiero saber el nombre de la dirección IP 193.147.175.20? Es correcto el dominio 98.188.2.88.in-addr.arpa.? Por qué?
12 Un servidor web dispone de un fichero de control de acceso en el que se especifican aquellos ordenadores que tienen acceso al mismo. En este fichero se pueden poner tanto direcciones IP cómo un FQDN. Por ejemplo, en ese fichero aparece smtp.cica.es de forma que ese ordenador pueda acceder. Suponga que, en este escenario, un ordenador con la dirección IP 150.214.5.143 accede al servidor web. Cómo descubre este servidor web si debe permitir o no el acceso? 7. Base de datos DNS. Registros de recursos Como ya se ha mencionado, cada servidor DNS mantiene una base de datos. Uniendo todas se forma la base datos distribuida completa que contiene toda la información sobre todas las zonas de Internet. En esas bases de datos se guardan las IP que corresponden a los nombres de dominio y también a la inversa. El formato cada base de datos es de archivo de texto. Sus registros se llaman registros de recursos (RR). Un ejemplo de RR es: www.suarezdefigueroa.es. 86400 IN A 88.2.188.98 Existen distintos tipos de RR, pero todos tienen los mismos campos: Propietario: indica el nombre de host o del dominio DNS al que pertenece este recurso. Puedecontener un nombre de host/dominio (completamente cualificado o no), el símbolo "@" (que representa el nombre de la zona que se está describiendo) o una cadena vacía (en cuyo caso equivale al propietario del registro de recursos anterior). TTL (Time To Live): se refiere al tiempo de vida, e indica la estabilidad del registro, es decir, cuanto tiempo debe guardarse en caché después de almacenarse. Clase: se refiere al tipo de información. Actualmente sólo se utiliza IN, para información de Internet. Este campo si se omite, al igual que el campo Nombre se toma el último valor indicado con anterioridad. A veces, el orden de los campos TTL y Clase pueden intercambiarse, no dando a confusión dado que TTL es numérico. Tipo: indica el tipo de registro, puede contener algunos de los siguientes valores (los más importantes): SOA, NS, A, PTR, MX, CNAME y SRV. RDATA: su valor depende del tipo, normalmente es la respuesta que se está buscando; por ejemplo si el tipo es A, en RDATA se graba la dirección IP. Por tanto el registro tiene la forma: Propietario <TTL> Clase Tipo RDATA Veamos los valores más importantes que puede tomar el campo Tipo:
13 SOA (Start Of Authority, inicio de autoridad): guarda la dirección del servidor DNS primario de la zona, además de información sobre cuándo deben actualizarse los servidores secundarios, cuánto tiempo estará un registro en la caché, etc. Por ejemplo: suarezdefigueroa.es. 10800 IN SOA dns1.sistema-dns.com. admin.sync-intertainment.com. 2006100512 28800 7200 3600000 86400 NS (Name Server, servidor de nombres): se utiliza un RR de tipo NS para indicar el FQDN de cada servidor DNS de la zona, por tanto debe haber más de un registro NS. Por ejemplo: suarezdefigueroa.es. 7200 IN NS dns2.sistema-dns.com. suarezdefigueroa.es. 7200 IN NS dns1.sistema-dns.com. A (Address, dirección): establece la correspondencia entre una FQDN y su IP. Por ejemplo: suarezdefigueroa.es. 14400 IN A 88.2.188.98 CNAME (Canonic Name, nombre canónico): crea un alias para un nombre, es decir para que varios nombres apunten a la misma IP. El nombre verdadero debe tener un registro de tipo A, para saber la IP de todos los alias. Por ejemplo: www.google.es. 345600 IN CNAME www.google.com. www.google.com. 604800 IN CNAME www.l.google.com. www.l.google.com. 300 IN A 74.125.43.105 O por ejemplo si un equipo es servidor web y servidor ftp: www.sf.es. 345600 IN CNAME servidor.sf.es ftp.sf.es. 345600 IN CNAME servidor.sf.es servidor.sf.es 300 IN A 88.2.188.98 PTR (PoinTeR, puntero): lo contrario que el tipo A anterior, es decir que asigna una IP a un nombre de dominio, lo que se denomina resolución inversa, por tanto es un registro que se utiliza en el dominio in-addr.arpa. Por ejemplo: 98.188.2.88.in-addr.arpa. 172800 IN PTR 98.Red-88-2-188.staticIP.rima-tde.net. MX (Mail exchange, intercambio de correo): indica la máquina que será servidor de correo en el dominio, si lo hay. Por ejemplo: google.es. 10800 IN MX 10 google.com.s9a1.psmtp.com.
14 El 10 (después de MX) indica la prioridad del servidor de correo, por si hubiera varios. Qué es un registro de recursos? Escribe el formato genérico de un registro de recursos. Describe cada uno de sus campos. Realiza una tabla en la que se recojan los valores más importantes del campo Tipo de los registros de recursos. En la tabla debes indicar un ejemplo de cada valor distinto al ejemplo indicado en los apuntes. Indica el significado de cada parte de la siguiente línea: suarezdefigueroa.es. 14400 IN A 88.2.188.98 8. DNS dinámico El DNS dinámico es un sistema que permite la actualización en tiempo real de la información sobre nombres de dominio situada en un servidor de nombres, es decir, permite trabajar con IPs dinámicas asociándolas a un nombre de forma que aunque la IP cambie el nombre permanece fijo y es la forma de acceder al recurso.
15 El uso más común que se le da es permitir la asignación de un nombre de dominio de Internet a un ordenador con dirección IP variable (dinámica). Esto permite conectarse con la máquina en cuestión sin necesidad de tener que rastrear las direcciones IP. Tenemos dos enfoques para tratar este mecanismo: actualizar la IP pública en servidores DNS como no-ip, dyndns... y otro dentro de la zona, los clientes dinámicos envían la información al servidor DNS de la zona para que la mantenga actualizada o bien sincronizamos el servidor DHCP con el servidor DNS. Qué es un DNS dinámico? Cuál es el principal uso de un DNS dinámico? 9. El archivo hosts El archivo hosts es un archivo de texto que resuelve los nombres antes que el servidor DNS, se encuentra en el directorio de Windows system32/drivers/etc y en Ubuntu en /etc. Cada entrada consiste en una dirección IP, uno o más espacios en blanco y el nombre de dominio asociado a esa IP. Podemos entrar las páginas más visitadas para acelerar la carga. También podemos evitar la navegación por un dominio poniendo una IP falsa. Hay también un protocolo muy similar a DNS para Windows WINS, este permite registrar nombres de recursos de red NetBIOS y resolver éstos a sus direcciones IP correspondientes; se suele utilizar en estaciones de trabajo que ejecutan versiones antiguas de sistemas operativos de Microsoft. Qué es un archivo hosts? Qué contiene cada entrada de un archivo hosts? Cómo se puede evitar la navegación por un dominio utilizando el archivo hosts? Qué es el protocolo WINS? Dónde se suele utilizar?