內(nèi)網(wǎng)非法DHCP的處理
現(xiàn)在的企業(yè)網(wǎng)絡結(jié)構(gòu),基本上都是內(nèi)網(wǎng)外網(wǎng)并存。那么在使用DHCP服務器的時候,就有可能出現(xiàn)內(nèi)網(wǎng)非法DHCP服務器等相關的問題。所以這里我們就來詳細探討一下有關內(nèi)容。如果公司內(nèi)網(wǎng)由于用戶自行安裝了Windows Server版本的操作系統(tǒng)而小心啟用了DHCP服務,或其他因素在內(nèi)網(wǎng)中出現(xiàn)了非授權的DHCP服務器,會給網(wǎng)絡造成什么樣的影響呢?
DHCP server可以自動為用戶設置網(wǎng)絡IP地址、掩碼、網(wǎng)關、DNS、WINS 等網(wǎng)絡參數(shù),簡化了用戶網(wǎng)絡設置,提高了管理效率。但是,此時如果服務器和客戶端沒有認證機制,網(wǎng)絡上存在的非法的DHCP服務器將會給部分主機的地址分配、網(wǎng)關及DNS參數(shù)照成混亂,導致主機無法連接到外部網(wǎng)絡。出現(xiàn)這種情況,如何解決這些問題呢?
作為客戶端計算機來說,可以嘗試使用ipconfig /release釋放獲得的網(wǎng)絡參數(shù)后,然后用ipconfig /renew重新嘗試獲取正確的DHCP服務器配置服務,但這種方法很被動,往往要十幾次甚至幾十次才偶爾有可能成功一次,不能從根本解決問題。
另外一個解決辦法,在windows系統(tǒng)組建的網(wǎng)絡中,如果內(nèi)網(wǎng)非法DHCP服務器也是用Windows系統(tǒng)建立的話我們可以通過“域”的方式對非法DHCP服務器進行過濾。將合法的DHCP服務器添加到活動目錄(Active Directory)中,通過這種認證方式就可以有效的制止內(nèi)網(wǎng)非法DHCP服務器了。原理就是沒有加入域中的DHCP Server在相應請求前,會向網(wǎng)絡中的其他DHCP Server發(fā)送DHCPINFORM查詢包,如果其他DHCP Server有響應,那么這個DHCP Server就不能對客戶的要求作相應,也就是說網(wǎng)絡中加入域的DHCP服務器的優(yōu)先級比沒有加入域的DHCP服務器要高。這樣當合法DHCP存在時非法的就不起任何作用了。
授權合法DHCP的過程如下:
第一步:開始->程序->管理工具->DHCP
第二步:選擇DHCP root, 用鼠標右鍵單擊,然后瀏覽選擇需要認證的服務器。
第三步:點“添加”按鈕, 輸入要認證的DHCP服務器IP地址, 完成授權操作。
但是該方法只適用于內(nèi)網(wǎng)非法DHCP服務器是windows系統(tǒng),需要用到域和活動目錄,配置較復雜,另外對于非Windows的操作系統(tǒng),就顯得力不從心了。
還有更好的方法,就是利用交換機的DHCP監(jiān)聽,通過建立和維護DHCP Snooping綁定表過濾不可信任的DHCP信息,也就是過濾掉非法DHCP服務器向網(wǎng)絡上發(fā)送的數(shù)據(jù)包。首先定義交換機上的信任端口和不信任端口,將DHCP服務器所連接的端口定義為信任端口,其它連接到普通客戶端的端口全部定義為不信任端口,對于不信任端口的DHCP報文進行截獲和嗅探,drop掉來自這些端口的非正常 DHCP 報文,從而達到過濾內(nèi)網(wǎng)非法DHCP服務器的目的。
基本配置示例:
switch(config)#ip dhcp snooping vlan 100,200
/* 定義哪些 VLAN 啟用 DHCP 嗅探
switch(config)#ip dhcp snooping
switch(config)#int fa4/10 /* dhcp服務器所在端口
switch(config-if)#ip dhcp snooping trust
switch(config)#int range fa3/1 - 48 /* 其它端口
switch(config-if)#no ip dhcp snooping trust (Default)
switch(config-if)#ip dhcp snooping limit rate 10 (pps)
/* 一定程度上防止 DHCP 拒絕服務攻擊