Wir haben eine große Anzahl von Clients, die eine Verbindung zu unserem DHCP-Computer herstellen. Wir möchten einige davon einem anderen IP-Block zuweisen, der mit niedrigerer Priorität weitergeleitet wird. Bei jeder Erneuerung des DHCP-Lease möchten wir eine Datenbank überprüfen und entscheiden, welchem IP-Block wir einen Kunden zuweisen möchten.
Gibt es eine Möglichkeit, einen DHCP-Server ein Skript ausführen zu lassen, in einer Datenbank zu suchen oder dynamischen Code auszuführen, wenn entschieden wird, welche Adresse in welchem Pool zugewiesen werden soll? Jeder Client wird durch option82, auch bekannt als "DHCP Relay Agent Information Option", eindeutig identifiziert.
Antworten:
Idealerweise würden Sie dhcpd so ändern, dass die Adresszuweisung basierend auf Option82 unterstützt wird, was den "Hardware" -Zeilen in Hostobjekten entspricht. Ich habe es mit dem OpenBSD dhcpd gemacht, als ich bei einem ISP gearbeitet habe, der eine einfachere interne Struktur als isc-dhcpd hat.
Wenn Sie dazu nicht in der Lage sind, schauen Sie sich Omapi (3) und Omshell (1) an. Sie würden OMAPI verwenden, um dynamisch "Klassen" - und "Pool" -Objekte zu erstellen und den Vorschlag von Zypher zu implementieren. Ich habe gerade nachgesehen
dhcpd.h
und dieclass
Struktur hat eineOMAPI_OBJECT_PREAMBLE
, also sollte dies möglich sein. Beachten Sie, dass die Dokumentation zu OMAPI etwas ... knapp sein kann.quelle
Ich habe dies also nicht mit Option 82 gemacht, aber Ihre beste Wette wäre, die Klassifizierung in isc dhcpd zu verwenden.
Sie würden eine Klasse einrichten wie:
Dann in Ihrer Pool-Anweisung:
Referenz: dhcpd.conf
Dies sollte dich zumindest auf den richtigen Weg bringen. Ich habe meinen Play Server nicht zum Testen bereit, aber ich habe etwas Ähnliches mit anderen Optionen gemacht.
quelle
Vielleicht können Sie von hier aus beginnen:
http://blog.nominet.org.uk/tech/2005/12/21/using-omapi-object-management-application-programming-interface/
Nie benutzt, aber mit ein bisschen Scripting denke ich, dass es funktionieren könnte.
BEARBEITEN
man omshell (1) würde einige andere Beispiele geben
quelle
Eine Möglichkeit, dies zu tun, besteht darin, diese Clients einem separaten VLAN zuzuweisen. Die DHCP-Adresse, die diese Clients erhalten, befindet sich automatisch in einem anderen Pool.
quelle