Tenemos una gran cantidad de clientes que se conectan a nuestra máquina DHCP. Queremos asignar algunos de ellos a un bloque de IP diferente, que se enruta con menor prioridad. En cada renovación de arrendamiento de DHCP, nos gustaría verificar una base de datos y decidir a qué bloque de IP nos gustaría asignar un cliente.
¿Hay alguna manera de que un servidor DHCP ejecute un script, busque en una base de datos o ejecute algún código dinámico al decidir qué dirección asignar en qué grupo? Cada cliente se identifica de forma exclusiva por la opción 82, también conocida como "Opción de información del agente de retransmisión DHCP".
Respuestas:
Idealmente, modificaría dhcpd para admitir la asignación de direcciones basada en la Opción 82, equivalente a las líneas de "hardware" en los objetos host. Lo hice con el dhcpd de OpenBSD cuando trabajé en un ISP, que tiene una estructura interna más simple que isc-dhcpd.
Si no estás en condiciones de hacerlo, mira omapi (3) y omshell (1); usaría OMAPI para crear dinámicamente objetos de "clase" y "grupo", para implementar la sugerencia de Zypher. Acabo de comprobar
dhcpd.h
y laclass
estructura tiene unOMAPI_OBJECT_PREAMBLE
, así que esto debería ser posible. Tenga en cuenta que la documentación sobre OMAPI puede ser un poco ... escasa.fuente
Así que no he hecho esto con la opción 82, pero su mejor opción sería usar la clasificación en isc dhcpd.
Lo que harías es configurar una clase como:
Luego, en su declaración de grupo:
Referencia: dhcpd.conf
Esto debería al menos llevarte por el camino correcto, no tengo mi servidor de reproducción listo para probarlo, pero he hecho algo similar con otras opciones.
fuente
Quizás puedas comenzar desde aquí:
http://blog.nominet.org.uk/tech/2005/12/21/using-omapi-object-management-application-programming-interface/
Nunca lo usé, pero con un poco de script creo que podría funcionar.
EDITAR
man omshell (1) daría algunos otros ejemplos
fuente
Una forma de hacer esto es asignar esos clientes a una VLAN separada, luego la dirección DHCP que esos clientes obtienen estará automáticamente en un grupo diferente.
fuente