DHCP是動態主機分配協議的簡稱。隨著企業主機數量的增多,越來越多的企業,開始采用DHCP的形式來動態的分配IP地址。采用DHCP服務器來管理企業網絡的IP地址,優勢是很明顯的。如可以有效的避免IP地址的沖突問題,可以省去手工配置相關網絡參數的麻煩。
但是,采用DHCP服務器分配IP地址也有一個比較麻煩的地方,就是都某臺電腦的主人由于出差等原因,一段時間沒有開啟之后,下次等他來上班時,他打開主機的時候,IP地址就會改變。這是一個讓人難以接受的地方。因為如此的話,一些針對IP地址的網絡安全策略,如根據IP地址來限制上網等等,會失效。
一、 發生的原因
這主要是根據DHCP服務器的工作原理相關的。DHCP服務器是根據租約來實現對IP地址的管理的。
客戶端主機第一次登陸網絡之后,會從DHCP服務器那邊獲取一個IP地址,包括租約等信息。除非其租約已經失效,否則的話,下次登陸網絡的時候客戶端不會再向DHCP服務器發送請求信息,而是直接發送CHCP REQUEST信息。DHCP負uwqi會盡量讓客戶段使用原來的IP地址。如果沒有特殊情況的話,只需要直接相應DHCP PACK來確認即可。但是,如果這個地址已經被其它主機使用了,則服務器就不會再把這個IP地址讓其使用,而是會讓客戶端發送一個DHCP DISCOVER,重新從服務器那邊獲取一個最新的IP地址。可見,當租約期限滿之后,客戶端沒有繼續續租的話,則這個IP地址就有可能改變。而由于有些員工要出差,有時會往往不能在租約到期后,及時向服務器續租,從而造成前后兩次登陸網絡的IP地址發生改變。
一開始,DHCP之所以采用租約的形式來管理IP地址,是為了解決IP地址缺少的問題。由于企業網絡內部每臺網絡設備,必須采用一個唯一的IP地址。若IP地址重復的話,就會造成地址沖突,從而影響到相關網絡設備的正常使用。所以,當租約到期后,DHCP服務器會釋放這個IP地址,給其它的主機采用。而且,DHCP給其它主機分配IP地址的時候,使根據IP地址池中的IP地址從小到大進行分配的,這就更加增大了IP地址變更的幾率。
另外,現在有不少企業是通過IP地址來執行一些網絡管理策略的。如根據IP地址限制某些員工訪問網絡或者根據IP地址允許某些員工使用QQ等即時聊天工具等等。雖然企業可以通過MAC地址來實現這個目的。但是,采用MAC地址的話,管理起來比較麻煩。若讓你輸IP地址還是輸MAC地址,我們當然會選擇輸入IP地址,因為這個輸入起來比較容易,最重要的是,不怎么會輸入錯誤。而MAC地址輸入錯誤的幾率就會高的多。
一方面DHCP服務器會當客戶端租約到期后,會不斷的更改客戶段的IP地址;另一方面,我們又希望客戶端的IP地址能夠相對的穩定。難道企業就不能夠使用DHCP服務器了嗎?其實不然。只要稍微動一下腦筋,我們也可以讓DHCP服務器,提供固定的IP地址給客戶端。
二、 解決方案
下面我以微軟的DHCP服務器為例,談談如何把這個IP地址固定下來。
1、 打開微軟的DCHP服務器管理窗口,右鍵單擊DCHP服務器,然后會談出一個菜單,選擇“新建作用域”選項。然后系統會彈出一個對話窗口,根據這個向導一步步的填好相關的內容。如可以采用的IP地址、不能采用的IP地址等等。在填寫這些信息的時候,會讓網絡管理員輸入一個“服務器分配的作用率租約期限”,默認的情況為8天。雖然這里可以把這個時間改的足夠的大,但是,這個租約期限仍然會到期。若遇到一些員工產假等休長假的員工,休假回來上班后,IP地址仍然可能會改變。所以我們的目的是把這個期限設置為無限長,也就是說,這個租約是永久租約。如此的話,就可以實現利用DHCP服務器來分配固定IP地址的需求。不過要注意的是,在新建作用域的時候,是不能夠指定為無限制的。需要作用域建立完畢之后,再進行修改。
2、 作用域建立好之后,默認情況下,其租約只有八天。也就是說,八天租約完畢之后,客戶端若不及時向DHCP服務器申請的話(如員工在租約期限快滿的前幾天剛好出差在外或者休假的話),則很有可能這個IP地址要改變。所以,我們需要把這個租約期限設置的無限長。在DHCP服務器管理窗口,選擇我們剛才建立的那個作用域。右鍵單擊,然后選擇菜單中的“屬性”,找到“DHCP客戶端的租約期限”選項。我們可以看到,有“限制為”與“無限制”兩個單選框。默認情況下,其選項為“限制為”,并且其租約期限為八天。在這里我們為了達到固定IP地址的目的,所以,把這個選項選擇為“無限制”。如此的話,就沒有IP地址租約之說了。DHCP服務器也就不會主動收回IP地址了。
3、 雖然有時會我們也可以把這個租約的期限設置為足夠長的話,也可以實現這個目的。但是,一般來說不怎么保險。因為很可能員工是在到期前的幾天休假,那么,這個租約最長也沒用。所以,我建議,網絡管理員還是把這個租約設置為無限制為好。否則的話,很可能功虧一簣。
三、 四個注意點
這個方法的話,也不是說適用于全部場合的。有時會還是要根據實際情況作出一些限制的。
一是要考慮一下客戶端的數量跟DHCP服務器預先留的IP地址數量是否夠。如果DHCP服務器預先留的IP地址數量只有200個,而DCHP客戶端的話有201個,則由于IP地址不夠,很可能某個客戶端無法獲得IP地址。而若采用了較短租約的話,DCHP服務器就會及時收回那些暫時不用的主機的IP地址,解決燃眉之急。可見,若要把DHCP服務器的IP租約設置為無限制的話,則一個前提條件就是DCHP服務器的IP地址空間,可以滿足現有的需求。否則的話,就必須采用租約,而且必須把這個租約設置的足夠的短。否則的話,就很可能因為IP地址不夠,而導致客戶端無法及時的獲得IP地址。
二是當某些客戶端不用的時候,需要及時把這個IP地址釋放掉。如有時候,可能電腦壞掉或者電腦升級的時候,換掉原有的電腦的時候,在換掉之前,就需要在客戶端中,利用DHCP的命令,把這個IP地址人為的釋放掉。否則的話,當這臺主機換下之后,DHCP服務器并不知道這個客戶端已經不用了,就會長期的占用這個IP地址。這跟采用了租約的DHCP服務器不同。若采用了租約的話,當租約期限滿后,客戶端不申請的話,則DHCP服務器會自動收回這個IP地址。為此,當網絡管理員把這個租約設置為“無限制”的話,就需要注意,當更換網絡設備的時候,即使把這個IP地址手工的釋放。否則的話,無用IP地址累積下去的話,遲早把DHCP服務器中的IP地址耗用光。
三是對于一些網絡設備,如網絡打印機、防火墻、應用軟件服務器,然后不建議采用這種方式獲取ip地址等相關的網路參數。也就是說,對于這些設備的話,我們還是建議用戶通過手工的配置其IP地址等參數。這主要是出于保險起見。因為到DHCP服務器出現故障的時候,或者客戶端連接不上DHCP服務器的時候,則仍然會出現IP地址混亂的情況。所以,對于穩定性要求比較高的企業應用服務器,我們還是建議網絡管理員通過手工管理的方式來固定IP地址,即采用手工配置的方式。不過,這寫IP地址的話,必須在DHCP服務器中把它排除掉。不然的話,有可能造成IP地址的沖突。
四是要注意,若對租約不進行限制的話,則就會失去DHCP服務器很重要的一個特性,即幫助節省IP地址的功能。我們都知道,DHCP可以實現很多功能,如防止IP地址沖突、自動配置相關的網絡參數等等。另外,還有一個重要的功能就是提高IP地址的利用率。也就是說,當某個客戶端不用的時候,其IP地址有可能被收回給其他的客戶端使用,從而提高IP地址的利用率。而我們把租約設置為無限制的話,則就不能夠享受這個功能了。不過,若IP地址的數量大于企業客戶端數量的話,這個功能有沒有也無所謂。
總之,DHCP服務器給我們網絡管理員帶來了很大的便利,我們需要靈活配置DHCP服務器,來滿足我們日常的需求。若沒有DHCP服務器的話,需要手工配置各個客戶端主機的相關網絡參數,如IP地址、DNS地址、網關信息等等,想想都感到害怕。而且,若網絡規劃發生改變的話,則可能還需要更改網絡掩碼等網絡參數,那么工作量是可想而知的,需要一臺臺去更改。而若采用DHCP服務器的話,則只需要在DHCP服務器上進行配置即可,則客戶端上的參數會隨之更改。所以的話,我們網絡管理員要學會揚長避短,靈活配置DHCP服務器。