Zuweisung von IP-Adressen basierend auf DHCP Option 82

  Development

IP-Adressen können mittels DHCP unter Nutzung der Option 82 in Abhängigkeit des Switchports zugewiesen werden, an den das Endgerät angeschlossen ist.

Motivation

Mit DHCP (Dynamic Host Configuration Protocol) ist es möglich, Netzwerkgeräten beim Anschluss an das Netzwerk dynamisch eine IP-Adresse zuzuweisen. Aus der Sicht des Netzwerkmanagements ist jedoch eine statische Konfiguration vorzuziehen, weil damit bei Netzmissbrauch leichter auf den Verursacher geschlossen werden kann. Die Vorzüge beider Verfahren sollten vereint werden: Der DHCP-Dienst wird dazu so beeinflusst, dass IP-Adressen abhängig von dem Ort der physikalischen Anbindung des Nutzers (Port/Netzwerkdose) zugewiesen werden. Dies erhöht die Transparenz für Administratoren, da aus einer IP-Adresse gleich auf die geographische Position des Nutzers geschlossen werden kann. Anwendungsgebiete sind Studentenwohnheime, Bibliotheken, aber auch Büro- und Konferenzräume in Unternehmen.

Beschreibung

Wir benötigen eine IP-Adressvergabe anhand der Netzwerkdose, an die ein Endgerät angeschlossen ist. Damit stellt eine IP-Adresse den Bezug zu einem bestimmten Ort her. Damit wird die Netzüberwachung vereinfacht. Aus Sicht der Netzwerkgeräte entspricht die Netzwerkdose einem Switchport. Um IP-Adressen anhand eines Switchports (statt etwa einer MAC-Adresse) vergeben zu können, muss der DHCP-Server die Information über den Switchport eines Endgerätes erhalten und auswerten können.

Dies ist bei vielen Switchherstellern mittels der DHCP Option 82 möglich: Die Switche können so konfiguriert werden, dass sie den DHCP-Datenverkehr mithören und die Pakete um eine DHCP-Option ergänzen, die den Switch sowie den Switchport angibt. Leider ist das Format der Option herstellerspezifisch, sodass man den Inhalt am besten als Binärdaten auffasst und die Zuweisung der IP-Adressen danach vornimmt.

Im Rahmen einer Projektarbeit hat ein Student darüber hinaus den "DHCP Snooper" entwickelt, der eine Adressvergabe anhand des Switchports auch bei Switchen möglich macht, die keine Option 82 unterstützen. Dazu werden die Switche bei Bedarf über SNMP abgefragt, um herauszufinden, an welchem Port ein Endgerät mit einer im DHCP-Paket angegebenen MAC-Adresse zu finden ist. Diese Information wird dann als Option 82 im DHCP-Datenverkehr eingetragen. Für den DHCP-Server wird damit transparent, ob ein Switch die Option 82 nativ unterstützt oder der DHCP-Snooper die Informationen über SNMP beschafft.

Implementierung

Die Option 82 wird inzwischen von Geräten unterschiedlichster Hersteller unterstützt, die Funktion muss lediglich aktiviert werden.

Der DHCP-Server muss dann anhand der Option 82 Informationen die Adressvergabe tätigen. Da ich viele Anfragen zu dem Thema erhalten habe, findet sich unten in den Referenzen eine Beispielkonfiguration für den weit verbreiteten ISC dhcpd.

Der DHCP Snooper ist nur bei Nutzung von Switchen notwendig, die keine Option 82 unterstützen. Der Dienst ist in C++ implementiert und arbeitet als zusätzliches DHCP Relay zwischen den Switchen und dem DHCP-Server. Nähere Informationen finden sich auf den in den Referenzen angegebenen Seiten.

Referenzen