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