【摘 要】DHCP被廣泛應(yīng)用于廣域網(wǎng)和局域網(wǎng),為網(wǎng)絡(luò)用戶動(dòng)態(tài)提供IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)等信息?,F(xiàn)在越來(lái)越多的網(wǎng)絡(luò)設(shè)備能夠提供DHCP服務(wù),當(dāng)這些設(shè)備被錯(cuò)誤的接入到原有網(wǎng)絡(luò)時(shí),會(huì)影響用戶從合法的DHCP服務(wù)器中獲取地址信息,有時(shí)候還會(huì)造成沖突,影響網(wǎng)絡(luò)的正常使用。本文給出了屏蔽非法DHCP服務(wù)器的方法,保障正常的網(wǎng)絡(luò)應(yīng)用。
一、DHCP簡(jiǎn)述
DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)使用UDP協(xié)議的67和68端口號(hào),DHCP服務(wù)器端可以為DHCP客戶端動(dòng)態(tài)分配IP地址等信息,其主要工作過(guò)程如圖1所示。
(一)請(qǐng)求:當(dāng)DHCP客戶端登錄網(wǎng)絡(luò)時(shí),它會(huì)向網(wǎng)絡(luò)發(fā)出一個(gè)DHCP DISCOVER廣播報(bào)文。網(wǎng)絡(luò)中的所有主機(jī)都將收到該報(bào)文,但只有DHCP Server會(huì)進(jìn)行應(yīng)答。
(二)應(yīng)答:當(dāng)DHCP Server收到DHCP Discover廣播后,它會(huì)選擇第一個(gè)閑置IP,連同其它TCP/IP設(shè)定(如子網(wǎng)掩碼、網(wǎng)關(guān)、DNS等),響應(yīng)給客戶端一個(gè)DHCP Offer報(bào)文。若網(wǎng)絡(luò)中有多臺(tái)DHCP Server,則客戶端會(huì)收到多個(gè)響應(yīng),通??蛻舳藢⑦x擇最先到達(dá)的DHCP Offer。
(三)接受:如果客戶端接受了某臺(tái)DHCP服務(wù)器的租約,客戶端會(huì)向網(wǎng)絡(luò)發(fā)送一個(gè)DHCP Request廣播報(bào)文,告訴所有DHCP服務(wù)器它將接受哪一臺(tái)服務(wù)器提供的IP地址,未被接受的DHCP服務(wù)器將收回它們?yōu)檫@臺(tái)客戶端所提供的租約。
(四)確認(rèn):DHCP服務(wù)器接收到客戶端的DHCP Request之后,會(huì)向客戶端發(fā)出一個(gè)DHCP ACK,以確認(rèn)IP租約的生效。
二、由無(wú)線路由擴(kuò)展的校園網(wǎng)
傳統(tǒng)的校園網(wǎng)中,服務(wù)器使用固定IP地址,對(duì)于其他包括筆記本和臺(tái)式機(jī)在內(nèi)的眾多客戶端,可使用DHCP協(xié)議進(jìn)行地址分配,其模型如圖2所示。
在本例所示的拓?fù)渲校珼HCP Server連接至核心交換機(jī),核心交換機(jī)下連各樓宇二層交換機(jī)再連接至PC。未配置IP信息的PC機(jī)啟動(dòng)后將發(fā)送DHCP Discover,DHCP Server收到后將為客戶端分配相應(yīng)的IP配置信息。
過(guò)去校園網(wǎng)的綜合布線系統(tǒng)以雙絞線和光纖等有線介質(zhì)為主,當(dāng)校園網(wǎng)中需要延伸距離、增加信息點(diǎn)時(shí)重新布線會(huì)存在種種困難。此時(shí),使用無(wú)線設(shè)備進(jìn)行網(wǎng)絡(luò)的擴(kuò)展成了首選。同時(shí),智能手機(jī)的普及也使得人們對(duì)無(wú)線網(wǎng)絡(luò)有了更迫切的需求。因此,無(wú)線路由被大量的應(yīng)用在了辦公室、會(huì)議室等場(chǎng)所。擴(kuò)展的網(wǎng)絡(luò)模型如圖3所示。
在這個(gè)拓?fù)浣Y(jié)構(gòu)中,每個(gè)無(wú)線路由使用WAN接口上聯(lián)至交換機(jī),通過(guò)DHCP為WAN接口配置地址。同時(shí)每個(gè)無(wú)線路由器又是一個(gè)DHCP服務(wù)器,通過(guò)LAN和WLAN接口為下聯(lián)的臺(tái)式機(jī)(使用有線連接)和筆記本、平板電腦及手機(jī)(使用無(wú)線連接)分配地址并提供網(wǎng)絡(luò)接入服務(wù)。
三、無(wú)線路由引發(fā)的DHCP沖突
無(wú)線路由器通常分為兩類接口:WAN接口和LAN接口,接入網(wǎng)絡(luò)正確的連接方式應(yīng)該是使用WAN接口連接交換機(jī)至上層網(wǎng)絡(luò),使用LAN接口連接PC或筆記本等網(wǎng)絡(luò)邊緣設(shè)備。無(wú)線路由器將使用DHCP為連接在LAN接口的下聯(lián)設(shè)備分配IP地址(通常為192.168.1.0/24網(wǎng)段),同時(shí)以NAT的方式通過(guò)WAN接口為下聯(lián)設(shè)備提供網(wǎng)絡(luò)通訊服務(wù)。但在實(shí)際使用時(shí),用戶可能將LAN接口錯(cuò)誤連接至上層交換機(jī),而由于DHCP服務(wù)在無(wú)線路由上默認(rèn)是開(kāi)啟的,則每臺(tái)無(wú)線路由都是一臺(tái)DHCP服務(wù)器,這就使得網(wǎng)絡(luò)中出現(xiàn)了很多非法DHCP服務(wù)器。由于DHCP的請(qǐng)求報(bào)文是以廣播的形式發(fā)送出去,所有收到請(qǐng)求的DHCP Server都可以進(jìn)行應(yīng)答,客戶端通常會(huì)用最先收到的DHCP應(yīng)答來(lái)配置自己的地址信息。如果非法DHCP Server的應(yīng)答先于合法DHCP Server的應(yīng)答,則客戶端將獲得錯(cuò)誤的IP,將不能訪問(wèn)網(wǎng)絡(luò)。如圖4所示。
當(dāng)故障發(fā)生時(shí),在客戶端使用ipconfig查看,發(fā)現(xiàn)客戶端獲得的IP地址為192.168.1.*,而非正確的IP。使用ethereal捕獲DHCP報(bào)文,發(fā)現(xiàn)提供給客戶端DHCP Offer的DHCP Server的MAC地址也不是合法DHCP Server的地址,表明網(wǎng)內(nèi)存在其他非法DHCP Server。
四、DHCP沖突的解決
在該例中,導(dǎo)致DHCP沖突的原因是由于用戶錯(cuò)誤的網(wǎng)絡(luò)連接,導(dǎo)致無(wú)線路由能夠從LAN接口上收到DHCP Discover并把響應(yīng)報(bào)文送入到交換機(jī)轉(zhuǎn)發(fā)給客戶端。因此,要解決此類故障,應(yīng)對(duì)交換機(jī)進(jìn)行設(shè)置,僅允許合法DHCP Server的應(yīng)答報(bào)文進(jìn)入到交換機(jī)的端口。
為實(shí)現(xiàn)這樣的目標(biāo),需要使用DHCP Snooping技術(shù)。該技術(shù)可以對(duì)DHCP報(bào)文進(jìn)行監(jiān)測(cè),允許將交換機(jī)的某個(gè)物理端口設(shè)置為信任端口或不信任端口。交換機(jī)將所收到的來(lái)自于客戶端的DHCP Discover報(bào)文僅向信任端口轉(zhuǎn)發(fā),這樣保證所有客戶端的DHCP請(qǐng)求僅會(huì)被送往合法的DHCP服務(wù)器。同時(shí)信任端口會(huì)轉(zhuǎn)發(fā)來(lái)自于DHCP Server的DHCP Offer報(bào)文,而不信任端口會(huì)丟棄接收到的DHCP Offer報(bào)文。此時(shí),僅需將連接至合法DHCP Server的交換機(jī)端口及交換機(jī)之間的互聯(lián)端口設(shè)置為信任端口,而將其他端口設(shè)置為不信任端口,即可阻止其他非法DHCP Server所發(fā)送的DHCP Offer進(jìn)入到網(wǎng)絡(luò)。
在本例中,核心交換機(jī)型號(hào)為Cisco Catalyst 4503,配置信任端口的主要配置語(yǔ)句如下。
C4503# config terminal
C4503(config)# ip dhcp snooping
//在全局模式下啟用DHCP Snooping
C4503(config)# ip dhcp snooping vlan 210
//為vlan 210配置DHCP Snooping
C4503(config)# interface GigabitEthernet2/21 //進(jìn)入到指定接口
C4503(config-if)#ip dhcp snooping trust
//將該端口設(shè)置為信任端口
二層接入交換機(jī)的配置略。
五、結(jié)束語(yǔ)
DHCP是網(wǎng)絡(luò)中分配IP信息的主要方式,由DHCP引發(fā)的網(wǎng)絡(luò)故障甚至攻擊行為也經(jīng)常發(fā)生,客戶端無(wú)法獲得正確的IP地址。在解決此類問(wèn)題時(shí)要區(qū)分不同的故障類型,并結(jié)合報(bào)文捕獲軟件對(duì)DHCP報(bào)文進(jìn)行分析,以給出正確的解決方案。
作者信息:
楊柳,女(1984.7-),漢族,本科,助教
地址:江西農(nóng)業(yè)大學(xué)南昌商學(xué)院行政部
袁黎暉,男(1973.2-),漢族,碩士,高級(jí)工程師
地址:江西農(nóng)業(yè)大學(xué)南昌商學(xué)院計(jì)算機(jī)系