Configurar un servidor DHCP en OpenBSD

En unos sencillos pasos podremos tener nuestro robusto servidor OpenBSD corriendo el daemon DHCPD para que nos configure automáticamente los demás dispositivos de nuestra red. Primero que nada ¿que es DHCP?

DHCP (sigla en inglés de Dynamic Host Configuration Protocol – Protocolo de configuración dinámica de host) es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente

OpenBSD por defecto trae instalado el daemon, pero no esta ni activado ni configurado. Para hacerlo primero tenemos que loguearnos como root y luego editar el archivo /etc/dhcpd.conf.

vi /etc/dhcp.conf

Dentro de este archivo vamos a editarlo para que quede mas o menos asi

# DHCP server options.
# See dhcpd.conf(5) and dhcpd(8) for more information.
#

# Network:              192.168.1.0/255.255.255.0
# Domain name:          midominio.com
# Name servers:         8.8.8.8 and 8.8.4.4 (Google Public DNSs)
# Default router:       192.168.1.1
# Addresses:            192.168.1.32 - 192.168.3.127
#
option  domain-name "midominio.com";
option  domain-name-servers 8.8.8.8, 8.8.4.4;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.1;

        range 192.168.1.32 192.168.1.127;

Pasemos a explicar un poco el archivo…
option domain-name
Nombre del dominio dentro de la red.
option domain-name-servers
Direcciones de los servidores DNS a utilizar por lo clientes, en este caso usamos los servidores DNS públicos de Google
Por ultimo
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;

range 192.168.1.32 192.168.1.127;

Esto indica que los clientes que están en la red 192.168.1.0/24 van a recibir una dirección de IP entre 192.168.1.32 y 192.168.1.127 y una puerta de enlace predeterminada (default gateway) en 192.168.1.1
Seguidamente debemos editar el archivo /etc/rc.conf.local y agregarle las interfaces de red que van a estar escuchando las solicitudes de configuración de los clientes. El formato es dhcpd_flags=»interfaz». En nuestro caso la interfaz es nombrada como dc0

echo 'dhcpd_flags="dc0"' >> /etc/rc.conf.local

Solo falta editar /etc/rc.conf para que el daemon se autoinicie en tiempo de booteo, cambiando la linea que dice dhcpd_flags=NO a dhcpd_flags=""
Por ultimo, si se desea iniciar el daemon desde la linea de comando primero hay que crear el archivo /var/db/dhcpd.leases

touch /var/db/dhcpd.leases

y con

dhcpd dc0

iniciamos el daemon.