何為DHCP監(jiān)聽?
對于DHCP的內容,我們講述了不少,這里我們主要講解一下有關于DHCP監(jiān)聽的內容。那么什么事DHCP監(jiān)聽呢?如何設置這個監(jiān)聽以及相關的配置和操作又需要注意一下什么呢?
DHCP監(jiān)聽:
通過DHCP監(jiān)聽,交換機能限制終端用戶端口(非信任端口)只能夠發(fā)送DHCP請求,并且丟棄來自用戶端口的所有其他DHCP報文,例如DHCP提供(OFFER)相應報文等。信任端口能夠發(fā)送或接受所有的DHCP報文
交換機內部有一個IP源綁定表(IP Source Binding Table)作為每個端口接受到的數據包的檢測標準,只有在兩種情況下,交換機會轉發(fā)數據:
1.所接收到的IP包滿足IP源綁定表中Port/IP/MAC的對應關系
2.所接收到的是DHCP數據包
其余數據包將被交換機做丟棄處理。
1.IP源綁定表可以由用戶在交換機上靜態(tài)添加
2.或者由交換機從DHCP監(jiān)聽綁定表(DHCP Snooping Binding Table)自動學習獲得。
交換機從DHCP報文中提取關鍵信息(包括IP地址,MAC地址,vlan號,端口號,租期等),并把這些信息保存到 DHCP 監(jiān)聽綁定表中。(以上這個過程是由DHCP Snooping完成的)。IP源防護只支持第2層端口,其中包括接入(access)端口和干道(trunk)接口。IP源防護的信任端口/非信任端口也就是DHCP監(jiān)聽的信任端口/非信任端口。對于非信任端口存在以下兩種級別的IP流量安全過濾:
源IP地址過濾:默認情況下,如果端口在沒有存在IP源綁定條目的情況下啟用了IP源防護功能,默認的PACL將拒絕端口的所有流量(實際上是除 DHCP報文以外的所有IP流量)。配置:
SW2(config)#int g0/9
SW2(config-if)#ip verify source
源IP和源MAC地址過濾:當以IP和MAC地址作為過濾的時候,為了確保DHCP協(xié)議能夠正常的工作,還必須啟用DHCP監(jiān)聽選項82。 對于沒有選項82的數據,交換機不能確定用于轉發(fā)DHCP服務器響應的客戶端主機端口。相反地,DHCP服務器響應將被丟棄,客戶機也不能獲得IP地址。
注:交換機使用端口安全(SW2(config-if)#switchport port-security)來過濾源MAC地址。
當交換機只使用“IP源地址過濾”時,IP源防護功能與端口安全功能是相互獨立的關系。 端口安全是否開啟對于IP源防護功能來說不是必須的。 如果同時開啟,則兩者也只是一種寬松的合作關系,IP源防護防止IP地址欺騙,端口安全防止MAC地址欺騙。而當交換機使用“源IP和源MAC地址過濾”時,IP源防護功能與端口安全功能是就變成了一種“集成”關系,更確切的說是端口安全功能被集成到 IP源防護功能里,作為IP源防護的一個必須的組成部分。在這種模式下,端口安全的違規(guī)處理(violation)功能將被關閉。對于非法的二層報文,都將只是被簡單的丟棄,而不會再執(zhí)行端口安全的違規(guī)處理了。IP源防護功能不能防止客戶端PC的ARP攻擊。ARP攻擊問題必須由DAI功能來解決。如果要支持IP源防護功能,必須是35系列及以上的交換機。2960目前不支持該功能。
Switch#show ip dhcp snooping binding
Switch#show ip source binding
Switch#show ip verify source
ip dhcp snooping information option allow-untrusted
IP源防護只針對非信任端口起作用,對信任端口不起作用。所以不需要為接在信任端口上的主機添加靜態(tài)IP源綁定,其依然可以正常通信。IP源綁定能阻止非信任端口上的客戶端以靜態(tài)指定IP地址的方式接入網絡。 這些客戶端將無法通信,除非為其手工添加靜態(tài)IP源綁定條目。
說明:本例中采用“源IP和源MAC地址過濾”模式,采用該模式需要注意以下三點:
(1)交換機必須對客戶端的DHCP請求插入選項82信息,即必須配置ip dhcp snooping information option命令(默認即為開啟)。對于沒有插入選項82的DHCP請求,交換機不能確定用于轉發(fā)DHCP服務器響應的客戶端主機端口。相反地,DHCP服務器響應將被丟棄,客戶機也不能獲得IP地址。DHCP回復包因為找不到目標端口而被交換機丟棄了。
(2)所使用的DHCP服務器必須支持利用DHCP選項82分配IP地址的功能,否則客戶端將無法獲得IP地址(debug信息類似第(1)項所述)。像Win2003,Cisco IOS 12.2等作為DHCP服務器時都不支持利用DHCP選項82來分配IP地址。本例中如果采用12.2版本的IOS,將出現(xiàn)客戶端無法獲得IP地址的情況。Cisco IOS從版本12.3(4)T 開始支持利用選項82分配IP地址。 最簡單的方法,看IOS是否支持命令ip dhcp use class。
(3)必須在端口下同時配置switchport port-security命令。 若沒有該命令,本模式的最終效果與“源IP地址過濾”模式將相同。
將IP源防護應用于3560下聯(lián)的trunk接口上,該接口為非信任接口。由于2960沒有IP源防護功能,所以從2960過來的數據報文是有可能存在IP欺騙攻擊的。在3560的trunk口上應用IP源防護將可以把攻擊隔絕在這里,使受攻擊的范圍減小到最小。但由于 2960本身沒有該功能,所以接在2960上的各個主機之間仍有可能存在攻擊行為。對有防護能力的交換機,級聯(lián)時級聯(lián)端口可以選為ip dhcp snooping trust.