
Queremos instalar un servidor DCHP en la red de un instituto, de forma que centralice la red y reparta las IP (y configuración de red) a cada uno de los ordenadores automáticamente. Queremos que los ordenadores salgan a internet, por lo tanto necesitamos realizar el proceso de NAT, que explicamos en la entrada anterior.
Para poder montar el servidor DHCP primero tenemos que instalarlo, así que ejecutamos lo siguiente:
apt-get install isc-dhcp-server
Cuando lo instalemos nos dará un error, eso es porque no tenemos el servidor configurado. Aquí puedes ver el error:

Para eliminar ese error vamos a configurar el servidor, para ello debemos modificar varios archivos:
- /etc/default/isc-dhcp-server - /etc/dhcp/dhcpd.conf
Primero editaremos con «nano» el fichero «/etc/default/isc-dhcp-server», tenemos que editar la siguiente línea y añadir nuestra tarjeta de red interna, es decir, la que da hacia los clientes:
INTERFACESv4="enp0s8"
Una vez que hemos especificado la tarjeta por la que trabajará nuestro servidor dhcp, ahora tenemos que configurar el ámbito, y eso se realiza en el fichero /etc/dhcp/dhcp.conf:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.3 192.168.1.253;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
option domain-name-servers 8.8.8.8, 192.168.202.2;
}
Aquí tienes un ejemplo de mi fichero:

Voy a explicar para qué sirve cada parámetro configurado:
Subnet: Especificas la red que va a administrar el servidor.
Netmask: Indicas la máscara de red
Range: Rango de IP que el servidor va a repartir
Option broadcast-address: Dirección de broadcast
Option Domain-name servers: Servidores DNS
Una vez hayamos configurado los dos ficheros reiniciamos el servidor con:
systemctl restart isc-dhcp-server.service

Si no tenemos el servidor bien configurado, el comando anterior fallará. El principal error suele ser en un fallo de escritura a la hora de configurar alguno de los archivos anteriormente nombrados, así que procura mirar bien todo lo que escribes para evitar fallos.
¿Funcionará?
Iniciaremos los clientes para comprobar si funciona, pero antes de eso tendremos que configurar los clientes de forma que reciban su configuración de red por DHCP:
Windows
Configuramos Windows para que coja IP por DCHP:

Realizamos el siguiente comando para soltar la IP que tenía antes:
ipconfig /release
Y renovamos la IP, pero esta vez nos la dará el servidor DHCP:
ipconfig /renew
Te muestro los dos procesos:


Ahora vamos a comprobar que nuestro cliente Windows sale a internet:

Nuestro cliente Windows funciona correctamente por DHCP.
Debian
Editamos el fichero «/etc/network/interfaces » y configuramos para que su configuración de red la coja por DHCP:

Reiniciamos el servicio de red con:
/etc/init.d/networking restart
Comprobamos que tenemos la IP correspondiente:

Y por último, comprobamos si tenemos internet:

Efectivamente, hace NAT y podemos acceder a internet.
¿Cómo se hacen las reservas?
Hacer una reserva es asignarle una IP a un cliente concreto, cada vez que ese cliente inicie sesión en su sistema operativo, el servidor DHCP le asignará una misma IP siempre. Para realizar esto necesitamos las MAC de las tarjetas de red de los clientes a los que vamos a asignar una reserva.
Para empezar vamos a asignarle una reserva a nuestro cliente Windows, en esto caso escogeremos la IP 192.168.1.50, así que primero tendremos que averiguar la MAC de nuestro cliente Windows, que se consigue con un:
ipconfig /all

Nos dirigimos ahora a nuestro servidor DHCP, y editamos el fichero «/etc/dhcp/dhcpd.conf»,y añadimos lo siguiente:
host nombre_del_equipocliente {
hardware ethernet MAC_Cliente;
fixed-address IP_que_queremos_reservar;
Yo he tenido que introducir estos parámetros:

Reiniciamos el servidor DHCP, y ya habríamos terminado en nuestro servidor.
Una vez hecho esto, en el cliente Windows soltamos la IP con «ipconfig /release» y renovamos la ip con «ipconfig /renew» para ver si obtenemos la IP reservada:

La reserva funciona perfectamente, ahora siempre que iniciemos nuestro cliente Windows 7, iniciará con la misma IP (192.168.1.50).
