DHCP snooping zabezpiecza sieć przed wpięciem nieautoryzowanego serwera DHCP, który mógłby namieszać np. podszywając się pod właściwy serwer, a następnie dokonując ataku typu Man in the Middle.

Gdy DHCP snooping jest włączony, porty na switch’u są dzielone na:

  • zaufane (trusted)
  • niezaufane (untrusted).

Prawowity serwer DHCP jest podłączony do zaufanego portu. Przełącznik przechwytuje wszystkie żądania pochodzące z niezaufanych portów przed wysłaniem ich dalej w sieć. Wszystkie odpowiedzi na żądania DHCP pochodzące z niezaufanego portu są odrzucane, a sam port jest wyłączany i znajduje się w stanie errdisable.

DHCP snooping śledzi także adresy przypisywane do użytkowników przez zaufany serwer DHCP i zapisuje w swojej bazie, która zawiera MAC adres klienta, IP jakie otrzymał od serwera, czas dzierżawy (lease time) itp.

W switch’ach Cisco aby włączyć DHCP snooping trzeba w trybie konfiguracji wydać polecenie:
ip dhcp snooping
Następnie trzeba określić VLAN’y w których ma działać DHCP snooping. Służy do tego polecenie:
ip dhcp  snooping vlan id_vlan'u [id_vlan'u]

Domyślnie po włączeniu snooping’u wszystkie porty traktowane są jako nie zaufane. Dopiero musimy określić, które z nich mają być zaufane. Żeby uczynić port zaufanym, trzeba w trybie konfiguracji interfejsu wydać komendę:

ip dhcp snooping trust

Możemy także limitować liczbę żądań dhcp na portach niezaufanyuch za pomocą komendy:

ip dhcp snooping limit rate x

gdzie x to liczba pakietów DHCP na sekundę w zakresie od 1 do 2048.

Dobrą sprawą w DHCP jest też opcja 82 tzw. DHCP Relay Agent Information. Przydaje się gdy chcemy przekazać do serwera informację np. o tym na jakim porcie zostało zgłoszone żądanie lub jaki MAC adres je wysłał. Bez tej opcji przełącznik odbiera żądanie na porcie, sprawdza pakiet, zapisuje informacje w swojej tablicy i potem podmienia MAC’ka na swojego i forwarduje do serwera. A gdy włączona jest opcja 82, do serwera przekazywane są wyżej wymienione informacje, dzięki czemu może on np. na podstawie MAC’ka klienta przydzielić mu odpowiedni adres IP. Domyślnie w Cisco opcja 82 jest włączona. W razie potrzeby można ją wyłączyć za pomocą polecenia:

no ip dhcp snooping information option