
Ich verwende isc-dhcp-server Version 4.3 (isc-dhcpd-4.3.5) als DHCP-Server für meine lokaleIPv4LAN und ich versuche, es so zu konfigurieren, dass es dasOption DHCP-Client-Identifier(DHCP-Option 61) in einemGastgeberDeklaration um einen DHCP-Client zu identifizieren:
host client_host {
option dhcp-client-identifier xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
fixed-address 192.168.0.20;
}
Leider scheint der DHCP-Server diese Option zu ignorieren (er beschwert sich beim Start nicht über diese Option – die Option wird also erkannt und die Syntax ist korrekt). Die Adresszuweisung funktioniert einwandfrei, wenn ichHardware-Ethernetmit der MAC des Clients, daher bin ich sicher, dass sowohl der DHCP-Server als auch der DHCP-Client ansonsten richtig konfiguriert sind.
Indie offizielle ISC-DHCP-Spezifikation für die Datei dhcpd.conf(das gilt für Version 4.1, und dasselbe steht auch in der Dokumentation für Version 4.4, daher gehe ich davon aus, dass das auch für die von mir verwendete Version 4.3.5 gilt) Ich habe Folgendes gefunden:
GastgeberDeklarationen werden mit tatsächlichen DHCP- oder BOOTP-Clients abgeglichen, indem die in derGastgeberErklärung mit der Erklärung des Kunden übereinstimmt, oder, wenn dieGastgeberDeklaration oder der Client stellt keine DHCP-Client-Identifier-Option zur Verfügung, indem er denHardwareParameter imGastgeberDeklaration an die vom Client angegebene Netzwerk-Hardwareadresse. BOOTP-Clients stellen normalerweise keineDHCP-Client-Kennung, daher muss die Hardwareadresse für alle Clients verwendet werden, die mit dem BOOTP-Protokoll booten können.
Ich bin auch sicher, dass der DHCP-Client dieDHCP-Client-Kennungin der DHCPv4-Anforderung – ich habe mir das Paket mit Wireshark angesehen und überprüft, ob es den Anforderungen entsprichtRFC-4361. Außerdem kann ein konformer DHCP-Server gemäß demselben RFC diese Option nicht ignorieren:
DHCPv4-Server, die dieser Spezifikation entsprechen, MÜSSEN die Option „Client-ID“ verwenden, um den Client zu identifizieren, wenn der Client sie sendet.
An dieser Stelle gehe ich davon aus, dass der isc-dhcp-Server das unterstütztDHCP-Client-KennungOption (diese Annahme basiert auf der ISC DHCP-Spezifikation). Die referenzierte ISC DHCP-Spezifikation beschreibt auch ein Verhalten, das ebenfalls dem RFC entspricht (wie oben zitiert).
Meine Frage ist also: Was übersehe ich hier? Ist eine zusätzliche ISC-DHCP-Serverkonfiguration erforderlich?
Oder vielleicht unterstützt isc-dhcpd nicht dieDHCP-Client-KennungOption für IPv4 (und gleichzeitig ist ihre offizielle Spezifikation falsch)?
BEARBEITEN Vielleicht sollte ich erwähnen, dass ich auch eineDHCPv6Server, der parallel zum DHCPv4-Server läuft. Der DHCPv6-Server ist so konfiguriert, dass er dieselbe DUID verwendet und funktioniert dort einwandfrei:
host client_host {
host-identifier option
dhcp6.client-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
fixed-address fdxx:xxxx:xxxx:xxxx::1;
}
Der Grund, warum ich die DUID auch in der DHCPv4-Konfiguration verwenden möchte, ist, dass die DHCP-Server meinen lokalen DNS sowohl für IPv4- als auch für IPv6-Netzwerke dynamisch aktualisieren sollen. Und der DNS-Server kann einen bestimmten Client nicht sowohl anhand der MAC-Adresse (vom DHCPv4-Server empfangen) als auch der DUID (vom DHCPv6-Server) identifizieren – er akzeptiert nur eine Form der Identifizierung und ignoriert die andere.
Antwort1
Ich hatte ein ähnliches Problem mit ISC DHCP 4.4.1, das ich zum Laufen brachte, indem ich der ID ein 0xff voranstellte, also:
host TestHost {
option dhcp-client-identifier ff:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.1;
}
Der Hinweis lag in der TCPdump-Ausgabe der Anfrage, die die Client-ID angab hardware-type 255
.
Antwort2
Ich habe das auch erlebt und soweit ich weiß, wird die Option in ISC DHCP 4.1 bis 4.4 nicht offiziell unterstützt. Ich habe auch damit herumgespielt, da ich einen Trunk von meinem Switch zu meiner Workstation habe, sodass ich jedes meiner VLANs überwachen und verwalten kann. Die gute Nachricht ist, dass ISC auf ein neues DHCP-Softwarepaket namens Kea portiert, das Ihnen viele weitere Optionen sowohl für IPv4 als auch für IPv6 zur Verfügung stellen soll. Dazu gehören DUID-Unterstützung und DDNS-Updates im Auftrag von Clients für beide IP-Versionen. Für Windows ist keine Unterstützung vorgesehen. Alles, wonach Sie gefragt haben, ist in Kea enthalten und steht wie immer als kostenloser Download von ISC zur Verfügung.
Antwort3
Ich hatte dieses Problem auch und habe es überwunden, indem ich den Bezeichner wie folgt verwendet habe: host TestHost { option dhcp-client-identifier 00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.1; }, wenn die empfangene Client-ID ASCII-basiert ist. für eth: setze 01:xx:xx, alles in Hexa
Antwort4
Ich habe es mit dem Mac-Adressformat versucht und es funktioniert einwandfrei ISC-dhcp-4.2.2
Server
Host AAAA { Option DHCP-Client-Identifier 1:45:a0:24:ab:fb:9c;
<<< 1 bezeichnet Hardwaretyp 0x01
, d. h. 1:xx:xx:xx:xx:xx:xx
feste Adresse 192.168.140.23; }
Klient
sende DHCP-Client-Kennung 1:45:a0:24:ab:fb:9c;