Mecanismo de resolución inversa de un servidor DNS

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 17,37 KB

 
1.- El modelo Cliente/Servidor
Con las redes aparece un nuevo concepto en el ámbito de las tecnologías de la información y la
comunicación, la computación distribuida, un modelo que pretende aprovechar la potencia y los
recursos de los ordenadores interconectados para que cooperen con un fin.
Una aplicación distribuida la forman un conjunto de procesos ejecutados en ordenadores diferentes,
que se comunican por medio de una red. Cuando una aplicación se ejecuta en un ordenador, este
realiza la gestión de esta por si mismo. Sin embargo cuando los módulos se ejecutan en máquinas
distantes conectadas por una red, es necesario crear protocolos (lenguajes que permiten la
comunicación entre equipos de la red). Entre los estándares de aplicaciones distribuidas, el de mayor
éxito es el modelo cliente/servidor.
Se divide en:
- Servidor: ​Su función es proporcionar servicios: Acceso a recursos, realización de operaciones
de cálculo complejas, procesamiento de datos, etc.
- Cliente: ​ Realiza una petición al servidor y espera un resultado. Los usuarios acceden al
servidor a través del cliente, nunca lo hacen directamente.
El usuario puede ser una persona – que necesitara una interfaz de usuario para acceder – o una
aplicación – cuyo acceso se suele implementar a través de una API. El modelo se complica si se
añaden más entidades a la aplicación distribuida.
- Múltiples clientes: ​El servidor debe estar preparado para recibir múltiples conexiones.
- Múltiples servidores: ​Varios servidores ofrecen servicios complementarios. Si un servidor no
puede satisfacer una petición de cliente, puede contactar con otro (Sistema servidor). Puede
hacerlo mediante protocolos o siguiendo el modelo cliente servidor. Desde el punto de vista
del cliente, esto se realiza de forma transparente.
El modelo “​peer-to-peer”
El modelo cliente servidor implica cierta asimetría. Los servidores son máquinas potentes que
ofrecen sus servicios a máquinas mucho más sencillas (Clientes). A medida que el uso de Internet ha
madurado, los usuarios de Internet cada vez tienden más a usar sus máquinas como servidores.
Que el protocolo siga el modelo cliente/servidor no es incompatible con que la red está formada por
ordenadores de potencia similar, dado que en las aplicaciones típicas de entornos peer-to-peer
cualquiera puede ser a la vez cliente y servidor. Otras aplicaciones, como por ejemplo emule, son
consideradas peer-to-peer porque permiten la comunicación directa entre iguales, pero necesitan
uno o varios servidores externos, donde se centraliza el control de la red.
2.1.- El sistema de nombres de dominio
El sistema de nombres de dominio en que se basa el DNS proporciona un espacio de nombres para
referenciar recursos. En el sistema de nombres de dominio, los nombres están organizados
jerárquicamente en forma de árbol invertido.

1

El nombre de dominio que corresponde a un nodo se define como la secuencia de etiquetas
existentes en el camino que va desde el nodo a la raíz. Cada etiqueta puede tener una longitud
comprendida entre 0 y 63 caracteres – Estando la 0 reservada para el nodo raíz.
El protocolo de acceso al DNS establece una sintaxis preferida a la hora de representar los nombres
de dominio, con el fin de facilitar implementaciones de otros servicios. Los únicos caracteres válidos
en una etiqueta son las letras mayúsculas o minúsculas, los dígitos decimales y el guión – el primer
carácter sólo puede ser una letra y el último no puede ser un guión. – El protocolo especifica que las
etiquetas se han de concatenar usando un punto para unirlas con las superiores hasta llegar a la raíz.
Una dirección como (www.Padresuarez.Es) se denomina nombre de dominio completamente
cualificado (FQDN). Estos también se denominan nombres absolutos ya que también pueden usarse
nombres relativos (Sin www). Los TLD (Top Level Domain) son los directamente subordinados de la
raíz. Existen tres clases de TLD:
- Dominios de nivel superior genéricos (gTLD)​: Representas áreas de conocimiento, sectores
de actividad productiva, ramas gubernamentales. Los 7 primeros fueron:
- com: ​Agrupa organizaciones comerciales.
- edu: ​ Reúne universidades y centros educativos.
- gov: ​Agrupa organizaciones gubernamentales de Estados Unidos.
- mil: ​Reservado a organizaciones militares.
- net: ​Agrupa organizaciones dedicadas a Internet y a las telecomunicaciones. Desde
1996 se amplió su ámbito a cualquier organización comercial.
- org: ​Reúne organizaciones no comerciales. También se amplió su ámbito en 1996.
- int: ​Agrupa organizaciones internacionales.
Los dominios com, net y org hoy están abiertos para su uso con cualquier fin, el resto
permanecen con restricciones. En 2008 se inicia una nueva política menos restrictiva que
conduce al registro de cientos de nombres. Dentro de los genéricos existen 3 categorías:
- De propósito general: ​Gestionados por ICANN y disponibles para cualquier persona
o entidad para cualquier uso (incluidos aquí com, net, org,...)
- Genéricos restringidos: ​También gestionados por ICANN. Su uso está restringida a
determinados propósitos, lo que limita su uso comercial.
- Patrocinados: ​Siguen una política y reglamentación fijada de forma compartida
entre ICANN y el organismo patrocinador.

