Está en la página 1de 21

Manual DNS Y

DHCP Linux
Introducción
Este manual le muestra como configurar un sistema de Nombres de Dominio (DNS) y DHCP usando
BIND y DHCP3 Server- ISC-DHCP-Server. Cuando termine este manual, debería saber instalar,
configurar, mantener y resolver las incidencias de cualquier dominio que registre. Se empezara con
una introducción a DNS y DHCP.
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

No vale más el que sabe


mucho, sino el que hace
mucho con lo poco que sabe.
By: John Michel Rivera De León.

BIND9 DN“
Características de DNS
DNS es la B.D más grande del mundo. DNS asocia la
dirección IP con el nombre de los servidores conectados a
internet, que abarcan desde pequeños sitios web, hasta Descripción:
granjas de servidores como Google.
El presente documento
DNS separa los dominios en categorías. La colección de
Email: lionheart815@hotmail.com

categorías reside en lo que se llama el directorio de raíz. es un manual para

lionheart815@hotmail.com
Esta colección está dividida en dominios de alto nivel o TLD. comprender y crear

DNS Y DHCP Linux


DNS busca los nombres según el sufijo .edu, .org, .com, etc. nuestro propio servidor
Los dominios de cada TLD apuntan a la dirección que puede DNS y DHCP en Linux.
usar para comunicarse con el servidor.
Dentro de este
El DNS que originalmente se definió en el RFC 882 en 1983 y
documento se muestra
luego se revisó como RFC 1034 y 1035 introdujo varias ideas

Manual
en la última sección un
para gestionar el mapeo de los nombres comunes de

Email:
internet a direcciones IP’s. El siste a distri uye los datos y ejemplo de
los nombres de equipos de manera jerárquica en un espacio implementación en la
de nombres de dominio. distribución Debían 6

Los Programas llamados servidores de nombres de parte de Squeeze (pág. 11).

los programas clientes. Los esquemas de nombres Se recomienda leer


jerárquicos como DNS evitan la duplicidad de los datos.
todo el documento para
Cada dominio es único y puede tener tantos servidores
comprender que se está
como quiera para su dominio, simplemente debe añadir un
prefijo a los equipos del dominio. haciendo, en caso de
conocer lo necesario
puede saltarse hasta la
última sección para ver
el ejemplo
implementado. 1

(pág. 11).
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

BIND

BIND es un estándar en todas las versiones de Unix y Linux. Bind viene con tres
componentes. El primero es el servicio o demonio que ejecuta el servidor DNS.
Este componente se llama named.

El segundo elemento de BIND es la librería resolutoria. Este componente es el que


los navegadores Web, el software de correo y otras aplicaciones consultan cuando
intentan encontrar un servidor por su nombre DNS. El código del resolutor lanza
consultas sobre los servidores DNS para intentar traducir nombres en direcciones
IP.
Email: lionheart815@hotmail.com

Este elemento de BIND usa su propio directorio llamado resolv.conf que está
presente en cada ordenador. Es deber del administrador configurar resolv.conf.

Manual DNS Y DHCP Linux


Aquí un ejemplo:

Search midominio.net

Nameserver 70.253.158.42

Como observa, el archivo de configuración del resolutor BIND es sencillo, la


primera línea busca un servidor en el dominio local. La otra línea indica la
dirección de otros servidores de nombres que el administrador conoce, si una
consulta falla, se consulta al siguiente servidor.

Servidores DNS primarios y secundarios

Se recomienda disponer de al menos dos servidores DNS cuando registre su


dominio. Si quiere, puede hacer un duplicado exacto de la información que se
utiliza para el primer servidor DNS y colocarlo en el lugar del segundo servidor.

Es más útil considerar a un servidor como el primario y otro como secundario.


BIND permite al servidor secundario que se comunique con el primero y
automáticamente replique el directorio, lo que en la práctica se llama zona de
transferencia.

El servidor primario no transfiere la nueva configuración a los servidores


secundarios inmediatamente. En lugar de esto, cada servidor secundario sondea
2 al servidor primario a intervalos regulares de tiempo para detectar los cambios
que se han producidos. Un servidor secundario sabe que debe sondear al
primario, ya que se etiqueta con el término Slave en el archivo named.conf como
se muestra aquí:
By: John Michel Rivera De León.

)o e ido i io. et {

Type Slave;
file se . ido i io. et ;
masters {70.253.158.42;};

};

Aun que un servidor secundario no puede actuar como mascara indefinidamente.


De manera eventual su información podría caducar, por lo que sería preferible
dejar de responder a las peticiones. Estas zonas se definen en diversos archivos,
no en el archivo named.conf. El archivo named.con apunta a la localización de su
Email: lionheart815@hotmail.com

archivo de zona.

lionheart815@hotmail.com
Archivos de Configuración

DNS Y DHCP Linux


Cuando instala Bind en Linux, se generan los archivos de configuración.

Named.conf

Cuando named recibe una petición, consultaba su propio directorio, el archivo de

Manual
configuración named.conf. Esto hace apuntar a named al archivo de zona para el
dominio solicitado. Este archivo esta normalmente instalado en su servidor Linux

Email:
por defecto. Dependiendo de la distribución, puede residir en distintos directorios
ie; /etc/bind/named.conf.

Un ejemplo sencillo es el siguiente:

Options{

Pid-file /var/ru / i d/ru / a ed.pid ;

Dire tory /et / i d ;

)o e . {

Type hint;

File d .root ;

};
3
)o e . . .i -addr.arpa {

Type master;
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

File d .lo al ;

};

)o e 5 . 5 . .i -addr.arpa {

Type master;

File pri. 5 . 5 . .i -addr.arpa ;

};

)o e ido i io. et {
Email: lionheart815@hotmail.com

Type master;

File pri. ido i io. et ;

Manual DNS Y DHCP Linux


};

El archivo de ejemplo named.conf hace referencia a los otros cuatro archivos de


configuración. La tercera línea tiene el directorio /etc/bind.

La sentencia de opciones contiene dos líneas. La primera muestra la localización


de named.pid que solamente contiene el ID del proceso del demonio named que
se está ejecutando. Es muy útil cuando se requiere reiniciar o parar named.

La segunda linea de la sentencia de opciones define el directorio que contiene los


archivos relacionados con su ejecución.

Las sentencias de zona identifican la localización de varios archivos que contienen


la información de configuración. En resumen, named.conf necesita apunta a los
archivos de sentencias de zona:

 Ar hivo Hi ts para la zo a . : Este ar hivo o tie e los o res y las


direcciones de los servidores raíz de internet, named debe conocer las
direcciones de estos servidores para poder empezar a consultar cuando
ninguno de los componentes del dominio solicitado este almacenado en la
cache.
4  Ar hivo lo al host para la zo a . . .i -addr.arpa : El ar hivo
representa su propio sistema (dirección IP 127.0.0.1). La ventaja de estos
archivos de zona local es la de reducir el tráfico y permitir al software
By: John Michel Rivera De León.

funcionar de la misma forma, independientemente de que esté


accediendo a un equipo local o a uno remoto.
 Ar hivo de zo a i versa para la zo a 5 . 5 . .i -addr.arpa : El
archivo convierte las direcciones IP en nombres. Puede reconocer un
archivo de zona inversa porque tiene una extensión in-addr-arpa y usa
registros PTR.
 Archivo de zona primario (para la zo a ido i io. et : Este ar hivo,
algunas veces llamado base de datos de dominios, define la mayor parte
de la información necesario para resolver las consultas sobre el dominio
que administra. El archivo de zona primario asocia nombres a direcciones
Email: lionheart815@hotmail.com

IP y ofrece información sobre los servicios que los equipos ofrecen en


internet.

lionheart815@hotmail.com
DNS Y DHCP Linux
El archivo de configuración por defecto contiene las dos primerias sentencias de
zona. Se deben de añadir entradas para los archivos de zona inversa y zona
primaria. Los archivos de zona usan varios tipos de registros, entre los que se
incluyen:

Manual
SOA: Comienzo de autoridad.
 NS: Servidor de nombres

Email:
 MX: Pasarela de correo, que identifica un servidor de correo en el dominio.
 A: Asocia un nombre de equipo a una dirección.
 CNAME: Nombre canónico, que define un alias para un equipo en un
registro A.
 PTR: Puntero, que asocia direcciones con nombres.

El archivo de zona primaria

Los elementos que contiene este archivo están especificados en el RFC 1035. Si
está usando el conjunto de archivos que la instalación ofrece, debería de asignarle
un nombre a su archivo de zona primaria añadiendo un prefijo a su dominio. Las
primeras líneas de este archivo ofrecen la información necesaria para
sincronizarlo con el servidor secundario:

@ IN SOA server1.midominio.net. root.localhost. {


5
20120124; serial
28800; refresh
7200; retry
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

604800; expiración
86400); mínimo TTL

Eso es un registro SOA. SOA es el comienzo de autoridad, que lo distingue como


información para servidores autoritativos en contraposición con los servidores de
solo cache.

En la primer línea donde se comienza por el símbolo @. De izquierda a derecha los


campos son:


Email: lionheart815@hotmail.com

Name: El nombre raíz de la zona. El símbolo @ es la referencia abreviada a


la zona actual del archivo /etc/named.conf.
 Class: La clase DNS. Existe un número de clases, pero la gran mayoría de

Manual DNS Y DHCP Linux


los sitios usan la clase IN (internet). Las otras clases están para protocolos y
funciones que no son de internet.
 Type: El tipo del registro de recurso DNS. En este caso, es un registro de
recurso SOA.
 Nameserver: El nombre completo del servidor de nombres primario. El
nombre debe terminar con un punto que denote la raíz de la jerarquía DNS
para poder indicar que la ruta es un nombre de dominio completo.
 Dirección de Email: La dirección de correo electrónico de la persona que es
responsable del dominio.

Las siguientes líneas de los registros SOA contienen características para los
servidores esclavos:

 Serial: El número de serie para la configuración actual. Usted incrementa


este número cada vez que hace un cambio en la configuración, por lo que
los servidores esclavos saben cuándo ha actualizado la información. Este
número está en formato de año-mes-día.
 Refresh: El intervalo en el que un servidor DNS esclavo debería sondear al
maestro para determinar si es necesario una transferencia de zona. En el
ejemplo anterior el número 28800 es equivalente a 8hrs.
 Retry: Frecuencia con la que intenta conectarse al maestro si una conexión
6 fallara.
 Expiry: Cantidad de tiempo que un esclavo debería intentar conectar con el
maestro antes de que los datos que contiene caduquen.
By: John Michel Rivera De León.

 Mínimum-TTL: Tiempo de vida por defecto para este dominio en segundos.


86400 es un día, el registro de consultas a cache durara un día.

El registro SOA va seguido de una lista de nombres de equipos de varios tipos:

NS server1.midominio.net.;
NS server2.midominio.net.;

Estos registros NS especifican los servidores de nombres del dominio. Lo siguiente


es un registro MX que identifica el servidor de correo del dominio:

MX 10 server1.midominio.net.
Email: lionheart815@hotmail.com

El registro MX de nuestro archivo de zona primario va seguido por varios registros

lionheart815@hotmail.com
A:

DNS Y DHCP Linux


Midominio.net. A 70.253.258.42

www A 70.253.258.42

server1 A 70.253.158.42

Manual
Un registro A asocio un nombre a una dirección IP.

Email:
Registros A

Los registros NS y MX usan nombres de equipo como midominio.net,


server1.midominio.net, pero el archivo de zona primaria también debe especificar
la dirección IP con la que se deben asociar estos nombres. Los registros A
7ºrealizan esta asociación. En un navegador está acostumbrado a introducir
www.midominio.net, por lo tanto se crea el registro:

www A 70.253.258.42

Las www no van seguidas de un punto, por lo que BIND añade el origen de la
zona.

Registros CNAME

CNAME es la abreviación de nombre canónico, es un alias para un registro A, i.e;

ftp CNAME www 7


Esto quiere decir que ftp.midominio.net es un nombre alternativo para
www.midominio.net.
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

Archivo completo

El archivo de zona pri.midominio.net quedaría de la siguiente forma:

@ IN SOA server1.midominio.net. root.localhost. {

20120124 ;serial
28800; refresh
7200; retry
604800; expiración
86400); mínimo TTL
Email: lionheart815@hotmail.com

NS server1.midominio.net.;
NS server2.midominio.net.;

Manual DNS Y DHCP Linux


;

MX 10 server1.midominio.net.

Midominio.net A 70.253.158.42

www A 70.253.158.42

server1 A 70.253.158.42

server2 A 70.253.158.42

ftp CNAME www

Archivo de zona inversa

Con el archivo de zona primaria completo, los programas pueden buscar el


dominio midominio.net y todos los subdominios DNS. Pero aún se necesita un
archivo de zona inversa. El archivo de zona inversa debería parecerse a lo
siguiente:

@ IN SOA server1.midominio.net. root.localhost. {


8 20120124 ;serial
28800; refresh
7200; retry
By: John Michel Rivera De León.

604800; expiración
86400); mínimo TTL

NS server1.midominio.net.;
NS server2.midominio.net.;

Búsquedas de prueba

Para probar BIND podemos parar y arrancar names así:

/etc/init.d/bind9 stop
Email: lionheart815@hotmail.com

/etc/init.d/bind start

lionheart815@hotmail.com
Ahora podemos probar nuestra configuración haciendo una búsqueda con

DNS Y DHCP Linux


La herramienta de línea de comandos dig.Primero, buscaremos la dirección IP
midominio.net:

Dig midominio.net

Manual
Si resulta correcto, esta búsqueda retorna automáticamente la dirección IP

Email:
70.253.158.42.

Para hace una búsqueda inversa se hace:

Dig –x 70.253.158.42

DHCP

Los servicios de Dymanic Host Configuration Protocol DHCP pueden ayudar a


solucionar problemas asociados con entornos de área local, tales como problemas
de asignación de direcciones IP.

El servidor DHCP asegura que todas las direcciones IP son únicas. Los
administradores pueden escribir archivos de configuración y dejar el resto del
trabajo al servidor DHCP.

Configurando DHCP

Para utilizar DHCP se instala el servidor DHCP. Con la instrucción apt-.get install 9
dhcp3-server. Una vez que se instala, únicamente se debe modificar el archivo
/etc/dhcp/dhcpd.conf. Debería parecerse al siguiente ejemplo:
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

Ddns-update-style interim;

Ignore client-updates;

Subnet 192.168.1.0 netmask 255.255.255.0 {

Option routers 192.168.1.1;

Option subnet-mask 255.255.255.0;

Option domain-name-servers 192.168.1.1;

Default-lease-time 21600;
Email: lionheart815@hotmail.com

Max-lease-time 43200;

Host ns{

Manual DNS Y DHCP Linux


Next-server server1.midominio.net;

Hardware Ethernet 00:7E:24:22:11:C7;

Fixed-address 70.253.158.42;

Aquí se definen las direcciones de los routers y en este caso la dirección MAC de la
interfaz del servidor DNS.

Para iniciar el servicio DHCP se utiliza el comando /etc/init.d/isc-dhcp-server start.

10
By: John Michel Rivera De León.

IMPLEMENTACIÓN DE DNS Y DHCP EN DEBIAN 6 (EJEMPLO)

Este ejemplo está desarrollado en la distribución Debian 6 Squeeze. Se da por entendido que
ha leído y comprende las nociones básicas tanto de DNS y DHCP mencionadas anteriormente.
Los directorios varian dependiendo de la distribucion donde se desarrolle. Por ejemplo en
debían 5 los directorios de DHCP son /etc/dhcp3, mientras que en debían 6 es simplemente
/etc/dhcp.

Lo primero que se debe realizar es descargar el paquete BIND9 para configurar el servidor
DNS. Esto puede realizarse con la instrucción vía consola: apt-get install bind9.

Una vez que se tiene instalado el servidor tratara de iniciarse en automático, esto provocara
un error puesto que no está configurado, no debe preocuparse.
Email: lionheart815@hotmail.com

Antes que nada configuramos la IP statica de nuestro servidor, esto es modificando nuestro

lionheart815@hotmail.com
archivo de interfaces con la instrucción nano /etc/network/interfaces

Manual
Email: DNS Y DHCP Linux

Definimos la dirección IP de nuestra máquina que usaremos como servidor DNS así como la
máscara, servidor DNS y la dirección de broadcast. Esta dirección IP la utilizaremos en los
archivos de BIND para configurar el servidor DNS.

Una vez configurada nuestra ip estatica cargamos la nueva configuración para nuestra interfaz
con la instrucción /etc/init.d/networking restart
11
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

Ahora debemos ubicarnos en la carpeta /etc/bind, suponiendo que se encuentra en debían 6.


Primero modificamos el archivo llamado named.conf, esto con la instrucción nano
named.conf
Email: lionheart815@hotmail.com

Manual DNS Y DHCP Linux


Dentro de este archivo se definen los archivos fuentes a cargar y que se crearan más adelante.
Así mismo se incluye la llave ubicada en el mismo directorio. Una vez realizado este pasó, se
procede a modificar el archivo named.conf.options nuevamente con la instrucción nano
named.conf.options, debería parecerse a lo siguiente:

12
By: John Michel Rivera De León.

Ahora modificamos el archivo principal con la instrucción nano named.conf.local:


Email: lionheart815@hotmail.com

lionheart815@hotmail.com
Manual
Email: DNS Y DHCP Linux

Dentro de este archivo se definen las zonas y el archivo de base de datos que contienen sus
instrucciones. De igual forma se especifica el tipo pudiendo ser maestro o esclavo.

Ahora creamos los archivos de base de datos que definimos en named.conf.local, que son
d .thega gasso y d . . . ta to para la zo a pri ipal así o o la i versa.

Primero creamos db.thegangasso con la instrucción nano db.thegangasso. Puede llamarse de


cualquier otra forma de acuerdo al dominio que elijan.

13
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com
Email: lionheart815@hotmail.com

Manual DNS Y DHCP Linux


Si leyó las secciones anteriores comprenderá el contenido de este archivo, si no, recomiendo
que lo lea para saber qué es lo que hace. De igual manera creamos db.192.77.0.

Una vez que ya configuramos BIND y creamos sus archivos que sirven como bases de datos,
modificamos finalmente el archivo resolv con la instrucción nano /etc/resolv.conf

14
By: John Michel Rivera De León.

En el configuramos el dominio y el nombre del servidor. Una vez finalizados estos paso
iniciamos BIND con la instrucción /etc/init.d/bind9 start

Si todo fue configurado correctamente debería iniciar sin problemas, de lo contrario se


necesita ver el archivo syslog para ver el error, este se encuentra en /etc/var/log/syslog

Al final del archivo syslog se encontrara de manera detallada cual fue el error. Por lo general
esto se debe a falta de puntos o comas.
Email: lionheart815@hotmail.com

Para probar si funciona nuestro servidor DNS utilizamos la herramienta dig, en consola
utilizamos el comando dig thegangasso.com . En caso suyo el dominio que especificaron

lionheart815@hotmail.com
Manual
Email: DNS Y DHCP Linux

Por ultimo probamos la zona inversa con dig –x 192.77.0.1

15
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com
Email: lionheart815@hotmail.com

De igual forma probamos nuestro dominio haciendo ping al nombre de dominio:

Manual DNS Y DHCP Linux

Por ultimo probamos con nslookup:

16
By: John Michel Rivera De León.

Con esto comprobamos que nuestro servidor DNS funciona correctamente.


Email: lionheart815@hotmail.com

lionheart815@hotmail.com
DNS Y DHCP Linux
DHCP DHCP3-SERVER ISC-DHCP

Primero instalamos los paquetes dhcp3server y isc-dhcp-server con nuestra consola via apt.

Manual
Introducimos en consola apt-get install dhcp3-server y lo mismo hacemos para apt-get

Email:
install isc-dhcp-server.

Esto es bastante corto ya que únicamente debemos configurar dos archivos, el primero es
para definir la interfaz donde se escucharan las peticiones, en este archivo se define la
interfaz de la NIC a utilizar. Introducimos en consola el comando nano /etc/default/isc-dhcp-
server , definimos entre las comillas la interfaz.

17

Una vez completado esto, pasamos a modificar el archivo principal encargado de asignar las
direcciones dentro del rango especificado. Este archivo es dhcpd.conf y está ubicado en
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

/etc/dhcp/. Con la consola modificamos el archivo con el comando nano


/etc/dhcp/dhcpd.conf Debería parecerse a lo siguiente:
Email: lionheart815@hotmail.com

Manual DNS Y DHCP Linux

Una vez configurado correctamente iniciamos el servicio con la instrucción /etc/init.d/isc-


dhcp-server start

Para probar el servidor DHCP debemos conectar un switch o hub a nuestra NIC de nuestra
máquina y conectar otra máquina al hub o switch. Si todo sale bien debe asignarle una ip
dentro del rango que establecimos en el archivo dhcpd.conf

IMPORTANTE: Si va a probar el servidor DHCP de maquina a máquina es importante utilizar un


cable trenzado de maquina a máquina o de lo contrario no funcionara. Puede buscar en
18 internet la configuración para hacer su cable par trenzado de máquina a máquina usted
mismo.
By: John Michel Rivera De León.

Si configuro todo correctamente puede montar un servidor apache tomcat en su servidor DNS
y podrá acceder por otros equipos que tengan una ip dentro del rango de su servidor DHCP a
las páginas de tomcat sin tener que recordar la ip de la máquina, sino simplemente
introduciendo el dominio y la pagina como se muestra a continuación;
Email: lionheart815@hotmail.com

lionheart815@hotmail.com
Manual
Email: DNS Y DHCP Linux
Con esto se da por terminado este manual básico para configurar un servidor DNS y DHCP en
Linux.

19

Referencias:
By: John Michel Rivera De León.
Email: lionheart815@hotmail.com

1. RFC-1034
2. RFC-1035
Email: lionheart815@hotmail.com

Manual DNS Y DHCP Linux

20

También podría gustarte