如果單位IP地址是動態分配的話,用戶會經常遇到客戶端本地連接顯示正常卻無法正常訪問網絡,而且發現IP地址非單位地址。當換成單位分配的IP地址后便能正常訪問。
有時當你換成正確的靜態IP地址后,過一會另外一個用戶就會報IP地址沖突。作為網絡管理員,每天都會重復這樣的勞動。那么該怎么處理呢?
這種現象其實是由于客戶端獲取到非法DHCP服務器提供的IP地址而造成了無法正常上網。
隨著互聯網和移動設備的迅速發展,各辦公室私自連接無線路由器已屢見不鮮,無疑加重這種現象。
說到這里可能大家的第一反應是直接將IP地址和MAC地址綁定,問題就能解決了,但是除了繁瑣配置和綁定工作以及日后設備維修更換不便外,VLAN技術可以有很多網段,將來維護起來更會加重管理員的工作負擔。
不過,最致命的是IP地址和MAC地址綁定根本解決不了這個問題,這是因為常見的無線路由器都支持一個叫MAC地址克隆的功能。那么,利用DHCP Snooping功能如何解決這個問題呢?
首先我們先了解下DHCP的優缺點,然后對癥下藥。
每個客戶端能夠動態獲取IP地址、網關信息和DNS信息等,而不需要給每臺連網的客戶端去手動的配置IP地址等參數。
在用戶網關所在的那臺匯聚或者核心交換機上面配置DHCP功能就可以實現為用戶分配地址,大大減少網絡管理員的工作量。
DHCP的不足也很明顯,我們來看下它的工作原理。
當一臺主機客戶端需要上網時,DHCP客戶端會以廣播的方式發出DHCP Discover報文,所有的DHCP服務器都能夠接收到客戶端發送的DHCP Discover報文,所有的DHCP 服務器都會給出響應,向客戶端發送一個DHCP Offer報文。
DHCP Offer報文中“Your(Client) IP Address”字段就是DHCP服務器能夠提供給DHCP客戶端使用的IP地址。
既然是所有DHCP服務器都會給出響應,那客戶端會先處理哪一個呢?
我們得出這樣一個結論:DHCP客戶端處理的是最先收到的DHCP Offer報文,也就是先收到誰的IP地址就用誰的,而不一定就是正確的那個。
DHCP Snooping又是如何來避免這個問題呢?
DHCP Snooping 把端口分為兩種類型,TRUST口和UNTRUST口,設備只轉發TRUST口收到的DHCP應答報文,而丟棄所有來自UNTRUST口的DHCP 應答報文。
以此把合法的DHCP Server連接的端口設置為TRUST口,則其他口為UNTRUST口,就可以實現對非法DHCP Server的屏蔽。
也就是說,我們只要在接入層交換機開啟snooping功能,然后將與匯聚或核心成連接的上聯口設置成trust口即可。
當然事物總存在兩面性,為了保證效果應在接入層交換機上面部署該功能時,越靠近客戶端端口控制的越準確,而且同時每個交換機的端口建議只連接一臺PC客戶端。

圖1 相關命令行配置
這是由于如果某端口下串接一個交換機又連接若干PC客戶端,那么當該交換機下發生了DHCP欺騙,由于欺騙報文都在該交換機端口間直接轉發了,沒有受到接入層交換機的DHCP snooping功能的控制,這樣的欺騙就無法防止了。
相關命令行配置,如圖1所示:

//將連接DHCP服務器的上聯口設置為trust口