怎樣解決非法DHCP服務器所帶來的問題?
在我們建設網絡中,安全一直是重中之重。那么對于非法DHCP服務器所帶來的影響大家是否清楚呢?那么都會發生什么樣的非法DHCP服務器問題呢?這里我們就來主要講解一下如何解決局域網非法DHCP服務器的問題。
最近公司里部分計算機頻繁出現不能上網的問題,這些計算機都是自動獲得IP的,但經過檢查我發現他們獲得的網關地址是錯誤的,按照常理DHCP不會把錯誤的網關發送給客戶端計算機的。后來我使用ipconfig /release釋放獲得的網絡參數后,用ipconfig /renew可以獲得真實的網關地址,而大部分獲得的仍然是錯誤的數據。所以我斷言局域網中肯定存在其他的DHCP服務器,也叫做非法DHCP服務器。為什么真正的DHCP服務器分配的網絡參數無法正確傳輸到客戶機上呢?
首先來了解下DHCP的服務機制:
一般公司內部都會有一個DHCP服務器來給客戶端計算機提供必要的網絡參數信息的,例如IP地址,子網掩碼,網關,DNS等地址,很多情況路由器就可以擔當此重任。每次客戶端計算機啟動后都會向網絡中發送廣播包尋找DHCP服務器(前提是該計算機被設置為自動獲得IP地址),廣播包隨機發送到網絡中,當有一臺DHCP服務器收到這個廣播包后就會向該包源MAC地址的計算機發送一個應答信息,同時從自己的地址池中抽取一個IP地址分配給該計算機。
為什么非法DHCP會被客戶端計算機認為是合法的?
根據DHCP的服務機制,客戶端計算機啟動后發送的廣播包會發向網絡中的所有設備,究竟是合法DHCP服務器還是非法DHCP服務器先應答是沒有任何規律的,客戶端計算機也沒有區分合法和非法的能力。這樣網絡就被徹底擾亂了,原本可以正常上網的機器再也不能連接到intelnet。
解決方法:
1、ipconfig /release 和 ipconfig /renew
我們可以通過多次嘗試廣播包的發送來臨時解決這個問題,直到客戶機可以得到真實的地址為止。即先使用ipconfig /release釋放非法網絡數據,然后使用ipconfig /renew嘗試獲得網絡參數,如果還是獲得錯誤信息則再次嘗試/release與/renew直到得到正確信息。
提醒:這種方法治標不治本,反復嘗試的次數沒有保證,另外當DHCP租約到期后客戶端計算機需要再次尋找DHCP服務器獲得信息,故障仍然會出現。
2、通過“域”的方式對非法DHCP服務器進行過濾
將合法的DHCP服務器添加到活動目錄(Active Directory)中,通過這種認證方式就可以有效的制止非法DHCP服務器了。原理就是沒有加入域中的DHCP Server在相應請求前,會向網絡中的其他DHCP Server發送DHCPINFORM查詢包, 如果其他DHCP Server有響應,那么這個DHCP Server就不能對客戶的要求作相應,也就是說網絡中加入域的DHCP服務器的優先級比沒有加入域的DHCP服務器要高。這樣當合法DHCP存在時非法的就不起任何作用了。
提醒:這種方法效果雖然不錯,但需要域的支持。要知道對于眾多中小企業來說“域”對他們是大材小用,基本上使用工作組就足以應對日常的工作了。所以這個方法,效果也不錯,但不太適合實際情況。
3、在路由交換設備上封端口
DHCP服務主要使用的是UDP的67和68端口,DHCP服務器端應答數據包使用68端口,67端口為客戶機發送請求時使用。所以我們可以在路由器上保留服務器的68端口,封閉客戶機的68端口,就能達到過濾非法DHCP服務器的目的。
提醒:如果計算機很多的話,操作起來不方便,而且會增加路由器的負擔,影響到網絡速度。
4、查出非法DHCP服務器幕后黑手,進行屏蔽
DHCP服務器也充當著網關的作用,如果獲得了非法網關地址,也就是知道了非法DHCP服務器的IP地址。通過ping ip 查到主機名,通過arp 主機名 查出MAC地址。知道了MAC地址,就可以在路由器中屏蔽這個MAC,或者是屏蔽該MAC的68端口。或者其他的方法都行,幕后黑手都找到了,怎么處置就隨你了。我用的就是這第4種方法。