DHCP snooping is a Layer 2 security control that filters DHCP messages on network switches to block unauthorized DHCP servers from distributing incorrect gateway or DNS settings to clients. The feature classifies switch ports as trusted or untrusted, inspects DHCP packets in enabled VLANs, and maintains a binding table that maps client MAC addresses to assigned IP addresses, lease times, VLANs, and ports. Proper configuration—including designating only uplink ports as trusted, ensuring the binding table persists across switch reloads, and maintaining consistent option 82 handling in relay deployments—is critical to prevent legitimate clients from being blocked and to support related Layer 2 protections such as dynamic ARP inspection and IP source guard.
So funktioniert DHCP-Snooping
Ein Switch mit aktiviertem DHCP-Snooping überprüft DHCP-Pakete in den VLANs, in denen diese Funktion aktiviert ist. Ein Administrator kennzeichnet jeden Port als vertrauenswürdig oder nicht vertrauenswürdig, und der Switch wendet auf jeden Port unterschiedliche Regeln an.
- Vertrauenswürdige Ports festlegen: Der Administrator kennzeichnet Ports, die zu legitimen DHCP-Servern oder Relay-Agenten führen, als vertrauenswürdig. Alle anderen Ports, in der Regel diejenigen, die zu Client-Geräten führen, bleiben als nicht vertrauenswürdig eingestuft.
- Server-Nachrichten filtern: Der Switch verwirft DHCP-Server-Nachrichten, wie z. B. Angebote und Bestätigungen, die an einem nicht vertrauenswürdigen Port eintreffen. Dadurch wird verhindert, dass ein nicht autorisierter Server an einem Zugangsport auf Client-Anfragen antwortet.
- Client-Nachrichten prüfen: An nicht vertrauenswürdigen Ports kann der Switch überprüfen, ob die Client-Hardwareadresse in einer DHCP-Anfrage mit der Quell-MAC-Adresse des Frames übereinstimmt. Dies schränkt bestimmte Erschöpfungsangriffe ein, bei denen gefälschte Adressen verwendet werden.
- Erstellen der Bindungstabelle: Wenn ein Client eine gültige Lease erhält, erfasst der Switch die MAC-Adresse des Clients, die zugewiesene IP-Adresse, die Lease-Dauer, das VLAN und den Port in einer Bindungstabelle.
- Wenden Sie die Zuordnungen an: Die Zuordnungstabelle wird von zugehörigen Funktionen wie der dynamischen ARP-Prüfung und dem IP-Source-Guard verwendet, um Datenverkehr zu verwerfen, der nicht mit einer bekannten Zuweisung übereinstimmt.
Beim Snooping werden weder Clients noch der legitime Server authentifiziert. Das Verhalten hinsichtlich Ratenbegrenzung, Einfügung der Option 82 und Persistenz der Bindungstabelle variiert je nach Switch-Hersteller und Konfiguration.
Häufige Probleme beim DHCP-Snooping
Wenn der Port zum DHCP-Server oder Relay nicht als vertrauenswürdig markiert ist, verwirft der Switch legitime Angebote und Bestätigungen. Clients können dann keine Adressen beziehen, häufig nur in VLANs, in denen Snooping erst kürzlich aktiviert wurde.
Wenn die Bindungstabelle ausschließlich im Arbeitsspeicher gehalten wird, wird sie bei einem Switch-Neustart gelöscht, und davon abhängige Funktionen können gültige Clients blockieren, bis diese sich neu registrieren. Das Speichern der Tabelle in einem persistenten Speicher – sofern dies von der Plattform unterstützt wird – verringert dieses Risiko.
Einige Switches fügen standardmäßig Relay-Informationen in Client-Anfragen ein. Wenn der vorgelagerte Relay-Server oder Server Pakete ablehnt, die diese Informationen ohne eine übereinstimmende Relay-Adresse enthalten, können Clients keine IP-Adresse beziehen. Passen Sie die Optionseinstellungen über den gesamten Switch- und Relay-Pfad hinweg an.
Geräte mit statischen Adressen erscheinen niemals in der Bindungstabelle. Wenn sich die ARP-Prüfung oder der Source Guard auf diese Tabelle stützen, wird deren Datenverkehr verworfen, sofern keine statischen Einträge hinzugefügt werden.
Eine niedrige DHCP-Paketratenbegrenzung an einem nicht vertrauenswürdigen Port kann dazu führen, dass dieser bei legitimen Spitzenbelastungen – beispielsweise wenn viele Clients gleichzeitig hochfahren – in einen fehlerbedingten Ausfallzustand versetzt wird. Der Port bleibt deaktiviert, bis er manuell oder durch einen Timer wiederhergestellt wird.