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