單個VLAN內主機無法獲取IP地址故障的解決
導語:
無線時代的到來,接入有線網路的無線設備越來越多。風靡網路的黑客行為更是讓網路管理員風聲鶴唳。世易時移,事因於時而備適於世。網路設備的配置,只有根據網路使用者不斷變化的情況,做相應的調整,才能保證網路的正常運行。本文介紹了一次有驚無險的單個Vlan無法獲取IP地址故障的處理過程。
網路現狀:
三層交換機L3-SW開啟DHCP服務,為各vlan提供IP地址分配服務。各接入交換機採用基於埠的vlan,通過Trunk口接入三層交換機L3-SW。拓撲結構如圖1
故障現象:
客戶反映所在網路屬於vlanX的客戶端,近期經常出現無法通過DHCP服務獲得IP地址的故障。雖然執行clear ip dhcp binding *命令(客戶使用的是思科設備)可以暫時緩解,但是過一段時間故障依舊。其他vlan的客戶端可以正常獲得IP地址。
故障分析:
由於僅僅是vlanX的客戶端無法獲得地址,基本排除DHCP服務的故障。排查重點放在出現問題的vlanX,可能有三種情況造成無法分配IP地址。
第一種情況:針對DHCPServer的拒絕服務攻擊。
vlanX中某主機,對DHCP伺服器實施DHCP耗竭攻擊,使真實的用戶獲得不到地址。Cisco交換機支持在每個VLAN基礎上啟用DHCP監聽特性。通過在vlanX啟用DHCP監聽,交換機能夠攔截第二層VLAN域內的所有非正常DHCP報文,從而杜絕DHCP耗竭攻擊。
第二種情況:IP地址衝突太多。
DHCP伺服器會將衝突的IP地址,從DHCP地址池移動到DHCP衝突地址表中,造成無IP地址可分配。如果是這種情況只要執行clearip dhcp conflict *命令,就會將衝突的IP地址歸還給地址池。
第三種情況:vlanX接入上網的客戶端太多。
vlanX的DHCP地址池採用C類私有地址,並且其租約時間lease time設置時間過長。造成已經離線的客戶端IP沒有及時釋放,新接入的客戶端就無法獲得IP地址。
可以通過減小lease time時間,及時釋放不再使用的IP地址。或者擴大地址池中的地址數,啟用A類或者B類的私有地址,A類10.0.0.0 --10.255.255.255,B類172.16.0.0--172.31.255.255。
解決過程:
登陸三層交換機L3-SW:
L3-SW # show ip dhcp binding //顯示多個vlan的IP地址分配情況
其中vlanX地址池IP幾乎都被分配出去。別的vlan地址分配的比較少,印證了vlanx有問題的判斷。
L3-SW # show running-config //查看運行中的配置
發現vlanX的dhcp地址池為C類192.168.0.0/24,其lease time和其他vlan一樣均為一天。
一、針對第一種情況:
1、登陸三層交換機L3-SW,配置DHCP Snooping,啟用DHCP監聽功能。
L3-SW(config)#ip dhcp snooping
配置L3-SW監聽vlanX的DHCP數據包
L3-SW (config)#ip dhcp snooping vlanX
檢測非信任埠CHADDR欄位與源MAC是否相同
L3-SW (config)#ip dhcp snooping verifymac-address
DHCP監聽綁定表保存在Flash中
L3-SW (config)#ip dhcp snooping databaseflash:dhcp_snooping.db
DHCP監聽綁定表更新後等待20秒再保存
L3-SW (config)#ip dhcp snooping databasewrite-delay 20
DHCP監聽綁定表保存失敗後,只重新嘗試20秒
L3-SW (config)#ip dhcp snooping databasetimeout 20
L3-SW (config)#interface GigabitEthernet0/1
description : Connect to L2-SW
L3-SW (config-if)#switchport mode trunk
L3-SW (config-if)#switchport trunk encapsulation dot1q
限制非信任埠每秒鐘能接受的DHCP數據包為500個
L3-SW (config-if)#ip dhcp snooping limitrate 500
2、登陸接入層交換機L2- SW,將上聯至L3-SW交換機的埠設置為信任埠,其他設置為非信任埠,並對DHCP請求包進行限速。
L2- SW (config)#ip dhcp snooping
L2- SW (config)#ip dhcp snooping vlanX
L2- SW (config)#noip dhcprelay information trusted
L2- SW (config)#int range fa/1 – 48
L2- SW (config-if)#no ip dhcp snoopingtrust
L2- SW (config-if)#spanning-treeportfast
L2- SW (config-if)#ip dhcp snooping limitrate 10 (pps)
L2- SW (config)#interfaceGigabitEthernet0/1
description : Connect to L3-SW
L2- SW (config-if )#switchport mode trunk
L2- SW (config-if )#ip dhcp snooping trust
配置DHCP監聽完畢後,觀察了幾天,故障依舊。說明不存在DHCP耗竭攻擊的情況。
二、針對第二種情況:
登陸三層交換機,顯示衝突的IP地址
L3-SW # show ip dhcp conflict
沒有發現衝突的IP地址。第二種情況排除了。
三、針對第三種情況:
通過以下命令將lease time由一天改為8小時。
L3-SW #config terminal
L3-SW (config)#ip dhcp pool vlanX
L3-SW (dhcp-config)#lease 0 8
L3-SW (dhcp-config)#exit
L3-SW (config)#exit
修改後觀察一段時間,故障依舊,直到修改leasetime為2小時,故障才消失。
經驗總結:
從客戶那裡了解到,vlanX用戶有以下特點:
一、用戶居留的時間不長,相對使用網路時間也短。
二、用戶經常自己接入無線AP,使用各種無線設備(手機、平板、上網本),以前一個埠接一台電腦,現在往往出現n個用戶端同時接入的情況,這就需要比以前更多的IP地址。
看來交換機的相關配置需要根據使用者的變化做相應的調整,才能避免類似的故障。另外,DHCP監聽本質上開啟交換機對DHCP報文內CHADDR欄位的檢查,從而犧牲交換機的性能。所以除了為應對耗竭攻擊行為而開啟外,建議平時不必開啟。
----------END---------
TAG:全球大搜羅 |