| Servidor | fastfoot-ng.locolandia.net |
|---|---|
| Red IP | 192.168.23.0/24 |
| Pasarela | 192.168.23.23 |
| Dominio | locolandia.net |
| Interfaz | eth1 |
| DDNS | 192.168.23.23 |
| IPs Dinámicas | 192.168.23.100-200 |
Necesitamos instalar el servidor dhcp para poder ofrecer las direcciones IP a los clientes DHCP y así no tener quebraderos de cabeza… para ello utilizaremos ISC DHCP Server 3, y para instalarlo con apt-get.
usuario@maquina:~$ sudo apt-get install dhcp3-server
La configuración que aqui se muestra esta orientada a una red con un servidor principal, que actúa de router, dns, wins, … Preparado para redes donde los clientes se conectan y desconectan sin control de acceso, por lo que pasamos una serie de parámetros para asegurar las configuraciones de red de los clientes. Basicamente, el fichero de configuración es /etc/dhcp3/dhcpd.conf
server-identifier fastfoot-ng.locolandia.net;
authoritative;
log-facility local7;
subnet 192.168.23.0 netmask 255.255.255.0 {
one-lease-per-client on;
default-lease-time 600;
max-lease-time 7200;
option domain-name "locolandia.net";
option domain-name-servers 192.168.23.23;
range 192.168.23.100 192.168.23.200;
option routers 192.168.23.23;
option broadcast-address 192.168.23.255;
option netbios-name-servers 192.168.23.23;
server-name "fastfoot-ng";
option netbios-node-type 8;
option www-server 192.168.23.23;
option smtp-server 192.168.23.23;
option pop-server 192.168.23.23;
option ip-forwarding off;
}
Si queremos arranque por red, por ejemplo para lanzar la instalación de Ubuntu por PXE o bootp, es necesario añadir una serie de parámetros en la subnet o host en la que queramos añadir el soporte para PXE en /etc/dhcp3/dhcpd.conf
allow booting;
allow bootp;
filename="pxelinux.0";
next-server 192.168.23.23;
Tenemos que acordarnos de activar el servicio TFTP en el equipo configurado como next-server1), para que sirva el fichero pxelinux.02) como fichero para arrancar el Sistema Operativo en la máquina a través de la red.
Si queremos que dhcp3-server utilize DDNS y actualize alguna zona DNS utilizando BIND9 como servidor de nombres, es necesario copiar el fichero con la clave RNDC al directorio con la configuración del servidor DHCP, en la mayor parte de los casos en /etc/dhcp/ y cambiar los permisos para que el grupo con el que se ejucta el proceso dhcpd3)
usuario@maquina:~$ sudo cp /etc/bind9/rndc.key /etc/dhcp/ usuario@maquina:~$ sudo chmod 660 /etc/dhcp/rndc.key usuario@maquina:~$ sudo chown root:dhcpd /etc/dhcp/rndc.key
En nuestro caso queremos actualizar la zona locolandia.net. y 23.168.192.in-addr.arpa.4), por lo que tenemos que añadir al fichero /etc/dhcp/dhcpd.conf en la configuración global:
include "/etc/dhcp3/rndc.key";
ddns-domainname "locolandia.net.";
ddns-rev-domainname "in-addr.arpa.";
zone locolandia.net. {
primary 192.168.23.23;
key rndc-key;
}
zone 23.168.192.in-addr.arpa. {
primary 192.168.23.23;
key rndc-key;
}
Por lo general DHCP3 mantiene las direcciones IP otorgadas a los hosts en función a su dirección MAC. Estos datos, para saber la IP que tenía antes el host, los obtiene de /var/lib/dhcp3/dhcpd.leases. Pero esto no garantiza que el mismo equipo tenga siempre la misma dirección, para garantizar que el servidor DHCP otorgue la misma dirección siempre a un host, es necesario añadir en /etc/dhcp/dhcpd.conf para la subnet donde tenemos el host
host poipon {
hardware ethernet 00:23:F0:23:52:23;
hardware ethernet 00:23:23:90:23:23;
fixed-address 192.168.23.223;
}
host bancal {
hardware ethernet 00:00:23:23:23:23;
fixed-address 192.168.23.224;
}
host cornelius {
hardware ethernet 00:23:23:23:23:23;
fixed-address 192.168.23.225;
}
Si aplicamos todo lo anterior, entonces
server-identifier fastfoot-ng.locolandia.net;
authoritative;
include "/etc/dhcp3/rndc.key";
ddns-domainname "locolandia.net.";
ddns-rev-domainname "in-addr.arpa.";
zone locolandia.net. {
primary 192.168.23.23;
key rndc-key;
}
zone 23.168.192.in-addr.arpa. {
primary 192.168.23.23;
key rndc-key;
}
log-facility local7;
subnet 192.168.23.0 netmask 255.255.255.0 {
one-lease-per-client on;
default-lease-time 600;
max-lease-time 7200;
option domain-name "locolandia.net";
option domain-name-servers 192.168.23.23;
range 192.168.23.100 192.168.23.200;
option routers 192.168.23.23;
option broadcast-address 192.168.23.255;
option netbios-name-servers 192.168.23.23;
server-name "fastfoot-ng";
option netbios-node-type 8;
option www-server 192.168.23.23;
option smtp-server 192.168.23.23;
option pop-server 192.168.23.23;
option ip-forwarding off;
allow booting;
allow bootp;
filename="pxelinux.0";
next-server 192.168.23.23;
host poipon {
hardware ethernet 00:23:F0:23:52:23;
hardware ethernet 00:23:23:90:23:23;
fixed-address 192.168.23.223;
}
host bancal {
hardware ethernet 00:00:23:23:23:23;
fixed-address 192.168.23.224;
}
host cornelius {
hardware ethernet 00:23:23:23:23:23;
fixed-address 192.168.23.225;
}
}
man dhcpd3man dhcpd.confman dhcpd.leases
Discusión