DNS Maestro Primario para una LAN en Debian 6.0 (I)

Comenzamos la serie de posts sobre ¿Cómo instalar y configurar un DNS Maestro Primario y Caché en Debian Squeeze?, con los cuales pretendemos dar un Punto de Entrada al fascinante mundo de éste servicio imprescindible para el funcionamiento de la Red de Redes que es Internet.

Todos los artículos están desarrollados para que puedan utilizarse de forma secuencial. La 1ra y 2da parte contienen el mínimo de conocimientos teóricos necesarios para que el Nuevo o Newbie pueda entender y desarrollar la instalación de un DNS.

A ellos le recomendamos no se amilanen. Lean y apliquen lo escrito y seguro que obtendrán resultados positivos. Y a los Sospechosos Habituales de caer en la Desesperación, les recomendamos calma, mucha calma si quieren entender en realidad como configurar éste imprescindible servicio.

Me perdonan el uso de palabras en inglés y algún que otro anglicismo. Se ha hecho para ganar claridad técnica en lo escrito.

Los aspectos que desarrollaremos en esta Primera Parte son los siguientes:

  • Introducción
  • Definiciones útiles
  • Configuraciones más comunes de un DNS
  • Zonas y Registros
  • Tiempos de expiración de Zonas
  • Tips

Introducción

Dicen en la Aldea WWW que el DNS es una de las áreas más obscuras de los servicios de redes. Afortunadamente no es así -sobre todo para una LAN- como lo demostraremos a través de los artículos siguientes. Por mucho que uno no lo desee, es casi obligatorio leer una pequeña parte teórica. 

Definición según Wikipedia:

El DNS es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.

La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de prox.mx es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre.

Inicialmente, el DNS nació de la necesidad de recordar fácilmente los nombres de todos los servidores conectados a Internet. En un inicio, SRI (ahora SRI International) alojaba un archivo llamado HOSTS que contenía todos los nombres de dominio conocidos (técnicamente, este archivo existe, y la mayoría de los sistemas operativos actuales pueden ser configurados para revisar su archivo hosts). El crecimiento explosivo de la red causó que el sistema de nombres centralizado en el archivo hosts no resultara práctico y en 1983, Paul Mockapetris publicó los RFCs 882 y 883 definiendo lo que hoy en día ha evolucionado hacia el DNS moderno. (Estos RFCs han quedado obsoletos por la publicación en 1987 de los RFCs 1034 y 1035).

A las computadoras en las que se ejecuta éste servicio se les denomina “Servidores de Nombres”. Debian trae en sus repositorios varios programas para tener un DNS funcional y entre ellos se encuentra el más utilizado en Internet: El BIND o “Berkley Internet Naming Domain”.

BIND es el estándar de facto como servidor DNS. Es Software Libre y se distribuye con la mayoría de las plataformas UNIX y Linux. También se refieren al BIND como “named” (demonio named). Puede encontrar aquí (Wikipedia en ingles) una comparación de distintos tipos de servidores DNS.

Definiciones útiles

NetBIOS: Network Basic Input/Output System (NetBIOS): Sistema básico de entrada y salida de red (NetBIOS). Interfaz de programación de aplicaciones (API) que pueden utilizar los programas en una red de área local (LAN).

NetBIOS proporciona a los programas un conjunto uniforme de comandos para solicitar los servicios de bajo nivel necesarios para administrar nombres, dirigir sesiones y enviar “datagramas” entre los nodos de una red.

Nombre NetBIOS: Nombre de 16 bits de un proceso que utiliza el sistema básico de entrada y salida de red (NetBIOS). Nombre reconocido por el servicio WINS (Windows Internet Name System) de Microsoft, el cual asocia o “mapea” un nombre de equipo o host a una determinada dirección IP.

FQDN“Fully Qualified Domain Name” o Nombre de Dominio Plenamente Calificado. Como el traducir nombres creados en inglés técnico es a menudo tremendo, recomiendo se aprendan el nombre en inglés y para propósitos prácticos se refieran a él como el FQDN. No es más que el Nombre de dominio DNS que se ha establecido para indicar su ubicación absoluta en el árbol de espacio de nombres de dominio.

En oposición a los nombres relativos, un FQDN va precedido por un punto para indicar su posición en la raíz del espacio de nombres. Ejemplo: freake.amigos.cu. es el FQDN del host cuyo nombre NetBIOS es freake y pertenece al dominio amigos.cu.

amigos.cu.
  freake.amigos.cu.
  otrofreake.amigos.cu.
  mail.amigos.cu.

Configuraciones más comunes de un DNS

Podemos configurar un Servidor de Nombre de Dominio o DNS de distintas formas para que brinden servicios diferentes. Las más utilizadas son:

Servidor Caché (“Caching Nameserver”): Las solicitudes o peticiones hechas al servidor serán resueltas por los Forwarders que le declaremos en su configuración. Las respuestas se almacenaran y “recordarán” para cuando el Servidor Caché sea consultado nuevamente, lo cual aumenta considerablemente la velocidad de respuesta.

Maestro Primario (“Primary Master”): Las solicitudes o peticiones hechas al servidor serán resueltas mediante la lectura de los datos almacenados en los archivos locales de las Zonas creadas. Como su nombre indica, será un Servidor de Nombres Autoritario para la Zona consultada.

