DHCP viene de inglés Dynamic Host Configuration Protocol (protocolo de configuración dinámico de los host) y permite configurar las direcciones IP y sus correspondientes máscaras de manera automática, además de las puertas de enlace.
Por ejemplo, tenemos una empresa con 50 equipos y no tenemos tiempo ni deseo de configurar sus direcciones IP de manera manual. Para ello, se dedica a esta tarea un servidor DHCP que va a repartir esas direcciones a los clientes, de manera que en estos últimos no hará falta realizar ninguna configuración manual. Simplemente se tendría que poner la obtención automática de la dirección IP y de lo demás se encargaría el servidor.
En este tutorial vamos a ver la implantación de los servidores DHCP en entornos GNU/Linux.
2. Empezamos. Actualizamos los repositorios.
Partiremos
del punto cuando ya tenemos instalado el Ubuntu Server en una máquina. Las
pruebas de contexto serán realizadas en VirtualBox.
Para
realizar las primeras configuraciones nos aseguramos de que tenemos configurada
la red en modo NAT.
Nos situamos en modo root para poder modificar los ficheros
del sistema más en adelante:
Actualizamos
los repositorios y las librerías del sistema para que el servidor que
instalaremos a continuación pueda funcionar correctamente.
apt-get update
apt-get install dkms
apt-get install build-essential
reboot (reinicia la máquina)
Si nos
dan errores al ejecutar el primer comando nos aseguraremos de que la
configuración de red de nuestra máquina es la correcta.
3. Instalamos el servidor.
Utilizaremos el
ISC-DHCP-SERVER Atención! Es
imprescindible poner la máquina virtual o real en módo sólo anfitrion o Red
interna antes de proceder con la configuración del servidor (para evitar
conflictos con los servidores DHCP legítimos).
Ejecutamos
el comando apt-get
install isc-dhcp-server para
instalar el servidor DHCP.
Si nos
salen errores de cabeceras nos aseguraremos de que en la máquina virtual
tenemos configurada la red en modo NAT y la interfaz ethernet correspondiente
coge la configuración IP via DHCP. Sería un error configurar la IP estática
antes de instalar el ISC-DHCP-SERVER, ya que el sistema no sería capaz de
resolver el nombre del dominio del repositorio.
4. Asignamos una @IP fija.
Para ello tendremos que configurar el fichero /etc/network/interfaces. Yo voy a emplear editor Nano para hacerlo.
No olvidamos de ejecutar sudo su antes
de editarlo o, bien, poner sudo delante
del comando.
Configuramos
el tipo de interfaz (static), la dirección IPv4 del servidor, dirección de red,
máscara, dirección broadcast, y en caso de su necesidad, la puerta de enlace
(yo no la voy a configurar).
Guardamos
la configuración mediante Ctrl^X y después pulsamos Y para confirmar. Pulsamos intro para confirmar el
nombre del fichero (no lo cambiamos!!!).
Nos
aseguramos de que la dirección IPv4 se ha asignado correctamente en la
interfaz. Para ello ejecutamos ifconfig. Si vemos que tenemos asignada una IP
que no es la que especificamos ejecutamos ifdown INTERFAZ && ifup
INTERFAZ (ej: ifdown
eth0 && ifup eth0).
5. Procedemos con la configuración del servidor mediante el fichero /etc/dhcp/dhcpd.conf
Antes que nada realizamos una backup del archivo de configuración del servidor. Para ello ejecutamos: cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
Procedemos
con la configuración del archivo /etc/dhcp/dhcpd.conf.
Para ello lo abrimos con un editor de texto e introducimos los siguientes
parámetros: subnet (la red en la que
vayamos a estar), range (el
intervalo de direcciones que se van a repartir), option domain-name (nombre del dominio). Si es necesario,
especificamos tambien la puerta de enlace repartida con el parametro option router. Guardamos los cambios y
reiniciamos el servicio DHCP mediante /etc/init.d/isc-dhcp-server start. El
contenido del archivo configurado quedaría de siguiente forma:
6. Pruebas.
Para
realizar las pruebas de funcionamiento voy a emplear una máquina virtual con
Windows 7 SP1 y otra con Ubuntu Desktop (14.04).
Prueba con cliente Windows 7
Para evitar
conflictos con otros servidores DHCP ponemos tanto servidor como cliente en Red
interna. De esta forma solo se van a poder comunicar entre ellos.
Tras
arrancar el sistema entramos en la linea de comandos de Windows. Para ello
pulsamos Win+R y tecleamos CMD.
Introducimos
el comando ipconfig y contemplamos el resultado. En mi caso ha
funcionado a la primera, he recibido la configuración IP de mi servidor. Pero
si visualizáis una IP del rango 169.X.X.X significa que la IP ha sido brindada
por el propio sistema operativo. Para renovarla ejecutamor primero ipconfig
/release y a continuación ipconfig /renew. Si tras introducir estos
comandos seguís viendo la 169.X.X.X significa que el cliente no reconoce
vuestro serivodr DHCP. Habría que comprobar la configuración del servidor y
reiniciar el servicio de reparto de direcciones.
Prueba con cliente GNU/Linux (Ubuntu Desktop)
Iniciamos
nuestra máquina virtual con Ubuntu Desktop, ponemos la configuración de red en
modo Red interna e iniciamos el intérprete de comandos.
Ejecutamos
el comando ifconfig ó ifconfig INTERFAZ (ej: ifconfig eth0)
para ver la configuración de nuestra interfaz de red. Como podemos ver, la
dirección IP asignada es la 192.168.0.3 que viene a ser la seguiente después de
192.168.0.2, asignada a nuestra máquina con Windows 7.
Si no os
recibe correctamente la configuración via DHCP aseguraros de que la red de la
máquina está en modo de red interna. También podríamos comprobar la
configuración del archivo /etc/network/interfaces
en caso necesario, añadiéndole la línea iface
eth0 inet dhcp, pero en principio no hace falta, de hecho en Ubuntu de
escritorio ese fichero ni incluye la configuración de la eth0 de manera
predeterminada, como vemos a continuación:
7. Configuramos el reparto de direcciones fijas a determinadas direcciones MAC
Para ello
vamos al fichero de configuración de /etc/dhcp/dhcpd.conf
y añadimos cada host de siguiente manera, especificando su nombre, dirección IP
concedida y su dirección física. Además, está dirección tendrá que estar fuera
de la pool de direcciones especificada anteriormente. En mi caso fuera de
192.168.0.2-192.168.0.100
Si
necesitamos que el servidor reparta más de una IP fija, repetimos el
procedimiento.
Para averiguar la dirección física
(MAC) del adaptador de red en sistemas Windows ejecutamos ipconfig /all en la línea
de comandos. En entornos GNU/Linux ejecutaremos el comando ifconfig.
Vamos a la
línea de comandos de nuestro cliente y tecleamos ipconfig. Nos aseguramos de que
ha recibido una dirección IPv4 que especificamos en /etc/dhcp/dhcpd.conf del servidor.
Que bueno tu blog!! Ánimo, sigue adelante!!! Tooo Fan tuyoooo!!!
ResponderEliminar