Servidor DNS

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

SERVIDOR DE NOMBRES DE DOMINIOS

Servidores de nombres

Los servidores DNS almacenan información acerca del espacio de nombres del dominio, y
son conocidos como servidores de nombres.

Los servidores de nombres suelen ser responsables de una o más zonas (entendiendo como
zona un archivo físico que almacena registros de la base de datos de una parte del espacio
de nombres DNS).

Se dice que el servidor de nombres tiene autoridad sobre esas zonas.

Cuando se configura un servidor de nombres DNS, se indica cuáles son los restantes
servidores de nombres DNS que se encuentran en el mismo dominio.

Servidores de nombres maestro y esclavo

Un servidor de nombres maestro es un servidor de nombres que obtiene los datos de sus
zonas de archivos locales. Los cambios en una zona, como la adición de dominios, se
realizan en el servidor de nombres principal.

Un servidor de nombres secundario obtiene los datos de sus zonas de otro servidor de
nombres de la red que tiene autoridad para esa zona, normalmente de un servidor de
nombres principal. El proceso de obtención de información de estas zonas vía red se conoce
como transferencia de zona.

La razón fundamental para la existencia de un servidor de nombres secundario es la de la


redundancia. Se necesitan al menos dos servidores de nombres DNS que sirvan cada zona,
uno maestro y al menos uno esclavo, para que en caso de fallo, alguno de ellos responda a
las peticiones de resolución de nombres.

En el proceso de resolución de nombres, los servidores de nombres almacenan en caché las


respuestas obtenidas fuera de su zona para evitar tiempo en la resolución de respuestas a
peticiones similares. En este proceso, se realiza la búsqueda a través de la jerarquía de
nodos de nombres del DNS hasta encontrar la resolución de la petición. Existe un tiempo de
vida (TTL) que se especifica a través de los datos que se intercambian los servidores de
nombres, y que controla el tiempo que se almacenarán estos datos. Evidentemente, a menor
tiempo de vida, mayor carga para el servidor de nombres, pero más fiabilidad de los datos
del dominio.

Acerca de Bind

BIND (acrónimo de Berkeley Internet Name Domain) es una implementación del protocolo
DNS y provee una implementación libre de los principales componentes del Sistema de
Nombres de Dominio, los cuales incluyen:
 Un servidor de sistema de nombres de dominio (named).
 Una biblioteca resolutoria de sistema de nombres de dominio.
 Herramientas para verificar la operación adecuada del servidor DNS (bind-utils).

El Servidor DNS BIND es utilizado de manera amplia en Internet en aproximadamente el


99% de los servidores DNS del mundo, proporcionando una robusta y estable solución.

Instalación a través de yum


yum -y install bind bind-chroot bind-utils

Firma digital del servidor

Con la finalidad de mejorar la seguridad, genere una firma digital de 512 bits (el valor
predeterminado es 128 bits) para el servidor DNS. Ejecute lo siguiente:

rndc-confgen -a -r /dev/urandom -b 512 -c /etc/rndc.key

Cambie las pertenencias para que este archivo sea propiedad del usuario root y grupo
named:

chown root:named /etc/rndc.key

Asegúrese que los permisos de acceso sean lectura y escritura para usuario, sólo lectura
para grupo y nada para otros, es decir un permiso 640 (rw-r-----):

chmod 640 /etc/rndc.key

Actualice el archivo de cache con los servidores DNS raíz

El archivo /var/named/named.ca contiene la información de los servidores DNS raíz


necesaria para poder iniciar el cache de todo servidor DNS de Internet. Es por ello que
necesitamos actualizarlo para evitar problemas para la resolución de algunas zonas.

wget -N http://www.internic.net/domain/named.root -O
/var/named/named.ca

Si no tiene instalado el programa wget, ejecute antes el comando yum install wget
-y

El archivo debe pertenecer a root y el grupo named.

chown root:named /var/named/named.ca

Es neceesario asignar permiso de lectura y escritura para root, sólo lectura para named y
nada para el resto (rw-r-----).
chmod 640 /var/named/named.ca

Una vez realizado estos ajustes, procedemos a la configuración de los archivos del servicio.

Configuración del archivo /etc/named.conf

El archivo named.conf es el archivo de configuración principal del servicio DNS, cuyo


proceso de servicio se llama named. Lo primero que debemos hacer antes de editar y hacer
cambios a un archivo de configuración es hacer un respaldo de éste, ya que si cometemos
algún error fácilmente lo podemos revertir 

cp /etc/named.conf /etc/named.conf.original

El comando cp nos permite copiar una entrada de directorio (archivo) especificándole el


nuevo nombre de ésta. Inclusive, puedes especificar una ruta destino completamente
diferente a la del origen. Una vez realizada la copia, procedemos a editarlo:

