DHCP Snooping
對于DHCP來說,可能有些朋友已經(jīng)了若指掌了。那么那些新手朋友可能對 DHCP Snooping這部分內(nèi)容還有所疑惑。這里我們就來講解一下 DHCP Snooping的知識。希望對大家有用。首先讓我們看看DHCP服務器的客戶端和服務端的相關工作流程是什么樣的。
DHCP Client 發(fā)出 DHCP DISCOVER廣播報文給 DHCP Server,若 Client 在一定時間內(nèi)沒有收到服務器的響應,則重發(fā) DHCP DISCOVER 報文。DHCP Server收到 DHCP DISCOVER報文后,根據(jù)一定的策略來給 Client 分配資源(如 IP 地址),然后發(fā)出 DHCP OFFER報文。DHCP Client 收到 DHCP OFFER報文后,發(fā)出 DHCP REQUEST請求,請求獲取服務器租約,并通告其他服務器已接受此服務器分配地址。
服務器收到 DHCP REQUEST報文,驗證資源是否可以分配,如果可以分配,則發(fā)送 DHCP ACK 報文;如果不可分配,則發(fā)送 DHCP NAK 報文。DHCP Client收到 DHCP ACK 報文,就開始使用服務器分配的資源。如果收到 DHCP NAK,則重新發(fā)送 DHCP DISCOVER報文。
理解DHCP Snooping
DHCP Snooping 就是 DHCP 窺探,通過對 Client 和服務器之間的 DHCP 交互報文進行窺探,實現(xiàn)對用戶的監(jiān)控,同時 DHCP Snooping起到一個 DHCP 報文過濾的功能,通過合理的配置實現(xiàn)對非法服務器的過濾。下邊對 DHCP Snooping內(nèi)使用到的一些術語及功能進行一些解釋:
DHCP Snooping TRUST 口:由于 DHCP 獲取 IP的交互報文是使用廣播的形式,從而存在著非法服務器影響用戶正常 IP 的獲取,更有甚者通過非法服務器欺騙竊取用戶信息的現(xiàn)象,為了防止非法服務器的問題,DHCP nooping 把端口分為兩種類型, TRUST口和UNTRUST口,設備只轉發(fā)TRUST口收到的DHCP Reply報文,而丟棄所有來自UNTRUST口DHCP Reply報文,這樣我們把合法的DHCP Server 連接的端口設置為 TURST 口,其他口設置為 UNTRUST 口,就可以實現(xiàn)對非法 DHCP Server 的屏蔽。
DHCP Snooping 綁定數(shù)據(jù)庫:在 DHCP 環(huán)境的網(wǎng)絡里經(jīng)常會出現(xiàn)用戶私自設置IP 地址的問題,用戶私設 IP 地址不但使網(wǎng)絡難以維護,并且會導致一些合法的使用 DHCP 獲取 IP 的用戶因為沖突而無法正常使用網(wǎng)絡, DHCP Snooping通過窺探 Client 和 Server 之間交互的報文,把用戶獲取到的 IP信息以及用戶 MAC、VID、PORT、租約時間等信息組成一個用戶記錄表項,從而形成一個 DHCP Snooping 的用戶數(shù)據(jù)庫,配合 ARP檢測功能的使用,從而達到控制用戶上網(wǎng)的目的。
DHCP Snooping 就是通過對經(jīng)過設備的 DHCP 報文進行合法性檢查,丟棄不合法的 DHCP 報文,并記錄用戶信息生成 DHCP Snooping 綁定數(shù)據(jù)庫供 ARP 檢測查詢使用。以下幾種類型的報文被認為是非法的 DHCP 報文:
1. UNTRUST 口收到的 DHCP reply 報文,包括 DHCPACK、DHCPNACK、DHCPOFFER 等。
2. 打開 mac 校驗時,源 MAC 與 DHCP 報文攜帶的 DHCP Client 字段值分別為不同的報文。
3. 用戶的信息存在于 DHCP Snooping 綁定數(shù)據(jù)庫中,但是端口信息與設備保存在DHCP綁定數(shù)據(jù)庫中的信息中的端口信息不一致的DHCPRELEASE報文。