Maestro Secundario (“Secondary Master”): Las solicitudes o peticiones hechas al servidor serán resueltas mediante la consulta directa a un servidor Maestro Primario Autoritario para la Zona consultada. Mantiene una copia actualizada de las Zonas del Maestro Primario.

También lo podemos configurar de forma que realicen varias funciones a la vez, como el ser un Maestro Primario y Caché al mismo tiempo, lo cual es muy común en nuestras redes empresariales.

Zonas y Registros

Las Zonas son archivos de texto plano que nos permiten organizar los Registros DNS. Cada nombre de zona concuerda con el nombre de un dominio, o con un rango de direcciones IP tal como el de una o varias subnets. Contiene, además de otros datos, varios Registros de diferentes Clases o Tipos, de los cuales mencionaremos solo los siguientes:

SOA“Start of Authority”. Comienzo de la Autoridad. Es un registro obligatorio en cada Zona, y debe existir solamente uno sólo en cada archivo. Es el preámbulo de todos los archivos de zona. Describe la zona en si misma; de cual máquina o host proviene; quien es el responsable de su contenido; cual es la versión del archivo de zona, y otros aspectos concernientes al propio funcionamiento del servidor DNS. Es imprescindible que en cada archivo de zona exista un registro tipo A que identifique a la máquina o host donde radica el servidor DNS.

NSMapea un nombre al Servidor de Nombres. Cada dominio debe tener al menos un registro NS. Este registro apunta a un Servidor DNS que puede responder las consultas concernientes al dominio. Puede apuntar al Maestro Primario o al Maestro Secundario.

A“Address” – (Dirección). Este registro se usa para traducir nombres de hosts a direcciones IPv4.

AAAA“Address” – (Dirección). Este registro se usa para traducir nombres de hosts a direcciones IPv6.

CNAME:  “Canonical Name” – (Nombre Canónico). Tipo de registro mediante el cual podemos dar varios nombres a un mismo host o crear Alias de él. Digamos que tenemos el host web.amigos.cu. en el cual tenemos instalado un servidor web y queremos que se refieran a el como www.amigos.cu. Entonces en la Zona amigos.cu debemos tener entre los demás registros:

web    IN    A        192.168.10.20
www    IN    CNAME    web.amigos.cu.

MX“Mail Exchange” o Servidor de Correo. Información utilizada por otros servidores de correo para saber adonde enviar un correo dada una dirección IP. Cada registro MX tiene una prioridad, donde la más alta la tiene el registro con el menor número. Ejemplos:

10 mail1.amigos.cu.
20 mail2.amigos.cu.

PTRMapeo de una dirección IP a un nombre. Tipos de registros almacenados en las denominadas “Zonas Inversas”. Por ejemplo, la Zona 10.168.192.in-addr.arpa es la que contiene el mapeo inverso de todas las direcciones del rango de direcciones IP 192.168.10.0/24

Por supuesto que la lista de tipos de registros continúa…

Tiempos de expiración o caducidad de zonas

Cuando estamos creando los archivos de las Zonas de registros DNS, debemos configurar los Tiempos de Expiración en segundos. Sin embargo podemos especificarlos de una forma más corta acorde a la siguiente tabla:

Segundos	Unidades	Descripción
60		1M		A un minuto
1800		30M		A 30 minutos
3600		1H		Una Hora
10800		3H		3 horas
21600		6H		6 horas
43200		12H		12 horas
86400		1D		Un día
259200		3D		3 días
604800		1W		Una semana

Tips

Debemos ser muy cuidadosos al escribir en los archivos de zonas. Los FQDN tienen que terminar en un “.” (o sea, punto), y no podemos dejar espacios en blanco al final de cada línea. Por esa razón recomendamos fuertemente el uso de editores de consola como el vi o el nano. Nosotros emplearemos el nano, el cual a nuestro criterio es más fácil de usar. Por supuesto que también podemos usar editores de texto plano con ambiente gráfico o GUI.

Espero no se hayan aburrido pues aun queda un poco para entrar en materia.

Existen otros “Backends” para servidores DNS tales como LDAP, MySql, PostgreSQL, SQLite, etc.



Ingeniero Termo Energético de profesión. Administrador de Redes desde hace ya varios años. Programador en Visual FoxPro. Debianero de Corazón, y "OldFashion Man". Contacto: federicotoujague@gmail.com / +53 5 5005735

8 comentarios

  1.   comentarista dijo

    Se ve bueno y completo el artículo, espero leerlo pronto.

  2.   Rots87 dijo

    lastima que estoy en el trabajo por que me gustaria leerlo detenidamente…

  3.   Creeping_death dijo

    Excelente aporte .

  4.   KZKG^Gaara dijo

    Genial que pongas estos artículos acá … gracias por tu ayuda Fico 😀

  5.   Mr Black dijo

    ¡Excelente! Esperando las demas partes, estos posts con “substancia” valen la pena, gracias

  6.   Julio Cesar dijo

    Excelente articulo mi gran amigo fico

  7.   fico dijo

    Gracias a todos por sus comentarios.. 🙂

  8.   Francisco dijo

    Hola fico, oye y crees que puedas darme algunos tips para instalar un servicio de DNs de Linux para mi red, aún soy nuevo en eso y no me dan algunos servicios lo esperado para mis usuarios.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.