- Dominios de nivel superior con código de país (ccTLD): ​ El nombre está formado por dos
letras que representan a todos los países del mundo. Los dominios asociados a cada país son
registrados por las autoridades locales.
- Dominios de nivel superior de infraestructura (nTLD): ​El primer dominio de alto nivel fue
arpa, creado temporalmente para ayudar en la transición de los nombres de recursos de
Arpanet a DNS. Su retirada fue impracticable al ser una pieza clave en la conversión inversa.
Es posible que un determinado recurso, ya sea un ordenador, un buzón de correo, etc. Tenga
asignados varios nombres, que pueden estar en la misma rama del árbol o en ramas completamente

2

independientes. En este caso se considera que uno de los nombres el del denominado nombre
canónico, y los otros se denominan alias.
2.2.- Resolución inversa
Los DNS convierten nombres en su correspondiente IP, pero en ocasiones se necesita realizar la
conversión de IP al nombre que esta tiene asociado. Esto se denomina resolución inversa. Para hacer
esto se usa el dominio de nivel superior de infraestructura (nTLD)
- IPv4 > in-addr.Arpa. : ​Al realizar la resolución inversa en una dirección IPv4 como por
ejemplo 195.47.37.0/24 esta quedaría tal que así: 0.37.47.195.In.Addr.Arpa.
- IPv6 > IP6.Arpa. : ​2001:a10::1 > 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.A.0.1.0.0.2.IP6.Arpa.
2.3.- Zonas
Para hacer más manejable la gestión y administración de nombres de dominio, estos se agrupan por
zonas. Estas se estructuran de forma arborescente y la gestión de cada una recae en su superior.
Podemos definir una zona como una parte contigua del árbol de dominios para la que un servidor de
nombres tiene información completa y sobre la que ejerce su autoridad.
Contiene los nombres de
dominio que descienden del nodo sobre el que se ejerce su autoridad, excepto los que son
delegados a otras zonas. Si no se compartiera la carga, se darían varios problemas:
- El sistema soportaría un tráfico enorme, ya que todos los ordenadores del planeta deberían
recurrir a él.
- El tamaño de la base de datos sería muy grande, con el riesgo de pérdida de datos que esto
puede conllevar.
- La administración sería centralizada, lo que supondría una gran carga burocrática.
Una zona puede corresponder a un país o a organizaciones dentro de cada país. La información se
almacena en la base de datos local de un servidor que tiene autoridad sobre la zona. El servidor
puede contestar directamente las consultas sobre los nodos de su zona, sin necesidad de acceder a
otros servidores: proporciona respuestas con autoridad. Si una consulta se refiere a otra zona,
existen dos formas de generar la respuesta:
- Modo iterativo: ​La respuesta únicamente incluye una referencia a otro servidor que puede
proporcionar más información. El cliente debe preocuparse de continuar realizando
consultas hasta encontrar la respuesta definitiva.
- Modo recursivo: ​El servidor se ocupa de buscar la información donde sea preciso, y sólo
puede proporcionar la respuesta final o un error, pero no referencias a otros servidores.
La especificación DNS establece que todos los servidores deben soportar el modo iterativo, siendo
opcional el modo recursivo, aunque en la práctica la mayoría de las consultas se realizan en modo
recursivo.
Todas las respuestas finales o intermedias que recibe un servidor se almacenan en la caché, de modo
que si se solicita otra vez la misma consulta, no será necesario otro proceso de resolución. Todos los
datos almacenados en caché tienen asignado un tiempo de vida (ITTL) tras el cual serán descartados,
para evitar errores en caso de que esos datos hayan sido modificados en el servidor origen. Los datos

3

