Instalación de servidor DHCP

A continuación vamos a explicar como configurar un servidor DHCP en nuestro Debian, de esta forma automatizaremos la configuración de red de los clientes y facilitaremos la organización de direcciones IP de nuestra red

Instalación y configuración del servicio DHCP

El primer paso para instalar nuestro DHCP es instalar el paquete necesario con apt-get install isc-dhcp-server .

Una vez instalado vamos a configurar la interfaz por la que va a repartir direcciones, para ello editamos el fichero /etc/default/isc-dhcp-server y configuramos que la interfaz de red por la que reparta direcciones sea eth1 modificando la siguiente linea INTERFACES="eth1" .

El siguiente paso sera configurar nuestra red en el fichero de configuración /etc/dhcp/dhcpd.conf , hay varias opciones entre las que elegir, en mi caso lo he configurado de la siguiente forma

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.100;
option domain-name "manuelmachado.com";
option routers 192.168.1.254;
option broadcast-address 192.168.1.255;
default-lease-time 1200;
max-lease-time 1500;
option domain-name-servers 192.168.102.2;
}

Las diferentes opciones que podemos configurar son:

  • default-lease-time: Tiempo de renovación de la concesión
  • max-lease-time: Tiempo de la concesión de la dirección IP
  • option routers: Puerta de enlace
  • option domain-name-server Dirección IP de los servidores DNS
  • option domain-name : Nombre de dominio
  • option broadcast-address : Dirección de difusión de la red

A continuación reiniciamos el servicio DHCP con systemctl restart isc-dhcp-server.

Configuración de clientes

Como paso final solo queda configurar nuestros clientes para que obtengan la configuración de red de forma automática.

  • En el caso de Linux editamos el fichero /etc/network/interfaces y modificamos la linea de eth0 de la siguiente forma
auto eth0
iface eth0 inet dhcp
  • En el caso de Windows accedemos a «Panel de control –> Redes e internet –> Centro de redes y recursos compartidos –> Cambiar la configuración del adaptador –> Conexión de area local –> propiedades» seleccionamos la sección «TCP/IPv4» y hacemos click en propiedades. Marcamos las opciones «Optener una dirección IP automáticamente» y «Obtener la dirección del servidor DNS automáticamente»

Prueba de funcionamiento del DHCP

Para comprobar las concesiones que ha dado nuestro servidor hacemos un cat /var/lib/dhcp/dhcpd.leases y las 2 primeras concesiones del archivo son las últimas IPs ofrecidas

lease 192.168.1.3 {
starts 2 2017/01/17 11:22:03;
ends 2 2017/01/17 11:26:44;
tstp 2 2017/01/17 11:26:44;
cltt 2 2017/01/17 11:22:03;
binding state free;
hardware ethernet 08:00:27:a8:01:43;
uid "\001\010\000'\250\001C";
}
lease 192.168.1.2 {
starts 2 2017/01/17 11:21:16;
ends 2 2017/01/17 11:27:46;
tstp 2 2017/01/17 11:27:46;
cltt 2 2017/01/17 11:21:16;
binding state free;
hardware ethernet 08:00:27:09:28:a2;
}

Ahora vamos a ver las IP que tienen nuestros clientes:

  • Con Windows en un terminal ejecutamos ipconfig
Configuración IP de Windows


Adaptador de Ethernet Conexión de área local:

Sufijo DNS específico para la conexión. . : manuelmachado.com
Vínculo: dirección IPv6 local. . . : fe80::618d:9143:206f:fe12%11
Dirección IPv4. . . . . . . . . . . . . . : 192.168.1.3
Máscara de subred . . . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . . . : 192.168.1.254

Adaptador de túnel isatap.manuelmachado.com:

Estado de los medios. . . . . . . . . . . : medios desconectados
Sufijo DNS específico para la conexión. . : manuelmachado.com
  • Con Linux ejecutamos un ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:09:28:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe09:28a2/64 scope link
valid_lft forever preferred_lft forever

Reserva de IP

Ahora nuestro servidor DHCP está configurado pero vamos a suponer que algunos de nuestros clientes requieren una IP fija, en este caso tendremos que hacer reservas de IP para que el DHCP siempre le ofrezca la IP que le digamos a nuestro cliente, para ello editamos el fichero de configuración /etc/dhcp/dhcp.conf y agregamos una linea de texto de esta forma

host penny{
hardware ethernet 08:00:27:A8:01:43;
fixed-address 192.168.1.50;
}
host leonard{
hardware ethernet 08:00:27:09:28:a2;
fixed-address 192.168.1.60; 
}

Como vemos en el ejemplo tenemos que saber la MAC de nuestro cliente y la IP que queremos reservarle

Prueba de funcionamiento de concesiones

Comprobamos el fichero de las concesiones en nuestro servidor situado en /var/lib/dhcp/dhcpd.leases y comprobamos las concesiones.

lease 192.168.1.50 {
starts 2 2017/01/24 12:47:20;
ends 2 2017/01/24 12:56:07;
tstp 2 2017/01/24 12:56:07;
cltt 2 2017/01/24 12:47:20;
binding state free;
hardware ethernet 08:00:27:a8:01:43;
uid "\001\010\000'\250\001C";
}
lease 192.168.1.60 {
starts 2 2017/01/24 12:46:51;
ends 2 2017/01/24 12:58:25;
tstp 2 2017/01/24 12:58:25;
cltt 2 2017/01/24 12:46:51;
binding state free;
hardware ethernet 08:00:27:09:28:a2;
}

Igual que en el punto anterior comprobamos las IP de nuestros clientes:

Linux

 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:09:28:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.60/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe09:28a2/64 scope link
valid_lft forever preferred_lft forever

Windows

 Adaptador de Ethernet Conexión de área local:

   Sufijo DNS específico para la conexión. . : example.org
   Vínculo: dirección IPv6 local. . . : fe80::618d:9143:206f:fe12%11
   Dirección IPv4. . . . . . . . . . . . . . : 192.168.1.50
   Máscara de subred . . . . . . . . . . . . : 255.255.255.0
   Puerta de enlace predeterminada . . . . . : 192.168.1.254

Adaptador de túnel isatap.example.org:

   Estado de los medios. . . . . . . . . . . : medios desconectados
   Sufijo DNS específico para la conexión. . : example.org

Deja un comentario