簡介

DHCP是Dynamic Host Configuration Protocol 之縮寫,DHCP除了能動態的設定IP位址之外,還可以幫客戶端指定default gateway、netmask、DNS Server、WINS Server 等參數。你在客戶端只要將DHCP選項打勾之外,無需做任何的IP環境設定。

運作原理

圖形

封包觀察  TOP

封包擷取檔案下載

封包

DHCP Discover封包

當DHCP客戶端第一次登錄網路的時候,客戶端發現本機上沒有任何IP參數設定,它會向網路發出一個DHCP Discover廣播封包,來找尋網路上是否有DHCP伺服器可以分配IP位址給它。因為客戶端還不知道自已屬於哪一個網路,所以封包的來源位址會為 0.0.0.0,而目的位址則為255.255.255.255。

DISCOVER

DHCP Offer封包

當DHCP伺服器監聽到客戶端發出DHCP Discover廣播後,它會從那些還沒有租出的位址範圍內 ,選擇其中一個IP位址,連同其它IP相關的參數,然後利用DHCP Offer封包回應給客戶端。
由於客戶端在開始的時候還沒有IP位址,所以在其DHCP Discover 封包內會帶有其MAC位址訊息,DHCP伺服器回應的DHCP Offer 封包則會根據這些資料傳遞給要求租約的客戶。根據伺服器端的設定,DHCP Offer封包會包含一個租約期限的訊息。

OFFER

DHCP Request封包

如果客戶端收到網路上多台DHCP伺服器的回應。它只會挑選其中一個DHCP Offer 而已(通常是最先抵達的那一個),並且會向網路發送一個DHCP Request廣播封包,告訴所有DHCP伺服器它將指定接受那一台伺服器提供的IP位址。

同時客戶端還會向網路發送一個ARP封包,查詢網路上有沒有其它機器使用該IP位址。如果發現該IP位址已經被佔用,客戶端則會發送出一個DHCP Decline 封包給DHCP伺服器,拒絕接受其DHCP Offer,並重新發送DHCP Discover封包。

REQUEST

DHCP Ack封包

當DHCP伺服器接收到客戶端的DHCP Request之後,會客戶端發出一個DHCK Ack回應,以確認IP租約的正式生效。

ACK

安裝 TOP

1.執行<應用程式><副屬應用程式><終端機>

輸入指令:sudo apt-get install dhcp3-server

啟動(以下指令執行前需設定好設定檔)

1.執行<應用程式><副屬應用程式><終端機>

輸入指令:sudo /etc/init.d/dhcp3-server start

重新啟動

1.執行<應用程式><副屬應用程式><終端機>

輸入指令:sudo /etc/init.d/dhcp3-server restart

停止

1.執行<應用程式><副屬應用程式><終端機>

輸入指令:sudo /etc/init.d/dhcp3-server stop

設定

1.執行<應用程式><副屬應用程式><終端機>

輸入指令: sudo gedit /etc/dhcp3/dhcpd.conf

設定範例:

設定該網段的識別代號 (NetID),值為該網段第一個 IP

subnet 192.168.0.0 netmask 255.255.255.0 {

設配發的 IP 範圍,可以有數個

range 192.168.0.100 192.168.0.250;

設定所使用的 gateway (router)

option routers 192.168.0.1;

設定DNS Server

option domain-name-servers 168.95.192.1, 168.95.1.1;

查看服務  TOP

1.執行<應用程式><副屬應用程式><終端機>

輸入指令:sudo netstat -upln