實驗目的: 明瞭DHCP運作原理 建置DHCP伺服器
背景資料 DHCP(Dynamic Host Configuration Protocol)主要是用來提供在TCP/ IP網路上的主機可以自動的分配到IP及所需要的相關設定。 DHCP原出自於BOOTP協定,算是BOOTP的加強版本,所謂BOOTP是提供沒有磁碟機的網路主機可在開機時自動的設定TCP / IP網路相關的設定。 BOOTP協定是定義在RFC1532,DHCP協定是定義在RFC 1533、1534、1541、1542中。
背景資料 DHCP可分成兩個部分來看,一個是DHCP伺服器端,另一個是DHCP用戶端。 DHCP伺服器端有一個集中式的管理程式,主要負責設定網路各主機上所需要的IP資訊,並提供給Client索取使用。 DHCP用戶端是負責向DHCP伺服器索取所需要之相關IP資訊,並將資料註冊到該系統中。
背景資料 使用DHCP是為了方便管理,如果網路採用手動的方式來設定TCP / IP網路的相關資料則會發生以下幾個問題: 使用者自訂IP,無從管制哪一些IP是已被使用的位址,哪一些IP是沒有被使用的位址。 因為使用者自訂,所以常會造成網路上IP重複的現象,導致網路常出現錯誤的訊息,甚至有些系統無法使用網路。 使用者自訂之IP、網路遮罩、預設閘道器位址(Default Gateway),如果沒有按照網路規劃來設定或是設定錯誤,則會導致網路封包到處流竄,造成網路的負擔。 如果網路在IP、網路遮罩、預設閘道器位址重新規劃後,所有的主機都必須重新設定,相當浪費人力而且不易同步進行。
DHCP的基本環境
DHCP的基本環境
DHCP運作 由於DHCP是屬於應用層,一般而言我們對於應用層較少需要詳細的協定分析,而是需要應用層伺服器的安裝管理和客戶端的設定,對DHCP的封包要知道的是在傳訊層是採用UDP 協定,而當客戶端傳送給封包給伺服器時,採用的是67 Port,從伺服器傳送給客戶端則是使用68 Port。 DHCP在運作的時候,雖然相當簡單,但偶爾還是會出現一些狀況,如找不到 DHCP Server、 要求更新租約等。當 DHCP Client無法獲得DHCPServer的回應時,如果是微軟系統會自動將IP位址設定為網路中的某個IP(使用隨機分配)169.254.0.0,子網路遮罩為255.255.0.0,其他系統則將IP位址設定為0.0.0.0,子網路遮罩為0.0.0.0,但每隔五分鐘仍會發出封包尋找DHCP Server,若找到 Server,即改使用Server 所賦予的IP 位址。在Windows 2000 / XP 中,執行Ipconfig/renew可手動更新租約,這在無線網路訊號不穩時偶爾會使用到。另外,執行Ipconfig/relese則是放棄租約。
實驗方法 DHCP Server for Windows (http://ruttkamp.gmxhome.de/dhcpsrv/dhcpsrv.htm)可以讓我們安裝在任何微軟視窗作業系統下,筆者在此僅提供簡單的操作和設定程序,詳盡的說明請參閱網站說明。 DHCP Serverfor Windows軟體不用安裝,解開檔案後執行即可,執行前需先設定組態檔dhcpsrv.ini,雖然啟動後再修改也行。
組態檔dhcpsrv.ini範例 [General] SUBNETMASK=255.255.255.0 ROUTER_1=192.168.10.1 DNS_1=168.95.1.1 DOMAINNAME=test.yourname LEASETIME=86400 ; lease time of 1 day [Settings] Trace=1 IPPOOL_1=192.168.10.2-49 SUBNETMASK:網路遮罩。 ROUTER_1:路由器位置。 DNS_1:DNS位置。 DOMAINNAME:網路領域。 LEASETIME:租約時間,單位為秒,86400 sec = 1 day。 Trace:租約記錄,預設檔名為dhcptrc.txt。 IPPOOL_1:提供可管轄的IP Address範圍。
執行dhcpsrv.exe 直接執行dhcpsrv.exe即可啟動DHCP服務
DHCP用戶端的設定 到「控制台」→ 「網路和網際網路連線」→「網路連線」→「連線內容」→「Internet Protocol(TCP/IP)」,設定成「自動取得IP位址」即可,如圖所示:
檢查客戶端的IP組態
伺服器端的dhcptrc.txt記錄 [01/28/2008 19:54:19] DHCP Server started [01/28/2008 19:54:19] Adapter 0 with IP address 192.192.73.46 found [01/28/2008 19:58:24] Adapter 0 has recognized an incoming request [01/28/2008 19:58:24] DHCP message = DHCPDISCOVER [01/28/2008 19:58:24] Lookup client data for physical address 00-48-54-5C-DD-17 [01/28/2008 19:58:24] Client 00-48-54-5C-DD-17 is not configured [01/28/2008 19:58:24] Perform auto configuration [01/28/2008 19:58:24] IPPOOL_1: 192.168.10.2-49 [01/28/2008 19:58:24] Auto configuration succeeded: IP-Addr = 192.168.10.2 [01/28/2008 19:58:24] Response: offer the configured IP address (lease time = 86400) [01/28/2008 19:58:24] Sending a response to the client
學習評量 比較DHCP Server for Windows和DHCP Server for Unix-like在效能和安全上的差異。 說明DHCP Server for Windows組態檔dhcpsrv.ini還有哪些選項。 說明DHCP Server for Windows還有哪些運用?