■
單位三層交換機(jī)L3-SW開(kāi)啟DHCP服務(wù),為各VLAN提供IP地址分配服務(wù)。各接入交換機(jī)采用基于端口的VLAN,通過(guò)Trunk口接入 三層交換機(jī)L3-SW。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖 1所示。
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
客戶反映所在網(wǎng)絡(luò)屬于VLANX的客戶端,近期經(jīng)常出現(xiàn)無(wú)法通過(guò)DHCP服務(wù)獲得IP地址的故障。雖然執(zhí)行clear ip dhcp binding * 命令(客戶使用的是思科設(shè)備)可以暫時(shí)緩解,但是過(guò)一段時(shí)間故障依舊。其他VLAN的客戶端可以正常獲得IP地址。
由于僅僅是VLANX的客戶端無(wú)法獲得地址,基本排除DHCP服務(wù)的故障。排查重點(diǎn)放在出現(xiàn)問(wèn)題的VLANX,可能有三種情況造成無(wú)法分配IP地址。
VLANX中某主機(jī),對(duì)DHCP服務(wù)器實(shí)施DHCP耗竭攻擊,使真實(shí)的用戶獲得不到地址。Cisco交換機(jī)支持在每個(gè)VLAN基礎(chǔ)上啟用DHCP監(jiān)聽(tīng)特性。通過(guò)在VLANX啟用DHCP監(jiān)聽(tīng),交換機(jī)能夠攔截第二層VLAN域內(nèi)的所有非正常DHCP報(bào)文,從而杜絕DHCP耗竭攻擊。
DHCP服務(wù)器會(huì)將沖突的IP地址,從DHCP地址池移動(dòng)到DHCP沖突地址表中,造成無(wú)IP地址可分配。如果是這種情況,只要執(zhí)行clear ip dhcp conflict * 命令,就會(huì)將沖突的IP地址歸還給地址池。
VLANX的DHCP地址池采用C類私有地址,并且其租約時(shí)間lease time設(shè)置時(shí)間過(guò)長(zhǎng),造成已經(jīng)離線的客戶端IP沒(méi)有及時(shí)釋放,新接入的客戶端就無(wú)法獲得IP地址。
可以通過(guò)減小lease time時(shí)間,及時(shí)釋放不再使用的IP地址?;蛘邤U(kuò)大地址池中的地址數(shù),啟用A類或者B類的私有地址,A類10.0.0.0 --10.255.255.255,B類 1 7 2.1 6.0.0--172.31.255.255。
登錄三層交換機(jī)L3-SW:
//顯示多個(gè)VLAN的IP地址分配情況
其 中,VLANX地 址 池IP幾乎都被分配出去。別的VLAN地址分配的比較少,驗(yàn)證了VLANX有問(wèn)題的判斷。
L 3-S W # s h o w running-config
//查看運(yùn)行中的配置
發(fā)現(xiàn)VLANX的DHCP地址池為C類192.168.0.0/24,其lease time和其他VLAN一樣均為一天。
1.登錄三層交換機(jī)L3-SW,配置DHCP Snooping,啟用DHCP監(jiān)聽(tīng)功能。
L3-SW(config)#ip dhcp snooping
配 置L3-SW監(jiān) 聽(tīng)VLANX的DHCP數(shù)據(jù)包
L3-SW (config)#ip dhcp snooping vlanX
檢測(cè)非信任端口CHADDR字段與源MAC是否相同
L3-SW (config)#ip dhcp snooping verify macaddress
DHCP監(jiān)聽(tīng)綁定表保存在Flash中
L3-SW (config)#ip dhcp snooping database flash:dhcp_snooping.db
DHCP監(jiān)聽(tīng)綁定表更新后等待20秒再保存
L3-SW (config)#ip dhcp snooping database writedelay 20
DHCP監(jiān)聽(tīng)綁定表保存失敗后,只重新嘗試20秒
L3-SW (config)#ip dhcp snooping database timeout 20
L 3-S W (c o n f i g)#i n t e r f a c e G i g a b i t Ethernet0/1
description : Connect to L2-SW
L3-SW (config-if)#switchport mode trunk
L 3-S W (c o n f i gif)# switchport trunk encapsulation dot1q
限制非信任端口每秒鐘能接受的DHCP數(shù)據(jù)包為500個(gè)
L3-SW (config-if)#ip dhcp snooping limit rate 500
2.登錄接入層交換機(jī)L2-SW,將上聯(lián)至L3-SW交換機(jī)的端口設(shè)置為信任端口,其他設(shè)置為非信任端口,并對(duì)DHCP請(qǐng)求包進(jìn)行限速。
L2- SW (config)#ip dhcp snooping
L2- SW (config)#ip dhcp snooping vlanX
L2- SW (config)#no ip dhcp?relay information trusted
L2- SW (config)#int range fa/1 – 48
L2- SW (config-if)#no ip dhcp snooping trust
L 2- S W (c o n f i gif)#spanning-tree portfast
L2- SW (config-if)#ip dhcp snooping limit rate 10(pps)
L2- SW (config) #interface GigabitEthernet0/1
description : Connect to L3-SW
L2- SW (config-if)#switchport mode trunk
L2- SW (config-if )#ip dhcp snooping trust
配置DHCP監(jiān)聽(tīng)完畢后,觀察了幾天,故障依舊。說(shuō)明不存在DHCP耗竭攻擊的情況。
登錄三層交換機(jī),顯示沖突的IP地址:
L3-SW # show ip dhcp conflict
沒(méi)有發(fā)現(xiàn)沖突的IP地址。第二種情況排除了。
通過(guò)以下命令將lease time由一天改為8小時(shí)。
L 3-S W #c o n f i g terminal
L3-SW (config)#ip dhcp pool vlanX
L 3-S W (d h c pconfig)#lease 0 8
L 3-S W (d h c pconfig)#exit
L3-SW (config)#exit
修改后觀察一段時(shí)間,故障依舊,直到修改lease time為2小時(shí),故障才消失。
從客戶那里了解到,VLANX用戶有以下特點(diǎn):
1.用戶居留的時(shí)間不長(zhǎng),相對(duì)使用網(wǎng)絡(luò)時(shí)間也短 。
2.用戶經(jīng)常自己接入無(wú)線AP,使用各種無(wú)線設(shè)備(手機(jī)、平板、上網(wǎng)本),以前一個(gè)端口接一臺(tái)電腦,現(xiàn)在往往出現(xiàn)N個(gè)用戶端同時(shí)接入的情況,這就需要比以前更多的IP地址。
看來(lái)交換機(jī)的相關(guān)配置需要根據(jù)使用者的變化做相應(yīng)的調(diào)整,才能避免類似的故障。另外,DHCP監(jiān)聽(tīng)本質(zhì)上開(kāi)啟交換機(jī)對(duì)DHCP報(bào)文內(nèi)CHADDR字段的檢查,從而犧牲交換機(jī)的性能。所以除了為應(yīng)對(duì)耗竭攻擊行為而開(kāi)啟外,建議平時(shí)不必開(kāi)啟。