8 votos

Asignación de bloque on-the-fly DHCP

Tenemos un gran número de clientes que se conectan a nuestro DHCP de la máquina. Queremos asignar a algunos de ellos a un bloque IP diferente, que se enruta con menor prioridad. Cada DHCP renovación de contrato, que nos gustaría consultar una base de datos y decidir qué bloque de direcciones IP que nos gustaría asignar a un cliente.

Es allí una manera de tener un servidor DHCP ejecutar una secuencia de comandos, busque en una base de datos, o de ejecutar algún código dinámico a la hora de decidir qué dirección desea asignar en el que la piscina? Cada cliente se identifica por option82, también conocido como "Agente de Retransmisión DHCP Opción de Información".

3voto

Zypher Puntos 26466

Así que yo aun no hice esto con la opción 82, pero su mejor apuesta sería la de utilizar classing en el dhcpd de isc.

Lo que haría es la instalación de una clase como:

class "userclass1" { 
    match if substring(option agent.circuit-id, 2, 2) = "<your_id1>";
}
class "userclass2" { 
    match if substring(option agent.circuit-id, 2, 2) = "<your_id2>";
}

A continuación, en su piscina declaración:

pool {
  allow members of "userclass1";
  range 10.0.0.11 10.0.0.50;
}
pool {
   allow members of "userclass2";
   range 10.0.0.51 10.0.0.100;
}

Referencia: dhcpd.conf

Esto debería al menos estar en el buen camino, no tengo mi play servidor para probar, pero he hecho algo similar con otras opciones.

2voto

Phil P Puntos 2300

Idealmente, sería modificar dhcpd para apoyar la asignación de direcciones basado en Option82, el equivalente al "hardware" líneas de host objetos. Yo lo he hecho con el porte de OpenBSD dhcpd cuando yo trabajaba en un ISP, que tiene una simplificación de la estructura interna isc-dhcp.

Si no estás en una posición para hacer eso, y luego mirar omapi(3) y omshell(1); tendría que utilizar OMAPI para crear dinámicamente "clase" y "la piscina" de los objetos, para implementar Zypher la sugerencia. Acabo de comprobar dhcpd.h y class struct tiene un OMAPI_OBJECT_PREAMBLE, por lo que este debe ser posible. Ten en cuenta que la documentación sobre OMAPI puede ser un poco ... bastante cutre.

1voto

Pier Puntos 1426

Tal vez usted puede empezar desde aquí:

http://blog.Nominet.org.uk/Tech/2005/12/21/Using-OMAPI-Object-Management-Application-Programming-Interface/

Nunca usado, pero con un poco de scripting creo que podría funcionar.

EDITAR

hombre omshell(1) dar otros ejemplos

0voto

Emil Lundberg Puntos 168

Una manera de hacerlo es asignar los clientes a una VLAN separada, entonces la dirección DHCP los clientes Obtén automáticamente será en una piscina diferente.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: