¿Que es DHCP?
Un servidor Dynamic Host Configuration Protocol (DHCP) asigna dinámicamente las direcciones IP y otras configuraciones de una red determinada a otros ordenadores clientes que estan conectados a la red. Esto simplifica la administración de la red y hace que la conexión de nuevos equipos a la red sea mucho más fácil.
Todas las direcciones IP de todos los equipos se almacenan en una base de datos que reside en un servidor.
Un servidor DHCP puede proporcionar los ajustes de configuración utilizando dos métodos
Rango de Direcciónes
Este método se basa en la definición de un grupo de las direcciones IP para los clientes DHCP (tambien llamado IP address pool) que suministran sus propiedades de configuración de forma dinámica según lo soliciten los ordenadores cliente. Cuando un cliente DHCP ya no está en la red durante un período determinado, la configuración vence y la dirección ip del poll es puesta en libertad el uso de otros clientes DHCP.
Dirección MAC
Este método se basa en utilizar el protocolo DHCP para identificar la dirección de hardware única de cada tarjeta de red conectada a la red y luego es asignada una configuración constante asi como la misma dirección IP cada vez que la configuración de DHCP del cliente realiza una petición al servidor DHCP desde el mismo dispositivo de red.
Vamos al turrón. A continuación vamos a instalar un servidor DHCP cuyas explicaciones son totalmente compatible tanto para Ubuntu como Debian, como root de la siguiente forma:
# apt-get install isc-dhcp-server
En el caso que tengan dos interfaces de red (NIC) en su servidor Linux tienen que seleccionar cual van a utilizar para escuchar las peticiones DHCP. Para configurar el servicio, editamos el archivo /etc/default/isc-dhcp-server, y cambiamos la línea INTERFACES=»eth0″ por la tarjeta de red interna que corresponda.
A continuación configuraremos el servidor utilizando el método de rango de IP’S o usando el metodo de direcciones MAC o ambos combinados de la siguiente forma:
Configurar utilizando el método de rango de direcciones (IP pool)
Editamos la configuración tecleando:
# nano /etc/dhcp/dhcpd.conf
Y en este archivo cambiamos las siguientes secciones
subnet 192.168.1.0 netmask 255.255.255.0 {
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.9, 192.168.1.10;
option domain-name «guatewireless.org»;
range 192.168.1.10 192.168.1.200;
}
Guardamos y salimos del archivo. El texto anterior configura el servidor DHCP con los siguientes parámetros:
- Asignacion a los clientes direcciones IPs del rango de 192.168.1.10 hasta 192.168.1.200
- Prestara la direccion IP por un mínimo de 600 segundos, y como máximo permitido de 7200 segundos.
- Determina la mascara de subred a 255.255.255.0
- Dirección de broadcast de 192.168.1.255
- Como gateway/pasarela de red/router la dirección 192.168.1.1
- Y los servidores 192.168.1.9 y 10 como sus servidores DNS
Configurar utilizando el método de direcciones MAC
Con este método se puede reservar algunas o todas las direcciones IP de nuestra red para determinadas maquinas. Como podrán ver la configuración es muy parecida a la anterior, con la salvedad que para reservar la asignación de una IP a una determinada NIC (network card interface) debemos de utilizar la etiqueta host de la forma:
subnet 192.168.1.0 netmask 255.255.255.0 {
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.9, 192.168.1.10;
option domain-name «guatewireless.org»;
range 192.168.1.10 192.168.1.200;
}host oracle{
hardware ethernet 00:03:47:31:e1:7f;
fixed-address 192.168.1.20;
}
host printer {
hardware ethernet 00:03:47:31:e1:b0;
fixed-address 192.168.1.21;
}
Ahora reiniciamos el servidor dhcp ejecutando el siguiente comando:
# /etc/init.d/dhcp3-server restart
Para saber que direcciones IPs han sido asignadas y a que equipo, lo podemos ver en:
# nano /var/lib/dhcp3/dhcpd.leases
Y ya tenemos un servidor DHCP funcionando.