Instalación y configuración del isc-dhcp-server en Ubuntu

0
122

Instalar con el comando: sudo apt-get install isc-dhcp-server

Ahora abramos el primer archivo de configuración:
sudo nano /etc/default/isc-dhcp-server

Especifique en él, el nombre de la interfaz desde la que se distribuirán las direcciones IP (por ejemplo, eth0):
INTERFACES=”eth0″

Supongamos que esta interfaz tiene una dirección estática en /etc/network/
interfaces:
auto eth0
iface eth0 inet static
address 192.168.5.1
netmask 255.255.255.0

Hagamos una copia de seguridad del segundo archivo de configuración:
sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

Creemos uno nuevo:
sudo nano /etc/dhcp/dhcpd.conf

Y agreguemos los siguientes parámetros, por ejemplo:

default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

shared-network cable {

subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.10 192.168.5.254;
option domain-name-servers 192.168.5.1, 8.8.4.4;
option domain-name “example.net”;
option routers 192.168.5.1;
option time-servers 192.168.5.1;
option broadcast-address 192.168.5.255;
default-lease-time 600;
max-lease-time 7200;
}
}

Para reservar una dirección IP para un dispositivo específico, agregue después de “max-lease-time 7200;” (antes de que se cierre la comilla “}”):
host test {
hardware ethernet 00:01:02:aa:bb:cc;
fixed-address 192.168.5.101;
}

Es más conveniente especificar varios hosts en una línea:
host test { hardware ethernet 00:01:02:aa:bb:cc; fixed-address 192.168.5.101; }
host test2 { hardware ethernet 00:01:aa:aa:bb:cc; fixed-address 192.168.5.104; }

Puede verificar si el servidor dhcp se está ejecutando con los comandos:
sudo service isc-dhcp-server status
sudo /etc/init.d/isc-dhcp-server status
sudo netstat -tulpn | grep :67

Reinicie el servidor para que surtan efecto los cambios en los archivos de configuración:
sudo service isc-dhcp-server restart
sudo /etc/init.d/isc-dhcp-server restart

Puede ver la IP emitida con el comando:
sudo less /var/lib/dhcp/dhcpd.leases

Los registros se escriben en syslog (log-Facility local7), para separarlos, abra el archivo de configuración de syslog en un editor de texto:
sudo nano /etc/rsyslog.d/50-default.conf

Y al final añadimos:
local7.* /var/log/dhcp-server.log

Después de eso, se escribirán en /var/log/syslog y /var/log/dhcp-server.log

Comprobemos si el servidor DHCP se está ejecutando:
sudo netstat -tulpn | grep :67

Un ejemplo de captura de paquetes para analizar problemas a través de tcpdump:
sudo tcpdump port 67 or port 68 -e -n
sudo tcpdump ether host e0:cb:4e:c3:7c:44

En tiempo real, puede ver los registros así:
tail -F /var/log/syslog | grep dhcpd
tail -F /var/log/syslog | grep 192.168.1.5
tail -F /var/log/syslog | grep e0:cb:4e:c3:7c:44

Suerte