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