root/dhcp-server-denegar/trunk/readme @ 469
451 | antoniojas | # Script: dhcp-server-denegar
|
|
# Autor: Antonio J. Abasolo Sierra
|
|||
# Fecha: Diciembre-2012
|
|||
453 | antoniojas | # Lugar de ejecución: servidor NFS
|
|
452 | antoniojas | # ---------------------------------
|
|
451 | antoniojas | ||
Este script se encarga de regenerar el fichero de configuración de isc-dhcp-server, situado en /etc/dhcp/dhcpd.conf
|
|||
453 | antoniojas | Tiene 2 opciones de ejecución:
|
|
* start: realiza lo aquí escrito.
|
|||
* stop: anula este script, dejando el servicio dhcp-server, tal como estaba antes.
|
|||
451 | antoniojas | A groso modo, hace lo siguiente:
|
|
- Se crean dos ficheros en la ruta de dicho servicio, que son:
|
|||
* /etc/dhcp/hosts.accept --> lista blanca de equipos conocidos a los que no será cortado su acceso.
|
|||
Formato: MAC,Nombre
|
|||
00:1c:b3:c4:fe:13,Ponente
|
|||
* /etc/dhcp/hosts.denny --> lista negra de equipos a los que les cortaremos el acceso
|
|||
Formato: MAC,Nombre
|
|||
00:1c:b3:c4:fe:13,InglesP1
|
|||
- Se crea el fichero 'pcs.leases' (en ruta de ejecución del script),
|
|||
con las mac's del fichero /var/lib/dhcp/dhcpd.leases --> Solo estarán las MAC's de equipos
|
|||
que no esten dados de alta en LDAP, y que no tengan puesta ip fija (manualmente).
|
|||
Formato: MAC,IP,Nombre
|
|||
00:1c:b3:c4:fe:13,172.23.23.5,InglesP1
|
|||
- El script regenere el fichero /etc/dhcp/dhcp.conf, con
|
|||
las líneas básicas de ldap (almacenadas previamente en el fichero /etc/dhcp/dhcpd.conf.base,
|
|||
y las denegaciones de mac's del fichero de lista-negra-macs: /etc/dhcp/hosts.deny
|
|||
- El fichero de lista-negra-macs se obtiene del quitarle al fichero pcs.leases, las mac's del fichero de lista-blanca
|
|||
* /etc/dhcp/hosts.deny = (pcs.leases - /etc/dhcp/hosts.accept)
|
|||
- Se reinicia el servicio correspondiente:
|
|||
* /etc/init.d/isc-dhcp-server stop
|
|||
* /etc/init.d/isc-dhcp-server start
|
|||
453 | antoniojas | - Pones un cron (crontab) en el servidor NFS para que ejecute dicho script cada X tiempo, por ej. cada 5 min.
|
|
Ejemplo:
|
|||
05 * * * 1-5 /root/dhcp-server-denegar start
|
|||
451 | antoniojas | ||
*****
|
|||
Posibles Mejoras:
|
|||
- Limpiar el fichero /var/lib/dhcp/dhcpd.leases
|
|||