procedentes de la base de datos de un servidor se consideran con autoridad, mientras que los datos
procedentes de una caché pierden la autoridad.
2.4.- Elementos del DNS
- Servidores: ​Reciben consultas y envían respuestas. Pueden disponer de una base de datos
local, que les permite dar respuestas con autoridad de las zonas que gestionan, y/o de una
caché que almacena respuestas previas. Junto con otros servidores, constituyen un sistema
servidor en el cual los servidores cooperan para responder a cualquier consulta.
- Resolvedores: ​Actúan como clientes del servicio. Un resolvedor suele ser un programa o
librería que recibe peticiones de las aplicaciones de usuario, las traduce a consultas DNS y
extrae de las respuestas la información solicitada. Un resolvedor debe poder tener acceso a
al menos un servidor DNS. Los resolvedores indican si desean un procedimiento iterativo o
recursivo, aunque no todos son capaces de resolver las consultas en modo iterativo. Cuando
el resolvedor dispone de varios servidores DNS a los que consultar, manda la consulta al
primero de ellos, si no recibe respuesta en un tiempo concreto, la envía al siguiente y así
sucesivamente. Si no se recibe respuesta – de resolución o error – se vuelve a empezar hasta
que la operación se da por concluida. La mayoría de los resolvedores tienen una caché
propia donde almacenan respuestas de los servidores, y que también llevan un tiempo de
vida.
2.4.1.- Tipos de servidores
- Servidor primario: ​Guarda los ficheros originales de la base de datos correspondiente a la
zona, es decir, aquellos que el administrador debe actualizar directamente cada vez que se
produzca algún cambio. Es el servidor de referencia.
- Servidores secundarios: ​Actualizan automáticamente sus bases de datos a partir del
primario, usando consultas periódicas, para saber si se ha producido algún cambio. Si los
servidores secundarios pierden la conexión con el primario durante mucho tiempo,
producirán respuestas sin autoridad.
- Servidores invisibles: ​Son servidores que tienen autoridad sobre una zona pero no se
definen mediante registros NS. Suelen almacenar una copia local de una zona con el fin de
acelerar el acceso a los registros o para asegurarse de que la zona está disponible si fallan
todos los servidores oficiales.
Junto a estos dos tipos de servidores básicos, también podemos encontrar los siguientes:
- Servidor maestro: ​Cuando se dispone de varios servidores secundarios, el coste de
actualización desde el primario puede ser demasiado alto en términos de ancho de banda,
tiempo de proceso, etc. Para evitarlo se puede asignar a uno o varios servidores secundarios
el papel de maestro, siendo el administrador el responsable de decidir qué servidores
secundarios dependen de cada maestro. SI el número de servidores secundarios es muy alto,
la estructura puede ramificarse, de modo que unos maestros dependerá de otros, y así hasta
llegar a los secundarios.
- Servidores de cacheo: ​No son primarios ni secundarios. Su única función es almacenar en su
caché todas las resoluciones que se realizan a través de él. En este servidor la caché es la
principal fuente de información, y las búsquedas se encargan a otros servidores. Se suelen

4

utilizar en organizaciones que no han definido un sistema de nombres de dominio propio,
pero que realizan muchas consultas a Internet.
- Servidores raíz: ​Son los servidores que tienen autoridad sobre los nombres de dominio de
primer nivel. Son responsabilidad de ICANN. Hay 13 servidores raíz, que utilizan el nombre
de dominio reservado root-servers.Net. Cada uno consta de muchos equipos físicos (sistema
servidor) que comparten una misma dirección IP. Los servidores pertenecen a agencias
gubernamentales o a grandes empresas.
Desde el punto de vista del cliente, no existe ninguna diferencia entre estos servidores.
COMANDOS WINDOWS:

COMANDOS Linux:
Para realizar cambios en la configuración de la red, hemos de deshabilitar el Network Mánager. Para
ello podemos desinstalar la aplicación (no recomendable) o:
- Detener la aplicación en cada arranque: ​systemctl stop NetworkManager.Service
- Desactivar la aplicación en el arranque:​ systemctl disable NetworkManager.Service
Para conocer el nombre que el sistema ha asignado a nuestras NIC podemos usar estos comandos:
- ls /sys/class/net
- networkctl
- ip link
Antes de realizar cualquier cambio en una interfaz es recomendable desactivarla. Suponiendo que la
red se llama “ens33” el comando sería el siguiente:
ifdown ens33 (Se reactiva con “ifup ens33”)

5

El fichero de configuración principal es: /etc/network/interfaces . Un ejemplo de este fichero sería:
# Configuración de una IP Dinámica
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
Sustituyendo “static” por “dhcp” configuraremos la ip como dinámica y no serían necesarias las
líneas definidas a continuación de “static”.
El nombre del equipo se establece mediante “hostname <nombre>”, pero solo durante la sesíón
actual, para un cambio definitivo hay que editar el fichero /etc/hostname.
Los mecanismos para realizar la resolución de nombre se especifican en /etc/host.Conf. Los
comandos más comunes que suelen aparecer en este fichero son
order host, bind
multi on
Esto indica que las búsquedas se realicen en el fichero host y luego se recurra a los DNS. El formato
del fichero /etc/hosts es: <dirección> <Nombre de dominio> [<alias>]. Los ficheros hosts.Allow y
host.Deny (ubicados en el mismo directorio), definen qué servicios de red están permitidos o
prohibidos para otros ordenadores. El formato en ambos es servicio:host:[acción].
/etc/resolv.Conf se encarga de la configuración de los DNS pero cualquier cambio que hagamos en
este archivo será sobreescrito y no tendrá ningún efecto.
dentro de /etc/network/interfaces podemos definir nombres canónicos y sus alias con:
dns-search <canónico> <alias>
También podemos definir los DNS con:
dns-nameserver <dirección DNS>
Podemos definir tantos servidores DNS como queramos.

Entradas relacionadas: