15 de junio de 2011

Configurar un Servidor DHCP


En un gran centro de trabajo la configuración y modificación de las direcciones IP de los equipos de los departamentos obliga al administrador de la red a desplazarse hasta el equipo y configurar la IP.

A vez por las circunstancias o los movimientos de las ubicaciones físicas de los equipos el administrador de la red se ve obligado a realizar modificaciones en la dirección IP o puerta de enlace. Estos cambios pueden crean conflictos a medida que la red crece, por lo que es lógico instalar un sistema que asigne a cada máquina cuando inicie sesión una dirección IP, una máscara, una puerta de enlace y un servidor DNS que le permitan la salida a Internet y el acceso a los servicios de la Intranet para facilitar esta tarea podemos instalar un Servidor DHCP.

Un Servidor DHCP o Protocolo de Configuración Dinámica de Host (DHCP, Dynamic Host Configuration Protocol) es un estándar TCP/IP diseñado para simplificar la administración de la configuración IP de los equipos de una red.

Un servidor DHCP asigna la IP de los equipos de forma automática, de manera que recibe peticiones de clientes solicitando una IP y el servidor responderá a dichas peticiones proporcionando los parámetros que permitan a los clientes configurarse.

Para que un PC solicite la configuración a un servidor, en la configuración de red de los PCs hay que seleccionar la opción 'Obtener dirección IP automáticamente'.

El servidor proporcionará al cliente los siguientes parámetros:
  • Dirección IP.
  • Máscara de Subred.
Y opcionalmente, el servidor DHCP podrá proporcionar otros parámetros de configuración como:
  • Puerta de enlace.
  • Servidores DNS.
  • Muchos otros parámetros más.

El servidor DHCP evita conflictos de direcciones repetidas y mantiene una administración centralizada de las direcciones IP utilizadas en la red. El servidor sólo asigna direcciones dentro de un rango prefijado, éste proporcionará, la dirección IP para un periodo predeterminado que le permitirá comunicarse con la red.

Cuando haya transcurrido el 50% de este periodo, el cliente solicitará una renovación de la dirección IP.

Cuando arrancamos el PC la IP se determina por DHCP, y pueden darse dos situaciones:
  • Si la concesión de la IP ha caducado, el cliente solicitará una nueva.
  • Si la concesión de la IP no ha caducado, el cliente intentará renovar su concesión para que sea asignada la misma dirección IP.
Algunos términos importantes que vamos a utilizar, antes de instalar el servidor DHCP, son:
  1. Ámbito servidor DHCP: Un ámbito es un agrupamiento administrativo de equipos o clientes de una Subred que utilizan un servicio DHCP.
  1. Rango servidor DHCP: Un rango está definido por un grupo de direcciones IP de una Subred, por ejemplo de 192.168.0.1 a 192.168.0.254, que el servidor DHCP puede conceder a los clientes.
  1. Concesión de direcciones: Es el período de tiempo durante el cual un equipo cliente puede utilizar una dirección IP asignada.
  1. Reserva de direcciones IP: Consiste en reservar algunas direcciones IP para asignárselas siempre a los mismos PCs de forma que siempre reciba la misma dirección IP. El servidor DHCP asocia unas direcciones MAC a unas determinadas direcciones IP. Es una opción muy interesante para asignar a PCs, como: servidores, impresoras de red, etc. que siempre tiene que tener misma IP.

Instalación del servidor DHCP

Para instalar los archivos necesarios de un servidor DHCP podemos utilizar apt-get desde una consola:

aceitunero@Pc15:~$ sudo apt-get install dhcp3-server

De esta forma instalaríamos los programas necesarios del servidor DHCP.

Configuración del servidor DHCP

Un servidor DHCP proporciona direcciones IP y otros parámetros a los clientes de forma que su configuración se puede determinar de manera automática lo cual es muy útil cuando el número de PCs de la red local es grande.

El servidor DHCP deberá saber qué rangos de direcciones IP puede 'alquilar' y otros parámetros adicionales, como: puerta de enlace, servidores DNS, etc., debe proporcionar a los clientes para que la configuración sea la deseada.

Una configuración TCP/IP mínima debe tener al menos la dirección IP y la máscara de Subred, ya que son los dos mínimos datos que un servidor DHCP puede proporcionar a un cliente, no obstante, un servidor DHCP pueden proporcionar muchos más parámetros, como:
  • Dirección IP
  • Máscara de Subred
  • Dirección de difusión o broadcast
  • Puerta de enlace
  • Servidores DNS, etc...
Además, existen una serie de parámetros que definen las condiciones del 'alquiler' o cesión de la configuración IP a un cliente como son:
  • Tiempo de cesión por defecto.
  • Tiempo de cesión máximo.
  • Y algunos parámetros más.

Archivo de configuración del servidor DHCP

Al igual que todas las aplicaciones en Linux, el servidor DHCP dispone de un archivo de configuración, el archivo de configuración del servidor DHCP se encuentra en: /etc/dhcp3/dhcpd.conf

Este archivo de configuración consta de una parte principal donde se especifican los parámetros generales que definen el 'alquiler' y los parámetros adicionales que se proporcionarán al cliente.

El resto del archivo de configuración consta de una serie de secciones que especifican los
rangos de direcciones IPs que serán cedidas a los clientes que lo soliciten (sección subnet) y especificaciones concretas de equipos (sección host). Los parámetros de las secciones deberán ir entre llaves '{ }'.

Los valores de los parámetros especificados al principio del archivo se aplican como valores por defecto al resto de secciones se redefine los parámetros, que se aplicarán e ignorándose el valor por defecto.

Los rangos de direcciones IP se especifican en secciones que empiezan con la palabra clave 'subnet' seguido de la dirección de red de la Subred, continua con la palabra 'netmask' seguido de la máscara de red. A continuación estará la lista de parámetros para dicha sección encerrados entre llaves '{ }'.

Ejemplo, supongamos que en nuestra red local disponemos de direcciones pertenecientes a la Subred 192.168.1.0/24, es decir, /24 significa máscara de Subred es 255.255.255.0 ó 24 'unos' en binario (11111111.11111111.11111111.11111111.00000000) y deseamos que nuestro servidor DHCP alquile direcciones del rango comprendido entre la dirección 192.168.1.60 y 192.168.1.90.

La sección subnet que debemos crear será para el rango de cesión:

subnet 192.168.1.0 netmask 255.255.255.0
{
range 192.168.1.60 192.168.1.90;
}

El rango de cesión debe pertenecer a la misma Subred a la que pertenece la IP del servidor, para que los clientes puedan comunicarse con el servidor DHCP. Por ejemplo, si un servidor tiene la IP 192.168.1.1/24, no puede ceder direcciones del rango 10.0.0.0/8 porque dicho rango está fuera del alcance de la Subred del servidor.

Si además de proporcionar al cliente la dirección IP y la máscara deseamos que le proporcione también la dirección de la puerta de enlace y las direcciones de dos servidores DNS para que pueda navegar por Internet, la sección subnet que debemos crear será:

subnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.254;
option domain-name-servers 80.58.0.33, 80.58.32.97;
range 192.168.1.60 192.168.1.90;
}

Se puede establecer una configuración concreta a un cliente identificándolo por la dirección MAC de su tarjeta de red. La dirección MAC es un número único, grabado en la memoria ROM de las tarjetas de red Ethernet. Este número está formado por 6 octetos en hexadecimal separados por dos puntos ':'. Los tres primeros octetos indican el fabricante y los tres siguientes el número de serie en fabricación.

En Linux se puede averiguar la dirección MAC mediante el comando ifconfig y en Windows se puede utilizar el comando ipconfig.

Para establecer una configuración de un equipo es necesario crear una sección host. Por ejemplo, si deseamos que el cliente cuya dirección MAC sea 00:00:00:CC:CC:CC se configura siempre con una reserva de dirección IP, cuya dirección IP es, por ejemplo 192.168.1.50 y puerta de enlace 192.168.1.1, y su nombre de dominio sea "netinse.com" y el servidor de nombres netbios sea "192.168.1.2" la sección host que debemos crear será:
host Pc050
{
hardware Ethernet 00:00:00:CC:CC:CC;
fixed-address 192.168.1.50;
option routers 192.168.1.1;
option domain.name "netinse.com";
option netbios-name-servers 192.168.1.2;
}

Cuando el Pc050 que tiene una dirección MAC: 00:00:00:CC:CC:CC solicite una dirección IP al servidor DHCP, recibirá la 192.168.1.50.

Archivo dhcpd.conf comentado

Vamos a mostramos un archivo dhcpd.conf comentado línea por línea, es decir, que las líneas que comienzan por almoadilla (#) son comentarios. Las líneas que especifican parámetros deben terminar en punto y coma ';'.

Un ejemplo de archivo dhcp.conf:

# Opciones de cliente y de dhcp aplicables por defecto a todas las secciones
# Estas opciones pueden ser sobrescritas por otras en cada sección
# DNS para los clientes, por ejemplo la IP de servidor DNS del domino

option domain-name-servers 195.53.123.57;

# Nombre de dominio para los clientes
option domain-name "netinse.com";

# Máscara por defecto para los clientes

option subnet-mask 255.255.255.0;

# Tiempo en segundos del 'alquiler'

default-lease-time 600;

# Máximo tiempo en segundos que durará el 'alquiler'
max-lease-time 7200;

# Especificación de un rango

subnet 192.168.1.0 netmask 255.255.255.0
{
range 192.168.1.60 192.168.1.80; # Rango de la 60 a la 80
option broadcast-address 192.168.1.255; # Dirección de difusión
option routers 192.168.1.1; # Puerta de enlace
option domain-name-servers 8.8.8.8; # DNS
default-lease-time 6000; # Tiempo
}

# Configuración particular para un equipo

host Pc06
{
hardware Ethernet 00:ff:ff:ff:ff:ff; # Dirección MAC del host
fixed-address 192.168.1.59; # IP que se le reseva
}

Si el servidor tiene varias interfaces de red, será necesario indicar la interfaz por la cual se va a ofrecer el servicio DHCP. Para ello, tendremos que editar el archivo /etc/default/dhcp3-server.

Ejemplo, si el servidor dispone de la interfaz eth0 y la interfaz eth1, y queremos ofrecer el servicio por ambas interfaces, editamos el archivo /etc/default/dhcp3-server y añadir el parámetro INTERFACES:

INTERFACES="eth0 eth1"

Para otras opciones de configuración del servidor DHCP, se puede consultar la configuración del servidor DHCP con el comando:

aceitunero@Pc15:~$ man dhcpd.conf

Si el servidor DHCP da un error al intentar arrancarlo, casi siempre es porque el rango de cesión está en un rango diferente de la dirección IP del servidor, examinando las últimas líneas del archivo log del sistema. Para ver los log del sistemas ejecutamos el comando:

aceitunero@Pc15:~$ tail -n 20 /var/log/syslog

Se verán las últimas 20 líneas del archivo log del sistema

Arranque y parada manual del servidor DHCP
El servidor DHCP, al igual que todos los servicios en Linux, dispone de un script de arranque y parada en la carpeta /etc/init.d.

Para arrancar el servidor DHCP

aceitunero@Pc15:~$ sudo /etc/init.d/dhcp3-server start

Parar el servidor DHCP:

aceitunero@Pc15:~$ sudo /etc/init.d/dhcp3-server stop

Reiniciar el servidor DHCP:

aceitunero@Pc15:~$ sudo /etc/init.d/dhcp3-server restart 

Espero que os sea de ayuda a todos un saludo:

Antonio

No hay comentarios:

Publicar un comentario

No olvides dejar tu comentario y gracias por tu tiempo ;-)