DHCP Snooping基本原理
使能了DHCP Snooping的設備将用戶(DHCP客戶端)的DHCP請求報文通過信任接口發送給合法的DHCP服務器。之後設備根據DHCP服務器回應的DHCP ACK報文信息生成DHCP Snooping綁定表。後續設備再從使能了DHCP Snooping的接口接收用戶發來的DHCP報文時,會進行匹配檢查,能夠有效防範非法用戶的攻擊。
DHCP Snooping信任功能
DHCP Snooping的信任功能,能夠保證客戶端從合法的服務器獲取IP(Internet Protocol)地址。
如圖1所示,網絡中如果存在私自架設的DHCP Server仿冒者,則可能導緻DHCP客戶端獲取錯誤的IP地址和網絡配置參數,無法正常通信。DHCP Snooping信任功能可以控制DHCP服務器應答報文的來源,以防止網絡中可能存在的DHCP Server仿冒者為DHCP客戶端分配IP地址及其他配置信息。
DHCP Snooping信任功能将接口分為信任接口和非信任接口:
信任接口正常接收DHCP服務器響應的DHCP ACK、DHCP NAK和DHCP Offer報文。另外,設備隻會将DHCP客戶端的DHCP請求報文通過信任接口發送給合法的DHCP服務器。
非信任接口在接收到DHCP服務器響應的DHCP ACK、DHCP NAK和DHCP Offer報文後,丢棄該報文。
圖一 DHCP Snooping 信任功能示意圖
DHCP Snooping綁定表
如圖2所示的DHCP場景中,連接在二層接入設備上的PC配置為自動獲取IP地址。PC作為DHCP客戶端通過廣播形式發送DHCP請求報文,使能了DHCP Snooping功能的二層接入設備将其通過信任接口轉發給DHCP服務器。最後DHCP服務器将含有IP地址信息的DHCP ACK報文通過單播的方式發送給PC。在這個過程中,二層接入設備收到DHCP ACK報文後,會從該報文中提取關鍵信息(包括PC的MAC地址以及獲取到的IP地址、地址租期),并獲取與PC連接的使能了DHCP Snooping功能的接口信息(包括接口編号及該接口所屬的VLAN),根據這些信息生成DHCP Snooping綁定表。以PC1為例,圖2中二層接入設備會從DHCP ACK報文提取到IP地址信息為192.168.1.253,MAC地址信息為MACA。再獲取與PC連接的接口信息為if3,根據這些信息生成一條DHCP Snooping綁定表項。
圖二 DHCP Snooping綁定表功能示意圖
圖二 DHCP Snooping 綁定表功能示意圖
DHCP Snooping綁定表根據DHCP租期進行老化或根據用戶釋放IP地址時發出的DHCP Release報文自動删除對應表項。
由于DHCP Snooping綁定表記錄了DHCP客戶端IP地址與MAC地址等參數的對應關系,故通過對報文與DHCP Snooping綁定表進行匹配檢查,能夠有效防範非法用戶的攻擊。
為了保證設備在生成DHCP Snooping綁定表時能夠獲取到用戶MAC等參數,DHCP Snooping功能需應用于二層網絡中的接入設備或第一個DHCP Relay上。
在DHCP中繼使能DHCP Snooping場景中,DHCP Relay設備不需要設置信任接口。因為DHCP Relay收到DHCP請求報文後進行源目的IP、MAC轉換處理,然後以單播形式發送給指定的合法DHCP服務器,所以DHCP Relay收到的DHCP ACK報文都是合法的,生成的DHCP Snooping綁定表也是正确的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!