Mostrando entradas con la etiqueta DNS. Mostrar todas las entradas
Mostrando entradas con la etiqueta DNS. Mostrar todas las entradas

lunes, 15 de noviembre de 2010

Comandos para la gestión de la red en Linux: dig

Normalmente los programas que necesitan traducir un nombre de dominio a dirección ip, usan un un programa llamado resolvedor que se encarga de obtener la dirección ip consultando tres lugares. Pero existen comandos como dig que permiten que el usuario pueda realizar consultas y ver las respuestas devueltas.

miércoles, 3 de noviembre de 2010

Instalación y configuración básica de un dominio con bind9 en CentOS

Para mantener un dominio es necesario instalar y configurar un servidor DNS. El más utilizado en entornos linux es el Bind (versión 9.7.2-P2 en el momento de escribir este artículo).

El primer paso es instalarlo desde los repositorios de CentOS. Esto se hace con el comando:

yum install bind

Una vez instalado se debe crear un archivo de configuración. Lo siguientes pasos cubren una configuración sencilla que permita tener en marcha un servidor DNS en poco tiempo. La configuración del servidor está en el archivo /etc/named.conf. Todas las sentencias disponibles para configurar el servidor bind se pueden consultar en el Manual de Referencia del Administrador ARMv9.6 .

El archivo se puede editar con el comando:

nano /etc/named.conf

El contenido que hay que introducir es:

options {
        directory "/var/named";
};

zone "." {
        type hint;
        file "named.root";
};

zone "trombotic.tic" {
        type master;
        file "trombotic.tic.zone";
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "1.168.192.in-addr.arpa.zone";
}; 

La sentencia options permite configurar opciones globales del servidor. En este caso solo contiene la subsentencia directory que indica el directorio del sistema donde están los archivos de zona. La subsentencia type indica el tipo de zona, y en el caso de poner master significa que este servidor es el que tiene la copia original de los datos de la zona (No es un servidor secundario). Por último la subsentencia file indica el nombre del archivo de zona.

El servidor dns para definir un dominio utiliza zonas. Una zona contiene la información que maneja un dns, es decir, la relación entre los nombres de las máquinas y sus direcciones ip ( y alguna cosilla más). Esta información se representa mediante registros de recursos incluidos dentro de los archivos de zona.

Por ejemplo, en este servidor existe una zona llamada trombotic.tic que se corresponde con el dominio trombotic.tic cuyo archivo de zona se llama trombotic.tic.zone. Como dentro de la sentencia options existe la subsentencia directory con valor /var/named, el archivo de zona para trombotic.tic es /var/named/trombotic.tic.zone. Esta zona se encarga de la resolución de nombres de dominio a direcciones ip.

A parte, también existe una zona llamada 1.168.192.in-addr.arpa que es la que se encarga de la resolución inversa, es decir, a partir de una dirección ip obtener el nombre de dominio. No es obligatoria para tener resolución de nombres, pero es necesaria para que algunos servicios funcionen bien. Las zonas de resolución inversa reciben el nombre de la dirección de red o subred, sin los ceros, escritas al revés y con el sufijo .in-addr.arpa. en este caso la dirección de la red es 192.168.1.0/24 así que se coge el 192.168.1, se le da la vuelta para que quede 1.168.192 y se le añade .in-adder.arpa.

Una vez creado el archivo de configuración , hay que crear los archivos de zona.
Dentro del directorio /var/named se deben crear tres archivos:
  • named.root que contiene una copia de los servidores raíz DNS.
  • trombotic.tic.zone que contiene los registros de las zona trombotic.tic.
  • 1.168.192.in-addr.arpa.zone que contiene los registros de resolución inversa para las direcciones de la red 192.168.1.0/24.
Se puede obtener una copia actualizada de los servidores DNS raíz en www.internic.net. Para descargar el archivo de named.root se puede utilizar el comando:

wget -O - http://www.internic.net/zones/named.root > /var/named/named.root


El contenido del archivo /var/named/trombotic.tic.zone podría ser así:

@               IN      SOA ns.trombotic.tic admin.trombotic.tic (
1       ;serial
24h     ;refresh
1h      ;retry
7d      ;expire
1h      ;negative ttl
)

                IN      NS ns.trombotic.tic.

@               IN      MX 1    servidor.trombotic.tic.

servidor        IN      A 192.168.1.200
router          IN      A 192.168.1.1

ns              IN      CNAME servidor
smtp            IN      CNAME servidor
pop3            IN      CNAME servidor
www             IN      CNAME servidor
ftp             IN      CNAME servidor


Los archivos de zona contienen registros de recuros, que es la información que maneja el servidor dns acerca de la zona. Hay varios tipos de registros de recurso: soa,a,ns,mx,cname,ptr,... Como este articulo no pretende ser un manual de bind (se puede buscar el google y seguro que salen cientos), basta con decir que en este archivo se esta indicando lo siguiente (Entre paréntesis esta el tipo de registro que indica esta información):
  • que la dirección de correo del administrador de la zona es admin@trombotic.tic (SOA).
  • que esta zona la lleva un servidor dns llamado ns.trombotic.tic (NS) que realmente es un alias de servidor.trombotic.tic (CNAME).
  • que el dominio tiene un único servidor que recoge correo electrónico llamado servidor.trombotic.tic (MX).
  • que hay una máquina llamada servidor.trombotic.tic con direccion ip 192.168.1.200 (A).
  • que hay una máquina llamada router.trombotic.tic con direccion ip 192.168.1.1 (A).
  • que servidor.trombotic.tic tiene varios nombres (CNAME): ns.trombotic.tic, smtp.trombotic.tic, pop3.trombotic.tic,www.trombotic.tic y ftp.trombotic.tic.
Básicamente en esta red hay una única maquina que proporciona todos los servicios, que es servidor.trombotic.tic y otra que conecta nuestra red con Internet, que es router.trombotic.tic.

El contenido del archivo /var/named/1.168.192.in-addr.arpa.zone podría ser así:

@               IN      SOA ns.trombotic.tic admin.trombotic.tic (
1       ;serial
24h     ;refresh
1h      ;retry
7d      ;expire
1h      ;negative ttl
)

                IN      NS ns.trombotic.tic.

200             IN      PTR servidor.trombotic.tic.
1               IN      PTR router.trombotic.tic.


En este archivo de zona la información mas importante es:
  • que existe una maquina con dirección ip 192.168.1.200 que se llama servidor.trombotic.tic (PTR).
  • que existe una maquina con direccion ip 192.168.1.1 que se llama router.trombotic.tic (PTR).
Hay que tener en cuenta que en el registro de recurso sólo pone el último número de la dirección ip y que el propio servidor añade el nombre de la zona para poder obtener la dirección ip completa. Por ejemplo, en la linea que empieza por 200, hay que añadir al final 1.168.192.in-addr.arpa y de aquí se obtienen 200.1.168.192.in-addr.arpa. Se le quita el in-addr.arpa y se le da la vuelta para que quede la dirección 192.168.1.200.

Una vez configurado sólo es necesario arrancar el servidor dns con el comando:

service named start


Para resolver cualquier duda se puede utilizar los comentarios del artículo.