路由與交換 進階 1 DHCP排錯

 

客戶的網絡結構是,思科6509兩臺做hsrp爲核心層,下面的接入層交換機爲思科2950,在6509上啓用了DHCP服務,爲每個VLAN分配IP地址。現問題就出現在其中的幾個VLAN,PC接在這VLAN下就是獲取不到IP地址,這幾個有問題的VLAN,都接在同一臺交換機,看了下6509的配置,沒發現什麼問題,就是注意到開啓了ip dhcp snooping ,問題出現在同一臺交換機,那就確定方向了.

來到問題機器,交換機沒做什麼配置,網絡中一部分VLAN不能自動獲取IP地址,但注意到也配置了ip dhcp snooping ,dhcp snooping 的主要功能是:能夠攔截第二層VLAN域內的所有DHCP報文,查看與6509所接的端口,沒有啓用dhcp snooping trust ,這就是問題所在了。

DHCP監聽將交換機端口劃分爲兩類:

●非信任端口:通常爲連接終端設備的端口,如PC,網絡打印機等

●信任端口:連接合法DHCP服務器的端口或者連接匯聚交換機的上行端口

根據以上可知,我在級連接口上啓用ip dhcp snooping trust 後,把本地接口接上,馬上獲取到了IP地地址。

下面是我在網上查到的關於ip dhcp snooping 的東西,總結一下:

一、DHCP snooping 技術介紹

DHCP監聽(DHCP Snooping)是一種DHCP安全特性。Cisco交換機支持在每個VLAN基礎上啓用DHCP監聽特性。通過這種特性,交換機能夠攔截第二層VLAN域內的所有DHCP報文。

通過開啓DHCP監聽特性,交換機限制用戶端口(非信任端口)只能夠發送DHCP請求,丟棄來自用戶端口的所有其它DHCP報文,例如DHCP Offer報文等。而且,並非所有來自用戶端口的DHCP請求都被允許通過,交換機還會比較DHCP 請求報文的(報文頭裏的)源MAC地址和(報文內容裏的)DHCP客戶機的硬件地址(即CHADDR字段),只有這兩者相同的請求報文才會被轉發,否則將被丟棄。這樣就防止了DHCP耗竭***。信任端口可以接收所有的DHCP報文。通過只將交換機連接到合法DHCP服務器的端口設置爲信任端口,其他端口設置爲非信任端口,就可以防止用戶僞造DHCP服務器來***網絡。DHCP監聽特性還可以對端口的DHCP報文進行限速。通過在每個非信任端口下進行限速,將可以阻止合法DHCP請求報文的廣播***。DHCP監聽還有一個非常重要的作用就是建立一張DHCP監聽綁定表(DHCP Snooping Binding)。一旦一個連接在非信任端口的客戶端獲得一個合法的DHCP Offer,交換機就會自動在DHCP監聽綁定表裏添加一個綁定條目,內容包括了該非信任端口的客戶端IP地址、MAC地址、端口號、VLAN編號、租期等信息。

二、DHCP snooping 配置

Switch(config)#ip dhcp snooping //打開DHCP Snooping功能

Switch(config)#ip dhcp snooping vlan 10 //設置DHCP Snooping功能將作用於哪些VLAN

Switch(config)#ip dhcp snooping verify mac-adress

//檢測非信任端口收到的DHCP請求報文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭***,該功能默認即爲開啓

Switch(config-if)#ip dhcp snooping trust

//配置接口爲DHCP監聽特性的信任接口,所有接口默認爲非信任接口

Switch(config-if)#ip dhcp snooping limit rate 15

//限制非信任端口的DHCP報文速率爲每秒15個包(默認即爲每秒15個包)如果不配該語句,則show ip dhcp snooping的結果裏將不列出沒有該語句的端口,可選速率範圍爲1-2048

建議:在配置了端口的DHCP報文限速之後,最好配置以下兩條命令

Switch(config)#errdisable recovery cause dhcp-rate-limit

//使由於DHCP報文限速原因而被禁用的端口能自動從err-disable狀態恢復

Switch(config)#errdisable recovery interval 30

//設置恢復時間;端口被置爲err-disable狀態後,經過30秒時間才能恢復

Switch(config)#ip dhcp snooping information option

//設置交換機是否爲非信任端口收到的DHCP報文插入Option 82,默認即爲開啓狀態

Switch(config)#ip dhcp snooping information option allow-untrusted

//設置匯聚交換機將接收從非信任端口收到的接入交換機發來的帶有選項82的DHCP報文

Switch#ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131 interface fa0/2 expiry 692000 //特權模式命令;手工添加一條DHCP監聽綁定條目;expiry爲時間值,即爲監聽綁定表中的lease(租期)

Switch(config)#ip dhcp snooping database

flash:dhcp_snooping.db

//將DHCP監聽綁定表保存在flash中,文件名爲dhcp_snooping.db

Switch(config)#ip dhcp snooping database

tftp://192.168.2.5/Switch/dhcp_snooping.db

//將DHCP監聽綁定表保存到tftp服務器;192.168.2.5爲tftp服務器地址,必須事先確定可達。URL中的Switch是tftp服務器下一個文件夾;保存後的文件名爲dhcp_snooping.db,當更改保存位置後會立即執行“寫”操作。

Switch(config)#ip dhcp snooping database write-delay 30

//指DHCP監聽綁定表發生更新後,等待30秒,再寫入文件,默認爲300秒;可選範圍爲15-86400秒

Switch(config)#ip dhcp snooping database timeout 60

//指DHCP監聽綁定表嘗試寫入操作失敗後,重新嘗試寫入操作,直到60秒後停止嘗試。默認爲300秒;可選範圍爲0-86400秒

說明:實際上當DHCP監聽綁定表發生改變時會先等待write-delay的時間,然後執行寫入操作,如果寫入操作失敗(比如tftp服務器不可達),接着就等待timeout的時間,在此時間段內不斷重試。在timeout時間過後,停止寫入嘗試。但由於監聽綁定表已經發生了改變,因此重新開始等待write-delay時間執行寫入操作……不斷循環,直到寫入操作成功。

Switch#renew ip dhcp snooping database flash:dhcp_snooping.db

/特權級命令;立即從保存好的數據庫文件中讀取DHCP監聽綁定表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章