學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識 > 路由器 > 路由器設(shè)置 > cisco思科 > 思科交換機(jī)DHCPSnooping

思科交換機(jī)DHCPSnooping

時間: 權(quán)威724 分享

思科交換機(jī)DHCPSnooping

  思科依靠自身的技術(shù)和對網(wǎng)絡(luò)經(jīng)濟(jì)模式的深刻理解,成為了網(wǎng)絡(luò)應(yīng)用的成功實(shí)踐者之一,那么你知道思科交換機(jī)DHCPSnooping的功能是什么嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于思科交換機(jī)DHCPSnooping的相關(guān)資料,供你參考。

  思科交換機(jī)DHCPSnooping介紹:

  采用DHCP服務(wù)的常見問題

  架設(shè)DHCP服務(wù)器可以為客戶端自動分配IP地址、掩碼、默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器等網(wǎng)絡(luò)參數(shù),簡化了網(wǎng)絡(luò)配置,提高了管理效率。但在DHCP服務(wù)的管理上存在一些問題,常見的有:

  ●DHCP Server的冒充

  ●DHCP Server的DOS攻擊,如DHCP耗竭攻擊

  ●某些用戶隨便指定IP地址,造成IP地址沖突

  1、DHCP Server的冒充

  由于DHCP服務(wù)器和客戶端之間沒有認(rèn)證機(jī)制,所以如果在網(wǎng)絡(luò)上隨意添加一臺DHCP服務(wù)器,它就可以為客戶端分配IP地址以及其他網(wǎng)絡(luò)參數(shù)。只要讓該DHCP服務(wù)器分配錯誤的IP地址和其他網(wǎng)絡(luò)參數(shù),那就會對網(wǎng)絡(luò)造成非常大的危害。

  2、DHCP Server的拒絕服務(wù)攻擊

  通常DHCP服務(wù)器通過檢查客戶端發(fā)送的DHCP請求報(bào)文中的CHADDR(也就是Client MAC address)字段來判斷客戶端的MAC地址。正常情況下該CHADDR字段和發(fā)送請求報(bào)文的客戶端真實(shí)的MAC地址是相同的。攻擊者可以利用偽造 MAC的方式發(fā)送DHCP請求,但這種攻擊可以使用Cisco 交換機(jī)的端口安全特性來防止。端口安全特性(PortSecurity)可以限制每個端口只使用唯一的MAC地址。但是如果攻擊者不修改DHCP請求報(bào)文的源 MAC地址,而是修改DHCP報(bào)文中的CHADDR字段來實(shí)施攻擊,那端口安全就不起作用了。由于DHCP服務(wù)器認(rèn)為不同的CHADDR值表示請求來自不同的客戶端,所以攻擊者可以通過大量發(fā)送偽造CHADDR的DHCP請求,導(dǎo)致DHCP服務(wù)器上的地址池被耗盡,從而無法為其他正常用戶提供網(wǎng)絡(luò)地址,這是一種DHCP耗竭攻擊。DHCP耗竭攻擊可以是純粹的DOS攻擊,也可以與偽造的DHCP服務(wù)器配合使用。當(dāng)正常的DHCP服務(wù)器癱瘓時,攻擊者就可以建立偽造的DHCP服務(wù)器來為局域網(wǎng)中的客戶端提供地址,使它們將信息轉(zhuǎn)發(fā)給準(zhǔn)備截取的惡意計(jì)算機(jī)。甚至即使DHCP請求報(bào)文的源MAC地址和 CHADDR字段都是正確的,但由于DHCP請求報(bào)文是廣播報(bào)文,如果大量發(fā)送的話也會耗盡網(wǎng)絡(luò)帶寬,形成另一種拒絕服務(wù)攻擊。

  3、客戶端隨意指定IP地址

  客戶端并非一定要使用DHCP服務(wù),它可以通過靜態(tài)指定的方式來設(shè)置IP地址。如果隨便指定的話,將會大大提高網(wǎng)絡(luò)IP地址沖突的可能性。

  DHCP Snooping技術(shù)介紹

  DHCP監(jiān)聽(DHCP Snooping)是一種DHCP安全特性。Cisco交換機(jī)支持在每個VLAN基礎(chǔ)上啟用DHCP監(jiān)聽特性。通過這種特性,交換機(jī)能夠攔截第二層VLAN域內(nèi)的所有DHCP報(bào)文。

  DHCP監(jiān)聽將交換機(jī)端口劃分為兩類:

  ●非信任端口:通常為連接終端設(shè)備的端口,如PC,網(wǎng)絡(luò)打印機(jī)等

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

  通過開啟DHCP監(jiān)聽特性,交換機(jī)限制用戶端口(非信任端口)只能夠發(fā)送DHCP請求,丟棄來自用戶端口的所有其它DHCP報(bào)文,例如 DHCPOffer報(bào)文等。而且,并非所有來自用戶端口的DHCP請求都被允許通過,交換機(jī)還會比較DHCP請求報(bào)文的(報(bào)文頭里的)源MAC地址和(報(bào)文內(nèi)容里 的)DHCP客戶機(jī)的硬件地址(即CHADDR字段),只有這兩者相同的請求報(bào)文才會被轉(zhuǎn)發(fā),否則將被丟棄。這樣就防止了DHCP耗竭攻擊。信任端口可以 接收所有的DHCP報(bào)文。通過只將交換機(jī)連接到合法DHCP服務(wù)器的端口設(shè)置為信任端口,其他端口設(shè)置為非信任端口,就可以防止用戶偽造DHCP服務(wù)器來攻擊網(wǎng)絡(luò)。DHCP監(jiān)聽特性還可以對端口的DHCP報(bào)文進(jìn)行限速。通過在每個非信任端口下進(jìn)行限速,將可以阻止合法DHCP請求報(bào)文的廣播攻擊。DHCP 監(jiān)聽還有一個非常重要的作用就是建立一張DHCP監(jiān)聽綁定表(DHCP SnoopingBinding)。一旦一個連接在非信任端口的客戶端獲得一個合法的DHCPOffer,交換機(jī)就會自動在DHCP監(jiān)聽綁定表里添加一個 綁定條目,內(nèi)容包括了該非信任端口的客戶端IP地址、MAC地址、端口號、VLAN編號、租期等信息。如:

  Switch#show ip dhcp snooping binding

  MacAddress IpAddress Lease(sec) Type VLAN Interface

  ------------------ --------------- ---------- ----------------- ----------------

  00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping10 FastEthernet0/1

  這張DHCP監(jiān)聽綁定表為進(jìn)一步部署IP源防護(hù)(IPSG)和動態(tài)ARP檢測(DAI)提供了依據(jù)。說明:

  I.非信任端口只允許客戶端的DHCP請求報(bào)文通過,這里只是相對于DHCP報(bào)文來說的。其他非DHCP報(bào)文還是可以正常轉(zhuǎn)發(fā)的。這就表示客戶端可以以靜態(tài)指定IP地址的方式通過非信任端口接入網(wǎng)絡(luò)。由于靜態(tài)客戶端不會發(fā)送DHCP報(bào)文,所以DHCP監(jiān)聽綁定表里也不會有該靜態(tài)客戶端的記錄。信任端口的 客戶端信息不會被記錄到DHCP監(jiān)聽綁定表里。如果有一客戶端連接到了一個信任端口,即使它是通過正常的DHCP方式獲得IP地址,DHCP監(jiān)聽綁定表里也不有該客戶端的記錄。如果要求客戶端只能以動態(tài)獲得IP的方式接入網(wǎng)絡(luò),則必須借助于IPSG和DAI技術(shù)。

  II.交換機(jī)為了獲得高速轉(zhuǎn)發(fā),通常只檢查報(bào)文的二層幀頭,獲得目標(biāo)MAC地址后直接轉(zhuǎn)發(fā),不會去檢查報(bào)文的內(nèi)容。而DHCP監(jiān)聽本質(zhì)上就是開啟交換機(jī)對DHCP報(bào)文的內(nèi)容部分的檢查,DHCP報(bào)文不再只是被檢查幀頭了。

  III. DHCP監(jiān)聽綁定表不僅用于防御DHCP攻擊,還為后續(xù)的IPSG和DAI技術(shù)提供動態(tài)數(shù)據(jù)庫支持。

  IV.DHCP監(jiān)聽綁定表里的Lease列就是每個客戶端對應(yīng)的DHCP租約時間。當(dāng)客戶端離開網(wǎng)絡(luò)后,該條目并不會立即消失。當(dāng)客戶端再次接入網(wǎng)絡(luò), 重新發(fā)起DHCP請求以后,相應(yīng)的條目內(nèi)容就會被更新。如上面的00F.1FC5.1008這個客戶端原本插在Fa0/1端口,現(xiàn)在插在Fa0/3端口, 相應(yīng)的記錄在它再次發(fā)送DHCP請求并獲得地址后會更新為:

  Switch#show ip dhcp snooping binding

  or

  Switch#show ip source binding

  MacAddress IpAddress Lease(sec) Type VLAN Interface

  ------------------ --------------- ---------- ------------- ---- ----------------

  00:0F:1F:C5:10:08 192.168.10.131 691023 dhcp-snooping 10 FastEthernet0/3

  V.當(dāng)交換機(jī)收到一個DHCPDECLINE或DHCPRELEASE廣播報(bào)文,并且報(bào)文頭的源MAC地址存在于DHCP監(jiān)聽綁定表的一個條目中。但是報(bào)文的實(shí)際接收端口與綁定表?xiàng)l目中的端口字段不一致時,該報(bào)文將被丟棄。

  ●DHCPRELEASE報(bào)文:此報(bào)文是客戶端主動釋放IP 地址(如Windows 客戶端使用ipconfig/release),當(dāng)DHCP服務(wù)器收到此報(bào)文后就可以收回IP地址,分配給其他的客戶端了

  ●DHCPDECLINE報(bào)文:當(dāng)客戶端發(fā)現(xiàn)DHCP服務(wù)器分配給它的IP地址無法使用(如IP地址發(fā)生沖突)時,將發(fā)出此報(bào)文讓DHCP服務(wù)器禁止使用這次分配的IP地址。

  VI. DHCP監(jiān)聽綁定表中的條目可以手工添加。

  VII. DHCP監(jiān)聽綁定表在設(shè)備重啟后會丟失,需要重新綁定,但可以通過設(shè)置將綁定表保存在flash或者tftp/ftp服務(wù)器上,待設(shè)備重啟后直接讀取,而不需要客戶端再次進(jìn)行綁定

  VIII. 當(dāng)前主流的Cisco交換機(jī)基本都支持DHCP Snooping功能。

  DHCP Option 82

  當(dāng)DHCP服務(wù)器和客戶端不在同一個子網(wǎng)內(nèi)時,客戶端要想從DHCP服務(wù)器上分配到IP地址,就必須由DHCP中繼代理(DHCPRelayAgent)來轉(zhuǎn)發(fā)DHCP請求包。DHCP中繼代理將客戶端的DHCP報(bào)文轉(zhuǎn)發(fā)到DHCP服務(wù)器之前,可以插入一些選項(xiàng)信息,以便 DHCP服 務(wù)器能更精確的得知客戶端的信息,從而能更靈活的按相應(yīng)的策略分配IP地址和其他參數(shù)。這個選項(xiàng)被稱為:DHCP relay agentinformation option(中繼代理信息選項(xiàng)),選項(xiàng)號為82,故又稱為option 82,相關(guān)標(biāo)準(zhǔn)文檔為RFC3046.Option82是對DHCP選項(xiàng)的擴(kuò)展應(yīng)用。選項(xiàng)82只是一種應(yīng)用擴(kuò)展,是否攜帶選項(xiàng)82并不會影響DHCP原有 的應(yīng)用。另外還要看DHCP服務(wù)器是否支持選項(xiàng)82.不支持選項(xiàng)82的DHCP服務(wù)器接收到插入了選項(xiàng)82的報(bào)文,或者支持選項(xiàng)82的DHCP服務(wù)器接收到了沒有插入選項(xiàng)82的報(bào)文,這兩種情況都不會對原有的基本的DHCP服務(wù)造成影響。要想支持選項(xiàng)82帶來的擴(kuò)展應(yīng)用,則DHCP服務(wù)器本身必須支持選項(xiàng) 82以及收到的DHCP報(bào)文必須被插入選項(xiàng)82信息。從非信任端口收到DHCP請求報(bào)文,不管DHCP服務(wù)器和客戶端是否處于同一子網(wǎng),開啟了DHCP監(jiān) 聽功能的Cisco交換機(jī)都可以選擇是否對其插入選項(xiàng)82信息。默認(rèn)情況下,交換機(jī)將對從非信任端口接收到的DHCP請求報(bào)文插入選項(xiàng)82信息。

  當(dāng)一臺開啟DHCP監(jiān)聽的匯聚交換機(jī)和一臺插入了選項(xiàng)82信息的邊界交換機(jī)(接入交換機(jī))相連時:

  ●如果邊界交換機(jī)是連接到匯聚交換機(jī)的信任端口,那么匯聚交換機(jī)會接收從信任端口收到的插入選項(xiàng)82的DHCP報(bào)文信息,但是匯聚交換機(jī)不會為這些信息建立DHCP監(jiān)聽綁定表?xiàng)l目。

  ●如果邊界交換機(jī)是連接到匯聚交換機(jī)的非信任端口,那么匯聚交換機(jī)會丟棄從該非信任端口收到的插入了選項(xiàng)82的DHCP報(bào)文信息。但在 IOS12.2(25)SE版本之后,匯聚交換機(jī)可以通過在全局模式下配置一條ip dhcp snooping informationallow-untrusted命令。這樣匯聚交換機(jī)就會接收從邊界交換機(jī)發(fā)來的插入選項(xiàng)82的DHCP報(bào)文信息,并且也為這些信 息建立DHCP監(jiān)聽綁定表?xiàng)l目。

  在配置匯聚交換機(jī)下聯(lián)口時,將根據(jù)從邊界交換機(jī)發(fā)送過來的數(shù)據(jù)能否被信任而設(shè)置為信任或者非信任端口。

  四、DHCP Snooping的配置

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

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

  Switch(config)#ip dhcp snooping verify mac-address //檢測非信任端口收到的DHCP請求報(bào)文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭攻擊,該功能默認(rèn)即為開啟

  Switch(config-if)#ip dhcp snooping trust //配置接口為DHCP監(jiān)聽特性的信任接口,所有接口默認(rèn)為非信任接口

  Switch(config-if)#ip dhcp snooping limit rate 15 //限制非信任端口的DHCP報(bào)文速率為每秒15個包(默認(rèn)即為每秒15個包)如果不配該語句,則show ip dhcp snooping的結(jié)果里將不列出沒有該語句的端口,可選速率范圍為1-2048

  建議:在配置了端口的DHCP報(bào)文限速之后,最好配置以下兩條命令

  Switch(config)#errdisable recovery causedhcp-rate-limit //使由于DHCP報(bào)文限速原因而被禁用的端口能自動從err-disable狀態(tài)恢復(fù)

  Switch(config)#errdisable recovery interval 30 //設(shè)置恢復(fù)時間;端口被置為err-disable狀態(tài)后,經(jīng)過30秒時間才能恢復(fù)

  Switch(config)#ip dhcp snooping information option //設(shè)置交換機(jī)是否為非信任端口收到的DHCP報(bào)文插入Option 82,默認(rèn)即為開啟狀態(tài)

  Switch(config)#ip dhcp snooping information optionallow-untrusted //設(shè)置匯聚交換機(jī)將接收從非信任端口收到的接入交換機(jī)發(fā)來的帶有選項(xiàng)82的DHCP報(bào)文

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

  Switch(config)#ip dhcp snooping databaseflash:dhcp_snooping.db //將DHCP監(jiān)聽綁定表保存在flash中,文件名為dhcp_snooping.db

  Switch(config)#ip dhcp snoopingdatabase tftp://192.168.2.5/Switch/dhcp_snooping.db //將DHCP監(jiān)聽綁定表保存到tftp服務(wù)器;192.168.2.5為tftp服務(wù)器地址,必須事先確定可達(dá)。URL中的Switch是tftp服務(wù) 器下一個文件夾;保存后的文件名為dhcp_snooping.db,當(dāng)更改保存位置后會立即執(zhí)行"寫"操作。

  Switch(config)#ip dhcp snooping database write-delay30 //指DHCP監(jiān)聽綁定表發(fā)生更新后,等待30秒,再寫入文件,默認(rèn)為300秒;可選范圍為15-86400秒

  Switch(config)#ip dhcp snooping database timeout 60//指DHCP監(jiān)聽綁定表嘗試寫入操作失敗后,重新嘗試寫入操作,直到60秒后停止嘗試。默認(rèn)為300秒;可選范圍為0-86400秒

  說 明:實(shí)際上當(dāng)DHCP監(jiān)聽綁定表發(fā)生改變時會先等待write-delay的時間,然后執(zhí)行寫入操作,如果寫入操作失敗(比如tftp服務(wù)器不可達(dá)),接 著就等待timeout的時間,在此時間段內(nèi)不斷重試。在timeout時間過后,停止寫入嘗試。但由于監(jiān)聽綁定表已經(jīng)發(fā)生了改變,因此重新開始等待 write-delay時間執(zhí)行寫入操作……不斷循環(huán),直到寫入操作成功。

  Switch#renew ip dhcp snooping databaseflash:dhcp_snooping.db //特權(quán)級命令;立即從保存好的數(shù)據(jù)庫文件中讀取DHCP監(jiān)聽綁定表。

  看過文章“思科交換機(jī)DHCPSnooping"的人還看了:

  1.思科配置常見問題及其解決方法

  2.思科路由器控制端口連接圖解

  3.利用Cisco的ISO命令檢測以太網(wǎng)端口故障

  4.Cisco路由器交換機(jī)防火墻配置命令詳解

  5.如何修改思科路由器端口

  6.cisco 端口限速

  7.思科路由器的控制口接口的連接及做法

  8.CISCO路由器的配置與調(diào)試

  9.教你如何設(shè)置Cisco路由器安全

  10.cisco 4506端口限速

554443