Servicios DNS
DNS(Domain Name System): es un sistema de nombres
jerárquico para ordenadores, servicios y recursos de una red conectada a
Internet o privada (corporativa). Una definición mas técnica seria : es
un servicios de gestión y búsqueda de ordenadores en una red.
Resolución de nombres de Dominio: es el proceso por el cual, a partir de un nombre de host o de dominio se puede conocer su IP.
Cuando un host(equipo) necesita enviar datos a otro host, puede
acceder a el por su dirección IP o bien a través de su nombre de dominio
(DNS), que sera lo mas común. Para utilizar el nombre DNS necesita
hacer la conversión de este nombre en su dirección IP equivalente. De
esto se encargan los servidores DNS.
Proceso de Resolución de nombre de dominio: El host
emisor envía un paquete de consulta a su servidor DNS predeterminado
con el nombre DNS que intenta resolver, para que el servidor DNS lo
resuelva o ejecute los mecanismos necesarios de consulta con otros
servidores DNS, y le devuelva la IP que necesitaba. El ordenador la
almacena en su propia memoria cache y se la pasa al navegador o al
servicios que solicito la resolución.
En sistemas UNIX, y por absorción tecnológica también en otros
sistemas, existe un fichero de configuración llamado
<etc/hosts> que contiene una relación de asignaciones de
nombres DNS con direcciones IP para los nodos de la red de área local.
Antiguamente todos los servidores utilizaban este método. En Windows
esta situado en <%systemroot%\system32\drivers/etc>, mientras que
en sistemas Unix se sitúa en </etc>. Este es un modo de utilizar
nombre asociados a IP sin tener acceso a un servidor DNS. Obviamente
este fichero puede tener un numero muy limitado de asignaciones, que
además deben ser previamente conocidas para poder ser escritas por el
administrador de red en el fichero de hosts. Esta técnica no se utiliza
en casi ninguna empresa, solo en algunos entornos caseros,
Los servidores actuales no solo registran nodos de la red sino que
también pueden dar de alta en su base de datos otros servicios, de modo
que un nodo de la red puede preguntarle donde se encuentran los
servicios que necesita dentro de su red.
El servicios DNS consta de 3 componentes principales:
- Clientes DNS: Envían peticiones de resolución de nombres. En formato : que dirección IP le corresponde a este nombre de dominio?
- Servidores DNS: Responden a las peticiones consultando la base de datos propia o a otros servidores DNS.
- Espacio de Nombres de Dominio: Es una base de
datos distribuida (esta en varios ordenadores de la red) y es
jerárquica (tiene forma de árbol) que clasifica los dominios en
niveles.
se empieza a leer desde abajo, ejemplo : foro.elhacker.net. (ojo, acaba
en punto). El ultimo punto no se suele poner, pero cuando se configura
un servidor DNS es necesario ponerlo. Prueba a poner en tu navegador : http://elhacker.net. Veras como te redirecciona a la web.
La estructura de arriba tiene 4 niveles:
- El primer nivel es el Root (Raiz) o el punto.
- El segundo raíz son los TLD (Top Level Domain), que son : es, com, net, gov, etc.
- El tercer nivel son los nombres de dominios de distintas webs/empresas.
- El cuarto nivel son los que los webmasters llaman subdominios. Ejemplo: blog, foro.
formado por una secuencia de nombres (que no pueden tener mas de 60
caracteres) separados por puntos, formado por las etiquetas de los
dominios hasta llegar al dominio raíz, teniendo en cuenta que el nombre
completo no puede tener mas de 255 caracteres (incluyendo puntos) y que
siempre acaba en punto.
A un nombre de dominio o un nombre completo se le denomina FQDN
(Fully Qualified Domain Name) o nombre de dominio completamente
cualificado. El FQDN del foro de elhacker.net seria : foro.elhacker.net.
Los TLD (Top level Domain) o dominios de nivel superior esta clasificados según:
- Su funcion organizativa : .com, .net, .org, .edu, .gov, .mil, etc.
- Geograficamente: .es, .fr, .us, .ch, etc.
- Especializados: .info, .museum, .aero, etc.
La base de datos que compone el servicio DNS permite su
administración descentralizada por medio de un mecanismo llamado
Delegación de Dominios, según este mecanismo se realiza la cesión de la
autoridad, para la gestión de la base de datos.
Quien tenga autoridad sobre la zona, tiene una serie de responsabilidades:
- Debe mantener actualizada los datos de ese subdominio.
- Debe responder ante las peticiones de resolución de nombre que llegue acerca de ese subdominio.
- No significa que el subdominio tenga el control, puede tenerlo cedido o incluso cederlo a su vez a otro subdominio.
Registros de Recursos: es donde los servidores de dominio almacenan información de los nombres de dominio.
Zona de Autoridad: es una parte del espacio de
nombre de dominios sobre la que es responsable un servidor DNS, que
puede tener autoridad sobre varias zonas.
Zona: base de datos que contiene determinados registros de recursos de la base de datos del espacio de nombres de dominio.
Tipos de Servidores DNS:
- Servidor Primario/Principal/Maestro. Mantiene
de forma oficial la información de la zona sobre la que tiene
autoridad. Responde a las peticiones de resolución consultando sus
propios archivos de zona. - Servidor Secundario/Esclavo. Obtiene la información de la zona pidiendosela constantemente al servidor primario.
- Servidor Cache. Se utilizan para acelerar las
consultas de resolucion de nombres de dominio frecuentemente
utilizados. Suelen emplearse en redes de area local/
permite actualizar la información a los servidores secundarios a partir
de los archivos de zona contenidos en el primario.
Bases de Datos del Servidor DNS
En realidad no son mas que unos archivos de texto. El formato general
de los Registros de Recursos es parecido al esquema de abajo:
_______________________________________________________
| Propietario | TTL | Clase | Tipo | Rdata |
———————————————————————————-
| servidor | 3600 | IN(internet) | A | 172.26.0.100 |
Descripción de los campos:
#Propietario: es el nombre del nodo o del dominio (FQDN). Si el valor de este campo es @, representa el nombre de la zona.
#TTL(Time To Life): Es el tiempo de vida en segundos que el registro
el valido en la memoria cache del servidor DNS. Es opcional.
#Clase: Hace referencia a la familia de protocolos usada, IN (Internet).
#Tipo: Define el tipo de recurso descrito en ese registro.
#Rdata: contiene información según el tipo de registro.
Tipos de Registros
- SOA(State of Authority). Indica el nombre del
servidor DNS con autoridad en la zona. Direccione de correo electrónico
del contacto técnico, otros parámetros.
- NS(Name Server). Identifica a los servidores DNS autorizados en la zona.
- A(Address). Asocia el nombre FQDN del dominio o de un nodo con su dirección IP
- AAA(version A en IPV6). Desarrolla la misma tarea que A(Address) pero en versión IPV6
- PTR(Pointer). Asocia una IP a un nombre FQDN de un nodo o dominio. Hace justo lo contrario que A, hace la resolución inversa de la zona.
Nota: La IP esta escrita al revés y hace falta poner .in-addr.arpa
- CNAME(Canonical Name/Alias). Indica un alias por el que se conoce a ese nodo también a ese nodo/dominio.
Nota: Se podrá acceder a ese nodo solamente poniendo el_jefe al nodo administrador.elhacker.net
- MX(Mail). Indica la direccion del servidor de correo electrónico que existe en ese dominio.
- SRV(Service). Indica la ubicación de los servidores disponibles para determinados servicios/protocolos.
Donde 0(es el orden, por si hay mas de un servidor) 0(es el reparto
de trabajo, si hay mas de un servidor) 21(es el puerto redireccionado)
- TXT(Text). Indica que el contenido del registro es
de tipo texto, y puede ser cualquier información. También permite a
los servidores identificarse de modo arbitrario.
Búsqueda Recursiva
Se realiza una petición de resolución de nombres al servidor local, y
si el servidor no dispone de la información solicitada va a buscarla al
servidor de nombres con autoridad que la contiene. Para ello el
servidor de nombres local necesita consultar a un servidor raíz y este
dará información acerca de aquellos servidores autoritarios intermedios
hasta llegar al servidor que contiene el nombre del dominio objeto de la
consulta.
En este caso, el servidor local asume la responsabilidad de dar una
respuesta al cliente, y el consulta a los otros servidores en nombre del
cliente.
Búsqueda Iterativa
El servidor DNS local devuelve la mejor respuesta que puede ofrecer
al cliente en función del contenido de su cache, pero si el servidor no
dispone de la información solicitada indica la IP del siguiente servidor
de nombres autorizado a preguntar, comenzando siempre por un servidor
Raíz.
Este le refiere al servidor del nivel siguiente que lo contiene
(.es), y el servidor local vuelve a lanzar la petición (iteración) al
servidor referido, el cual, si no dispone de la información solicitada,
le refiere al servidor del nivel siguiente que lo contiene (.gva.es); a
continuación, el servidor DNS local vuelve a lanzar la petición al
servidor referido y así sucesivamente hasta llegar al servidor de nombre
que contiene la información acerca del dominio solicitado.
En la imagen de abajo se puede ver como el servidor de nombre
interrogado consulta a su vez a todos los servidores autorizados para
cada uno de los dominios que contienen al nombre de dominio en cuestión.