nano /etc/named.conf

En este archivo te encontrarás la siguiente configuración:

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND
named(8) DNS
// server as a caching only nameserver (as a localhost DNS
resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named
configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file
"/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
dnssec-lookaside auto;

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {

type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Para poner comentarios en que ocupen varias líneas se utiliza /* al inicio del bloque y */ al
final del mismo, si utiliza la secuencia // o # los comentarios inician a partir de ahí hasta el
final de la línea.

Primero vamos a realizar los siguientes cambios en las líneas en negritas:

1. listen-on port 53 { 127.0.0.1; }; por listen-on port 53 { any; }; (línea 11)


2. allow-query     { localhost; }; por allow-query     { localhost;
192.168.3.0/24 }; (línea 17)
3. dnssec-enable yes; por dnssec-enable no; (línea 20)
4. dnssec-validation yes; por dnssec-validation no; (línea 21)

Si no hacemos el cambio en el punto 1. el servidor sólo va a "escuchar" peticiones en el


puerto 53 siempre y cuando vengan de él mismo; esto no es útil, por ello cambiamos a
any para que escuche peticiones de cualquier punto (en el siguiente punto delimitamos
esto). En el punto 2. agregamos a todas las redes a las que damos servicio. En el escenario
que vamos a trabajar, no existe DNS secundario, de ahí los cambios en los puntos 3. y 4.

En la línea 14 vamos a insertar lo siguiente:

forwarders { 192.100.213.5; 8.8.8.8 }


forward first;
Las direcciones IP que agregamos, la primera corresponde al servidor DNS de la escuela y
la segunda a un servidor DNS público como lo es el de Google. Puede poner las que su
proveedor de acceso a Internet le indique. Esto permite al DNS que aprenda cuando se le
solicita un dominio que no conoce y por tanto no tiene en su caché.

En este momento necesitamos tener definido un nombre de dominio. ¿Qué es un dominio?


Es un identificador común a un grupo de computadoras o equipos conectados a la red. Son
una forma simple de dirección de Internet diseñados para permitir a los usuarios localizar
de una manera fácil sitios en Internet. Es el nombre con el que serás identificado en
Internet.

Para efectos del curso, voy a utilizar midominio.com el cual no está registrado ante
ninguna autoridad de registro de nombres de dominio. Hay dos tipos de dominio: ccTLDs
(territoriales) y los gTLDs (génericos); la diferencia estriba en que los dominios ccTLDs se
asocian a un país, por ejemplo el .MX los registros se asocian con México y los gTLDs no.
Por cierto, TLD significa Top Level Domain, que es la más alta categoría de las FQDN
(Fully Qualified Domain Name) que son traducidos a direcciones IP por los DNS oficiales
de Internet. Los nombres servidos por los DNS oficiales son administrados por la Internet
Corporation for Assigned Names and Numbers (ICANN). EnMéxico, el organismo
encargado de la administración .MX es AKKY (akky.mx).

Archivos de configuración de zonas

Estos archivos serán los que utilicemos para definir el o los dominios que nuestro servidor
DNS va a resolver, a cada dominio asociado le llamamos origen. Cada nombre de dominio
o de máquina que aparezca en estos archivos es considerado relativo a este origen a menos
que termine con un punto. Esta regla no debe ser tomada a la ligera: todos los nombres en
un archivo de zona son expandidos agregándoles el origen a menos que terminen en un
punto, y esto nos puede desconcertar en ocasiones. Para hacer referencia al origen en sí es
necesario usar el símbolo @. Los archivos de zonas están hechos de lo que en inglés se
conoce como resource records o, simplemente, RRs, y tienen un tipo asociado. Estos son
los principales:

Start of Authority (SOA)

Requerido por cada archivo de zona. El registro SOA contiene información relevante, cómo
la dirección email del administrador de la zona y el nombre de servidor maestro para la
zona. El SOA también contiene un número que es incrementado cada vez que el archivo de
zona es actualizado. Cuando este número es cambiado se lanza el DNS para recargar los
datos de la zona.

Name Server (NS)

El registro NS contiene la información name server (servidor de nombre) para la zona.

Mail Exchanger (MX)


Provee la información del servidor email para esa zona. Esto permitirá que el email sea
enviado al lugar correcto.

Host (A)

El registro A es usado para mapear una dirección IP a un HOST NAME. Éste es el tipo más
común de registro en Internet.

Canonical Name (CNAME)

Un CNAME es simplemente un alias para un host. Los CNAMEs te permiten tener más de
un nombre DNS para un host. Los registros CNAME apuntan de regreso hacia un registro
A. Si tú cambias tu dirección IP en tu registro A, todo tu registro CNAME seguirá
automáticamente a la nueva IP del registro A. La solución alternativa es tener múltiples
registros A, pero entonces tú tendrías múltiples lugares para cambiar la dirección IP que
incrementa el margen de error. Usando CNAME es más eficiente.

Text (TXT)

Un registro meramente informativo que tú puedes usar para proveer información adicional
sobre un host. Ö tu puedes usarlo para proveer información técnica a servidores.

Service Records (SRV)

Los registros SRV son registros de recurso usados para identificar computadores que
hostean servicios específicos.

AAA

Los registros AAA almacenan el protocolo de internet versión 6 de 128 bit (IPV6), lo cual
no se adpata al formato estándar del registro A.

Vamos a ver a detalle el formato del registro SOA:

Campo Descripción
Name El nombre raíz de la zona. El símbolo "@" es una es una forma abreviada
de referirse al origen actual (zona) en el archivo /etc/named.conf
Class Hay diferentes clases de DNS. En una red de casa o de una pequeña
oficina se limitará a la clase IN o Internet utilizada para definir la
información de asignación de direcciones IP para BIND. Hay otras clases
para protocolos y funciones que no son de Internet pero que raramente
son usados.
Type El tipo de registro de recurso de DNS. Para este ejemplo, éste es un
registro SOA.
Name-Server Nombre completo del servidor DNS primario. Debe terminar con el signo
".".
Email-addres La dirección de correo del administrador del servidor DNS. La @ en la
dirección de correo se remplaza por un ".". La dirección de correo debe
terminar también con un ".".
Serial-no Número de serie de la configuración actual. Puede utilizar el formato
AAMMDD 
A serial number for the current configuration. You can use the date format
YYYYMMDD with an incremented single digit number tagged to the end.
This will allow you to do multiple edits each day with a serial number that
both increments and reflects the date on which the change was made.
Refresh Le dice al servidor DNS esclavo que tan seguido debería verificar la
configuración en el servidor DNS maestro. Los DNS esclavos no se utilizan
en redes pequeñas.
Retry Intervalo de reintento del DNS esclavo para conectarse al maestro en caso
de un fallo en la conexión.
Expiry La cantidad total de tiempo que un DNS esclavo debe volver a intentar
ponerse en contacto con el maestro antes de expirar los datos que
contiene. Referencias futuras estarán dirigidas a los servidores raíz.
Minimum-TTL Hay ocasiones en que los clientes remotos harán consultas para
subdominios que no existen. El servidor DNS responderá con un no
dominio o NXDOMAIN que el cliente remoto cacha. Este valor define la
duración de caché  que el DNS incluye en la respuesta.

Los tiempos de los campos refresh, retry, expiry y minimu-TTL se expresan en segundos o bien en
su forma abreviada H=Hour, D=Day y W=Week.

Archivo de zona de reenvío

Ahora que sabe los elementos clave de un archivo de zona, es el momento de examinar un
ejemplo para el dominio midominio.com y como ejemplo el servidor utiliza la dirección IP
192.168.3.123:

; archivo de zona de reenvio para midominio.com


$TTL 3600 ; default TTL para la zona
@  3600       IN      SOA   ns.adminanonymoushacked.com.
hostmaster. adminanonymoushacked.com. (
                      2014052401 ; serial number
                      3600       ; refresh
                      3600       ; retry
                      1209600    ; expire
                      3600       ; minimum
                      )
@             IN      NS      ns
@             IN      A       192.168.0.154
@             IN      MX  10  mail
ns            IN      A       192.168.0.154
www           IN      A       192.168.0.154
mail          IN      A       192.168.0.154
ftp           IN      A       192.168.0.154
dbadmin       IN      A       192.168.0.154
webmail       IN      A       192.168.0.154

Cabe hacer notar que ns.midominio.com es el servidor de nombres para el dominio


midominio.com. En ambientes empresariales, el servidor de nombres está instalado en un
equipo aparte, pero para los efectos del curso todo se encontrará instalado en el mismo
equipo. Cuando utilizamos un esquema de servidores de nombres maestro y esclavo
generalmente los nombramos como ns1 y ns2 respectivamente.

El TTL para nuestro dominio es de una hora (3600 segundos), por lo tanto los servidores de
caching DNS remotos almacenarán la información referente a la zona de nuestro dominio
por una hora antes de que vacíe sus cachés.

El registro MX apunta al subdominio mail (mail.midominio.com) el cual se va a encargar


de administrar el servicio de correo electrónico.

Una práctica requerida consiste en incrementar el número de serie cada vez que se edite un
archivo de zona. En escenarios donde se utilicen servidores secundarios estos sondean
periódicamente al servidor principal con el fin de averiguar si la información de archivo de
zona se ha actualizado, utilizando para determinar esto el número de serie. No hacer esto,
podría provocar que los servidores esclavos contengan información obsoleta aún cuando se
hayan modificado.

www, ftp, dbadmin y webmail son subdominios y apuntan a la dirección especificada en el


registro A.

Este archivo se guardará con el nombre fwd.midominio.com en la ubicación

cd /var/named/. /

Archivo de zona de reversa


; archivo de zona de reenvio para midominio.com
$TTL 3600 ; default TTL para la zona
@ 3600        IN      SOA   ns.midominio.com.
hostmaster.midominio.com. (
                      2014052401 ; serial number
                      3600       ; refresh
                      3600       ; retry
                      1209600    ; expire
                      3600       ; minimum
                      )
@             IN      NS      ns
@             IN      A       192.168.0.123
ns            IN      A       192.168.0.123;
250           IN      PTR     www.midominio.com.
250           IN      PTR     mail.midominio.com.
250           IN      PTR     ftp.midominio.com.
250           IN      PTR     dbadmin.midominio.com.
250           IN      PTR     webmail.midominio.com.

Este archivo se guardará con el nombre rev.midominio.com en la


ubicación /var/named/.

Información importante

Cada vez que haga algún cambio en algún archivo de zona, deberá cambiar el número de
serie a fin de que tomen efecto los cambios de inmediato cuando se reinicie el servicio
named, ya que de otro modo tendría que reiniciar el equipo, algo poco conveniente.

Las zonas de resolución inversa que involucran direcciones IP públicas son responsabilidad
de los ISP (proveedores de servicio de acceso hacia Internet). Crear una zona de resolución
inversa sin ser la autoridad de dicha zona tiene efecto sólo para quien use el servidor DNS
recién configurado como único DNS.

Modificación del archivo de configuración /etc/named.conf

Es necesario realizar unos ajustes al archivo de configuración del servicio DNS. Para ello
debemos agregar las zonas recién creadas en la línea 44 de la siguiente manera:

zone "midominio.com" IN {
        type master;
        file "fwd.midominio.com";
        allow-update { none; };
};

zone "3.168.192.in-addr.arpa" IN {
        type master;
        file "rev.midominio.com";
        allow-update { none; };
};

Prueba de sintaxis de los archivos configuración de DNS

1. Checar archivo de configuración named.conf

named-checkconf /etc/named.conf

2. Checar archivos de configuración 


named-checkzone midominio.com /var/named/fwd.midominio.com
named-checkzone midominio.com /var/named/rev.midominio.com

Si todo está bien, procedemos a arrancar por primera vez nuestro servicio; si hay errores,
debemos seguir las indicaciones producidas por los comandos con los cambios a realizar.

Puesta en marcha del servicio DNS

Antes de arrancar el servicio es necesario modificar quién va a ser el servidor de nombres


para el propio servidor. Para ello deberá realizar dos tareas que ya hemos realizado con
anterioridad, por lo que sólo voy a indicar lo que se va a hacer:

1. Editar el archivo de configuración de la interfaz eth0 y modificar el DNS


estableciendo la IP del servidor en vez del que estaba establecido.
2. Reiniciar los servicios de red

Ahora bien, procedemos a arrancar el servidor:

service named start

Nos debe devolver el tan esperado OK de que todo salió bien   ... si no fue así, entonces
hay que revisar los mensajes de error que nos devolvió el arranque del servidor y proceder a
corregirlos.

Sólo falta indicar que el servicio de nombres se inicie cuando se arranque el servidor:

chkconfig --levels 345 named

Pruebas de verificación de funcionamiento

Procederemos a realizar pruebas con las utilerías que instalamos con BIND:

dig

[root@midominio ~]# dig ns.midominio.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>>


ns.midominio.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51838
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1,
ADDITIONAL: 0

;; QUESTION SECTION:
;ns.midominio.com.             IN      A
;; ANSWER SECTION:
ns.midominio.com.      3600    IN      A       192.168.3.123

;; AUTHORITY SECTION:
midominio.com.         3600    IN      NS    
ns.midominio.com.

;; Query time: 0 msec


;; SERVER: 192.168.3.123#53(192.168.3.123)
;; WHEN: Thu Aug  2 13:23:19 2014
;; MSG SIZE  rcvd: 65

nslookup

[root@midominio ~]# nslookup midominio.com


Server:         192.168.3.123
Address:        192.168.3.123#53

Name:   midominio.com
Address: 192.168.3.123

host

[root@midominio ~]# host midominio.com


midominio.com has address 192.168.3.123
midominio.com mail is handled by 10 mail.midominio.com.
[root@midominio ~]# host ftp.midominio.com
ftp.midominio.com has address 192.168.3.123

Deberás haber obtenido resultados similares.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy