功能概述,封包格式,相關介紹,DHCP客戶端,DHCP伺服器,DHCP中繼代理,工作原理,DHCP服務,安裝DHCP服務,DHCP伺服器,IP作用域,創建用戶,DHCP使用情況,DHCP跨網運作,網路設備,配置CLASS,手工地址綁定,
功能概述
DHCP(Dynamic Host Configuration Protocol,動態主機配置協定)通常被套用在大型的區域網路環境中,主要作用是集中的管理、分配IP位址,使網路環境中的主機動態的獲得IP位址、Gateway地址、DNS伺服器地址等信息,並能夠提升地址的使用率。
DHCP協定採用客戶端/伺服器模型,主機地址的動態分配任務由網路主機驅動。當DHCP伺服器接收到來自網路主機申請地址的信息時,才會向網路主機傳送相關的地址配置等信息,以實現網路主機地址信息的動態配置。DHCP具有以下功能:
1. 保證任何IP位址在同一時刻只能由一台DHCP客戶機所使用。
2. DHCP應當可以給用戶分配永久固定的IP位址。
3. DHCP應當可以同用其他方法獲得IP位址的
主機共存(如手工配置IP位址的主機)。
DHCP有三種機制分配IP位址:
1) 自動分配方式(Automatic Allocation),DHCP伺服器為主機指定一個永久性的IP位址,一旦DHCP客戶端第一次成功從DHCP伺服器端租用到IP位址後,就可以永久性的使用該地址。
2) 動態分配方式(Dynamic Allocation),DHCP伺服器給主機指定一個具有時間限制的IP位址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。
3) 手工分配方式(Manual Allocation),客戶端的IP位址是由網路管理員指定的,DHCP伺服器只是將指定的IP位址告訴客戶端主機。
三種地址分配方式中,只有動態分配可以重複使用客戶端不再需要的地址。
DHCP訊息的格式是基於BOOTP(Bootstrap Protocol)訊息格式的,這就要求設備具有BOOTP中繼代理的功能,並能夠與BOOTP客戶端和DHCP伺服器實現互動。BOOTP中繼代理的功能,使得沒有必要在每個物理網路都部署一個DHCP伺服器。RFC 951和RFC 1542對BOOTP協定進行了詳細描述。
封包格式
DHCP的封包格式如右圖所示,各欄位定義如下:
FIELD OCTETS DESCRIPTION
----- ------ -----------
OP:
若是 client 送給 server 的
封包,設為 1 ,反向為 2。HTYPE
HLEN:
硬體地址長度, Ethernet 為 6。
HOPS:
若
封包需經過 router 傳送,每站加 1 ,若在同一網內,為 0。
TRANSACTION ID:
DHCP REQUEST 時產生的數值,以作 DHCPREPLY 時的依據。
SECONDS:
Client 端啟動時間(秒)。
FLAGS:
從 0 到 15 共 16 bits ,最左一 bit 為 1 時表示 server 將以廣播方式傳送
封包給 client ,其餘尚未使用。
ciaddr:
要是 client 端想繼續使用之前取得之 IP 地址,則列於這裡。
yiaddr:
從 server 送回 client 之 DHCP OFFER 與 DHCPACK
封包中,此欄填寫分配給 client 的 IP 地址。
siaddr:
若 client 需要透過網路開機,從 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK
封包中,此欄填寫開機程式
代碼所在 server 之地址。
giaddr:
若需跨網域進行 DHCP 發放,此欄為 relay agent 的地址,否則為 0。
chaddr:
Client 之硬體地址。
sname:
Server 之名稱字元串,以 0x00 結尾。
file:
若 client 需要透過網路開機,此欄將指出開機程式名稱,稍後以 TFTP 傳送。
options:
允許廠商定議選項(Vendor-Specific Area),以提供更多的設定信息(如:Netmask、Gateway、DNS、等等)。其長度可變,同時可攜帶多個選項,每一選項之第一個 byte 為信息
代碼,其後一個 byte 為該項數據長度,最後為項目內容。CODE LEN VALUE 此欄位完全兼容 BOOTP ,同時擴充了更多選項。其中,DHCP
封包可利用編碼為 0x53 之選項來設定封包
類別:
1 DHCP DISCOVER
2 DHCP OFFER
3 DHCP REQUEST
4 DHCPDECLINE
5 DHCPACK
6 DHCPNACK
7 DHCPRELEASE
8 DHCP INFORM
DHCP 的選項非常多,有空請查閱 RFC 或相關文獻,並好好理解,這裡不再敘述了。
相關介紹
DHCP客戶端
在支持DHCP功能的網路設備上將指定的連線埠作為DHCP Client,通過DHCP協定從DHCP Server動態獲取IP位址等信息,來實現設備的集中管理。一般套用於網路設備的網路管理接口上。
DHCP客戶端可以帶來如下好處:
降低了配置和部署設備時間。
降低了發生配置錯誤的可能性。
可以集中化管理設備的IP位址分配。
DHCP伺服器
DHCP伺服器指的是由
伺服器控制一段IP位址範圍,客戶端登錄伺服器時就可以自動獲得伺服器分配的IP位址和
子網掩碼。
DHCP中繼代理
DHCPRelay(DHCPR)DHCP中繼 也叫做DHCP中繼代理。DHCP中繼代理,就是在DHCP伺服器和客戶端之間轉發DHCP數據包。當DHCP客戶端與伺服器不在同一個子網上,就必須有DHCP中繼代理來轉發DHCP請求和應答訊息。DHCP中繼代理的數據轉發,與通常路由轉發是不同的,通常的路由轉發相對來說是透明傳輸的,設備一般不會修改IP包內容。而DHCP中繼代理接收到DHCP訊息後,重新生成一個DHCP訊息,然後轉發出去。
在DHCP客戶端看來,DHCP中繼代理就像DHCP伺服器;在DHCP伺服器看來,DHCP中繼代理就像DHCP客戶端。
工作原理
DHCP協定採用UDP作為傳輸協定,主機傳送請求訊息到DHCP伺服器的68號連線埠,DHCP伺服器回應應答訊息給主機的67號連線埠。詳細的互動過程如下圖。
DHCP Client以廣播的方式發出DHCP Discover報文。
所有的DHCP Server都能夠接收到DHCP Client傳送的DHCP Discover報文,所有的DHCP Server都會給出回響,向DHCP Client傳送一個DHCP Offer報文。
DHCP Offer報文中“Your(Client) IP Address”欄位就是DHCP Server能夠提供給DHCP Client使用的IP位址,且DHCP Server會將自己的IP位址放在“option”欄位中以便DHCP Client區分不同的DHCP Server。DHCP Server在發出此報文後會存在一個已分配IP位址的紀錄。
DHCP Client只能處理其中的一個DHCP Offer報文,一般的原則是DHCP Client處理最先收到的DHCP Offer報文。
DHCP Client會發出一個廣播的DHCP Request報文,在選項欄位中會加入選中的DHCP Server的IP位址和需要的IP位址。
DHCP Server收到DHCP Request報文後,判斷選項欄位中的IP位址是否與自己的地址相同。如果不相同,DHCP Server不做任何處理只清除相應IP位址分配記錄;如果相同,DHCP Server就會向DHCP Client回響一個DHCP ACK報文,並在選項欄位中增加IP位址的使用租期信息。
DHCP Client接收到DHCP ACK報文後,檢查DHCP Server分配的IP位址是否能夠使用。如果可以使用,則DHCP Client成功獲得IP位址並根據IP位址使用租期自動啟動續延過程;如果DHCP Client發現分配的IP位址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP位址,然後DHCP Client開始新的地址申請過程。
DHCP Client在成功獲取IP位址後,隨時可以通過傳送DHCP Release報文釋放自己的IP位址,DHCP Server收到DHCP Release報文後,會回收相應的IP位址並重新分配。
在使用租期超過50%時刻處,DHCP Client會以單播形式向DHCP Server傳送DHCPRequest報文來續租IP位址。如果DHCP Client成功收到DHCP Server傳送的DHCP ACK報文,則按相應時間延長IP位址租期;如果沒有收到DHCP Server傳送的DHCP ACK報文,則DHCP Client繼續使用這個IP位址。
在使用租期超過87.5%時刻處,DHCP Client會以廣播形式向DHCP Server傳送DHCPRequest報文來續租IP位址。如果DHCP Client成功收到DHCP Server傳送的DHCP ACK報文,則按相應時間延長IP位址租期;如果沒有收到DHCP Server傳送的DHCP ACK報文,則DHCP Client繼續使用這個IP位址,直到IP位址使用租期到期時,DHCP Client才會向DHCP Server傳送DHCP Release報文來釋放這個IP位址,並開始新的IP位址申請過程。
需要說明的是:DHCP客戶端可以接收到多個DHCP伺服器的DHCPOFFER數據包,然後可能接受任何一個DHCPOFFER數據包,但客戶端通常只接受收到的第一個DHCPOFFER數據包。另外,DHCP伺服器DHCPOFFER中指定的地址不一定為最終分配的地址,通常情況下,DHCP伺服器會保留該地址直到客戶端發出正式請求。
正式請求DHCP伺服器分配地址DHCPREQUEST採用廣播包,是為了讓其它所有傳送DHCPOFFER數據包的DHCP伺服器也能夠接收到該數據包,然後釋放已經OFFER(預分配)給客戶端的IP位址。
如果傳送給DHCP客戶端的地址已經被其他DHCP客戶端使用,客戶端會向伺服器傳送DHCPDECLINE信息包拒絕接受已經分配的地址信息。
在協商過程中,如果DHCP客戶端傳送的REQUEST訊息中的地址信息不正確,如客戶端已經遷移到新的子網或者租約已經過期,DHCP伺服器會傳送DHCPNAK訊息給DHCP客戶 端,讓客戶端重新發起地址請求過程。
DHCP服務
安裝DHCP服務
在Windows Server 2003系統中默認沒有安裝DHCP服務,因此需要安裝DHCP服務。
第1步 單擊“開始”按鈕,在“
控制臺”中雙擊“
添加或刪除程式”圖示,在打開的視窗左側單擊“添加/刪除Windows組件”按鈕,打開“Windows組件嚮導”對話框。
第2步 在“組件”列表中找到並勾選“網路服務”
複選框,然後單擊“詳細信息”按鈕,打開“網路服務”對話框。接著在“網路服務的子組件”列表中勾選“動態
主機配置協定(DHCP)”
複選框,依次單擊“確定→下一步”按鈕開始配置和安裝DHCP服務。最後單擊“完成”按鈕完成安裝。
提示:如果是在Active Directory(
活動目錄)域中部署DHCP
伺服器,還需要進行授權才能使DHCP伺服器生效。本例的網路基於工作組管理模式,因此無需進行授權操作即可進行創建IP作用域的操作。
DHCP伺服器
並不是安裝了DHCP功能後就能直接使用,還必須進行授權操作,未經授權操作的伺服器無法提供DHCP服務。對DHCP伺服器授權操作的過程如下:
1. 依次點擊“開始→程式→管理工具→DHCP”,打開DHCP控制台視窗。
2. 在控制台視窗中,用滑鼠左鍵點擊選中伺服器名,然後單擊右鍵,在
快捷選單中選中“授權”,此時需要幾分鐘的等待時間。注意:如果系統長時間沒有反應,可以按F5鍵或選擇選單工具中的“操作”下的“刷新”進行螢幕刷新,或先關閉DHCP控制台,在伺服器名上用滑鼠右鍵點擊。如果快捷選單中的“授權”已經變為“撤消授權”,則表示對DHCP伺服器授權成功。此時,最明顯的標記是伺服器名前面紅色向上的箭頭變成了綠色向下的箭頭。這樣,這台被授權的DHCP伺服器就有分配IP的權利了。
IP作用域
要想為同一子網內的所有
客戶端電腦自動分配IP位址,首先要做就是創建一個IP作用域,這也是事先確定一段IP位址作為IP作用域的原因。下面開始創建IP作用域的操作。
第1步 依次單擊“開始→管理工具→DHCP”,打開“DHCP”控制台視窗。在左窗格中右擊DHCP
伺服器名稱,執行“新建作用域”命令。
第2步 在打開的“新建作用域嚮導”對話框中單擊“下一步”按鈕,打開“作用
域名”嚮導頁。在“名稱”框中為該作用域鍵入一個名稱(如“CCE”)和一段描述性信息,單擊“下一步”按鈕。
小提示:這裡的作用
域名稱只起到一個標識的作用,基本上沒有實際套用。
第3步 打開“IP位址範圍”嚮導頁,分別在“起始IP位址”和“結束IP位址”編輯框中鍵入事先確定的IP位址範圍(本例為“10.115.223.2~10.115.223.254”)。接著需要定義
子網掩碼,以確定IP位址中用於“網路/子網ID”的位數。由於本例網路環境為
城域網內的一個子網,因此根據實際情況將“長度”微調框的值調整為“23”,單擊“下一步”按鈕(圖3)。
第4步 在打開的“添加排除”嚮導頁中可以指定排除的IP位址或IP位址範圍。由於已經使用了幾個IP位址作為其它
伺服器的
靜態IP位址,因此需要將它們排除。在“起始IP位址”編輯框中鍵入排除的IP位址並單擊“添加”按鈕。重複操作即可,接著單擊“下一步”按鈕。
第5步 在打開的“租約期限”嚮導頁中,默認將
客戶端獲取的IP位址使用期限限制為8天。如果沒有特殊要求保持默認值不變,單擊“下一步”按鈕。
第6步 打開“配置DHCP選項”嚮導頁,保持選中“是,我想現在配置這些選項”
單選框並單擊“下一步”按鈕。在打開的“
路由器(
默認網關)”嚮導頁中根據實際情況鍵入網關地址(本例為“10.115.223.254”)並依次單擊“添加→下一步”按鈕。
第7步 在打開的“
域名稱和
DNS伺服器”嚮導頁中沒有做任何設定,這是因為網路中沒有安裝DNS伺服器且尚未升級成域管理模式.依次單擊“下一步”按鈕,跳過“WINS伺服器”嚮導頁打開“激活作用域”嚮導頁。保持“是,我想現在激活此作用域”
單選框選中狀態,並依次單擊“下一步”→“完成”按鈕結束配置。
設定DHCP
客戶端 安裝了DHCP服務並創建了IP作用域後, 要想使用DHCP方式為客戶端電腦分配IP位址,除了網路中有一台DHCP
伺服器外,還要求客戶端電腦應該具備自動向DHCP伺服器獲取IP位址的能力,這些客戶端電腦就被稱作DHCP客戶端。
因此我們對一台運行Windows XP的
客戶端電腦面前進行了如下設定:在
桌面上右擊“
網上鄰居”圖示,執行“屬性”命令。在打開的“網路連線”視窗中右擊“
本地連線”圖示並執行“屬性”,打開“本地連線 屬性”對話框。然後雙擊“Internet協定(TCP/IP)”選項,點選“自動獲得IP位址”
單選框,並依次單擊“確定”按鈕。
提示:默認情況下端電腦使用的都是自動獲取IP位址的方式,一般無需進行修改,只需檢查一下就行了。
至此,DHCP
伺服器端和
客戶端已經全部設定完成了。在DHCP
伺服器正常運行的情況下,首次開機的
客戶端會自動獲取一個IP位址並擁有八天的使用期限。
創建用戶
創建新用戶或供應商選項類啟動 DHCP 管理器。單擊控制台樹中的適用的 DHCP
伺服器分支。右擊在的
伺服器,然後單擊創建新的用戶類的”定義用戶類“,或者單擊“定義供應商類"創建一個新的供應商類。單擊"添加"。在"新的類"的對話框鍵入一個描述性的標識名稱,為新的選項,在"顯示名稱"框。還可能會將其他信息添加到"說明"框。鍵入數據以匹配的類 ID 由ID或ASCII下的 DHCP
客戶端提供 DHCP
伺服器服務使用。若要為十六進制位元組數字值輸入數據,請單擊
文本框的左側。若要輸入信息交換 (ASCII)
文本字元值為
美國標準碼數據,單擊
文本框的右側。單擊"確定",然後單擊"關閉"。使用新的類 ID 配置 DHCP 作用域在 DHCP 管理器,雙擊相應的 DHCP 作用域。右鍵單擊"作用域選項",然後單擊"配置選項"。單擊"高級",單擊以選中
複選框或要使用新的供應商或用戶類在功能旁邊的框。單擊"確定"。為
客戶端計算機設定指定的 DHCP 類 ID 字元串連線到基於 Windows 2000 的 DHCP
伺服器的客戶端計算機使用下面的命令可以設定指定的 DHCP
類別ID 字元串:ipconfig / setclassid adapter_name class_id
是例如配置名為"Local Area Connection"的適配器名為"myuserclass 用戶類 ID,請在
命令提示符下鍵入 ipconfig / setclassid
本地連線myuserclass ,然後按 ENTER 鍵。
它標識"Local Area Connection"接口接收為"myuserclass"DHCP
伺服器上配置的 DHCP 選項。
注意:ASCII 中的類 ID 是區分大小寫,並必須的匹配在編輯類對話框中輸入標識數據的類來創建新的用戶或供應商選項類。
DHCP使用情況
什麼時候最好使用 DHCP ?
公司內部很多 Laptop
計算機使用的場合!因為 Laptop在使用上,當設定為DHCP client 的時候,那么只要它連線上的網域裡面有一部可以上網的 DHCP伺服器 ,那部Laptop也就可以連線上 Internet 了!
網域內
計算機數量相當的多時:另外一個情況就是網域內計算機數量相當龐大時,大到您沒有辦法一個一個的進行說明來設定他們自己的網路參數,這個時候為了省麻煩,還是架設DHCP 來的方便。
什麼情況下不建議使用 DHCP 主機?
Client 在開機的時候會主動的傳送訊息給網域上的所有機器,這個時候,如果網域上就是沒有DHCP
主機呢?那么這部 Client 端
計算機會傳送四次請求信息,第一次等待時間為 1 秒,其餘三次的等待時間分別是 9、13、16 秒。如果還是沒有DHCP伺服器的回響,那么在5分鐘之後,Client端計算機會重複這一動作。
在網域內的
計算機,有很多機器其實是做為
主機的用途,很少Client 需求,那么似乎就沒有必要架設 DHCP。
DHCP跨網運作
DHCP DISCOVER 是以廣播方式進行的,其情形只能在同一網段之內進行,因為路由器是不會將二層廣播包轉發出去的。但如果DHCP 伺服器安設在其它的網路上面呢?由於 DHCP 客戶端還沒有 IP 環境設定,所以也不知道路由器地址,而且有些 Router 也不會將 DHCP 廣播封包傳遞出去,因此這情形下 DHCP DISCOVER 是永遠沒辦法抵達 DHCP 伺服器那端的,當然也不會發生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機來接管客戶的 DHCP 請求,然後將此請求傳遞給真正的 DHCP 伺服器,然後將伺服器的回覆傳給客戶。這裡,Proxy 主機必須自己具有
路由能力,且能將雙方的封包互傳對方。
若不使用 Proxy,也可以在每一個網路之中安裝 DHCP 伺服器,但這樣的話,一來設備成本會增加,而且,管理上面也比較分散。當然,如果在一個十分大型的網路中,這樣的均衡式架構還是可取的。
網路設備
注意:不同的網路設備配置的語法不一樣.
要配置DHCP,可以按照下面任務列表進行配置,其中前三個配置任務是必須的。
l 啟用DHCP伺服器與中繼代理(要求)
l DHCP排斥地址配置(要求)
l DHCP地址池配置(要求)
l 配置CLASS(可選)
l 配置綁定資料庫保存(可選)
l 手工地址綁定(可選)
l 配置Ping包次數(可選)
l 配置Ping包逾時時間(可選)
l 乙太網接口DHCP客戶端配置(可選)
l PPP封裝鏈路上的DHCP客戶端配置(可選)
l FR封裝鏈路上的DHCP客戶端配置(可選)
l HDLC封裝鏈路上的DHCP客戶端配置(可選)
啟用DHCP伺服器與中繼代理
要啟用DHCP伺服器、中繼代理,全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#service dhcp
| 啟用DHCP伺服器和DHCP中繼代理功能
|
R (config)#no service dhcp
| 關閉DHCP伺服器和中繼代理功能
|
DHCP排斥地址配置
如果沒有特別配置,DHCP伺服器會試圖將在地址池中定義的所有子網地址分配給DHCP客戶端。因此,如果你想保留一些地址不想分配,比如已經分配給伺服器或者設備了,你必須明確定義這些地址是不允許分配給客戶端的。
要配置哪些地址不能分配給客戶端,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp excluded-address
| 定義IP位址範圍,這些地址DHCP不會分配給客戶端
|
R (config)#no ip dhcp excluded-address low-ip-address[high-ip-address]
| 取消配置地址排斥
|
配置DHCP伺服器,一個好的習慣是將所有已明確分配的地址全部不允許DHCP分配,這樣可以帶來兩個好處:1)不會發生地址衝突;2)DHCP分配地址時,減少了檢測時間,從而提高DHCP分配效率。
DHCP地址池配置
DHCP的地址分配以及給客戶端傳送的DHCP各項參數,都需要在DHCP地址池中進行定義。如果沒有配置DHCP地址池,即使啟用了DHCP伺服器,也不能對客戶端進行地址分配;但是如果啟用了DHCP伺服器,不管是否配置了DHCP 地址池,DHCP中繼代理的總是起作用的。
如果DHCP請求包中沒有DHCP中繼代理的IP位址,就分配與接收DHCP請求包接口的IP位址同一子網或網路的地址給客戶端。如果沒定義這個網段的地址池,地址分配就失敗;
如果DHCP請求包中有中繼代理的IP位址,就分配與該地址同一子網或網路的地址給客戶端。如果沒定義這個網段的地址池,地址分配就失敗。
要進行DHCP地址池配置,請根據實際的需要執行以下任務,其中前三個任務要求執行:
l 配置地址池並進入其配置模式(要求)
l 配置地址池子網及其掩碼(要求)
l 配置客戶端預設網關(要求)
l 配置地址租期(可選)
l 配置客戶端的域名(可選)
l 配置域名伺服器(可選)
l 配置NetBIOS WINS伺服器(可選)
l 配置客戶端NetBIOS節點類型(可選)
l 配置DHCP地址池根據Option82分配地址(可選)
配置地址池名並進入其配置模式
要配置地址池名並進入地址池配置模式,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp pooldhcp-pool
| 配置地址池名並進入地址池配置模式
|
地址池的配置模式顯示為“R(dhcp-config)#”。
配置客戶端啟動檔案
客戶端啟動檔案是客戶端啟動時要用到的啟動映像檔案。啟動映像檔案通常是DHCP客戶端需要下載的作業系統。
要配置客戶端的啟動檔案,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#bootfilefilename
| 配置客戶端啟動檔案名稱
|
配置客戶端預設網關
配置客戶端默認網關,這個將作為伺服器分配給客戶端的默認網關參數。預設網關的IP位址必須與DHCP客戶端的IP位址在同一網路。
要配置客戶端的預設網關,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#default-routeraddress[address2…address8]
| 配置預設網關
|
配置地址租期
DHCP伺服器給客戶端分配的地址,預設情況下租期為1天。當租期快到時客戶端需要請求續租,否則過期後就不能使用該地址。
要配置地址租期,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#lease{days[hours][minutes] |infinite}
| 配置地址租期
|
配置客戶端的域名
可以指定客戶端的域名,這樣當客戶端通過主機名訪問網路資源時,不完整的主機名會自動加上域名後綴形成完整的主機名。
要配置客戶端的域名,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#domain-namedomain
| 配置域名
|
配置域名伺服器
當客戶端通過主機名訪問網路資源時,需要指定DNS伺服器進行域名解析。要配置DHCP客戶端可使用的域名伺服器,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#dns-serveraddress [address2…address8]
| 配置DNS伺服器
|
配置NetBIOS WINS伺服器
NetBIOS WINS是微軟TCP/IP網路解析NetNBIOS名字到IP位址的一種域名解析服務。WINS伺服器是一個運行在Windows NT下的伺服器。當WINS伺服器啟動後,會接收從WINS客戶端傳送的註冊請求,WINS客戶端關閉時,會向WINS伺服器傳送名字釋放訊息,這樣WINS資料庫中與網路上可用的計算機就可以保持一致了。
要配置DHCP客戶端可使用的NetBIOS WINS伺服器,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#netbios-name-serveraddress[address2…address8]
| 配置NetBIOS WINS伺服器
|
配置客戶端NetBIOS節點類型
微軟DHCP客戶端NetBIOS節點類型有四種:1)Broadcast,廣播型節點,通過廣播方式進行NetBIOS名字解析;2)Peer-to-peer,對等型節點,通過直接請求WINS伺服器進行NetBIOS名字解析;3)Mixed,混合型節點,先通過廣播方式請求名字解析,後通過與WINS伺服器連線進行名字解析;4)Hybrid,複合型節點,首先直接請求WINS伺服器進行NetBIOS名字解析,如果沒有得到應答,就通過廣播方式進行NetBIOS名字解析。
預設情況下,微軟作業系統的節點類型為廣播型或者複合型。如果沒有配置WINS伺服器,就為廣播型節點;如果配置了WINS伺服器,就為複合型節點。
要配置DHCP客戶端NetBIOS節點類型,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#netbios-node-typetype
| 配置NetBIOS節點類型
|
配置DHCP地址池的網路號和掩碼
進行動態地址綁定的配置,必須配置新建地址池的子網及其掩碼,為DHCP伺服器提供了一個可分配給客戶端的地址空間。除非有地址排斥配置,否則所有地址池中的地址都有可能分配給客戶端。DHCP在分配地址池中的地址,是按順序進行的,如果該地址已經在DHCP綁定表中或者檢測到該地址已經在該網段中存在,就檢查下一個地址,直到分配一個有效的地址。
要配置地址池子網和掩碼,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (dhcp-config)#networknetwork-number mask
| 配置DHCP地址池的網路號和掩碼
|
配置DHCP地址池根據Option82分配地址
通常,DHCP中繼代理在轉發報文的過程中會添加一個Option82選項用來記錄客戶端的相關信息(如客戶端所處的VLAN、設備槽號、連線埠號或者用戶的1X等級等等),DHCP伺服器在收到該報文後可以通過解析Option82信息來根據客戶端的具體信息進行地址分配。如對某個VLAN或者某個用戶等級的客戶端分配某個範圍內的IP位址。在需要根據用戶的具體網路位置信息(如VLAN、槽號、連線埠號)來為用戶分配特有的IP位址範圍或者根據用戶的優先權分配特有的(如受限、非受限)IP位址時,可以採用該功能。
每個DHCP地址池可以根據Option82信息進行地址分配,我們把Option82信息進行匹配歸類,在DHCP地址池中為這些歸類分別指定可以分配的網段範圍。這個歸類稱為CLASS,一個DHCP地址池可以關聯多個CLASS,每個CLASS可以指定不同的網段範圍。
在地址分配的過程中可以先根據客戶端所處的網段確定可以分配的地址池,再根據其Option82信息進一步確定其所屬的CLASS,從CLASS對應的網段範圍中分配IP位址。當一個請求報文匹配地址池中的多個CLASS時,按照CLASS在地址池中配置的先後順序從對應的CLASS網段範圍中分配地址,如果該CLASS已無可分配地址,則繼續從下一個匹配的CLASS網段範圍進行分配,依此類推。每個CLASS對應一個網段範圍,網段範圍必須從低地址到高地址,可以允許多個CLASS之間的網段範圍重複。如果指明了地址池關聯的CLASS,但對應的網段範圍沒有配置,則該CLASS默認的網段範圍和CLASS所處的地址池的網段範圍相同。
要配置地址池關聯的CLASS以及CLASS所對應的網段範圍,在地址池配置模式中執行以下命令:
| 命令
| 作用
|
| R (dhcp-config)#classclass-name
| 配置關聯的CLASS名稱,並進入地址池的CLASS配置模式
|
| R(config-dhcp-pool-class)#address rangelow-ip-addresshigh-ip-address
| 配置對應的網段範圍
|
值得注意的是:
當配置的CLASS在全局CLASS查找不到的情況下,會自動創建一個全局的CLASS;
在地址池中配置關聯CLASS與靜態手工綁定配置衝突,不可同時配置。
每個地址池下允許配置的CLASS數目最大為5個
配置CLASS
配置CLASS的Option82匹配信息
在全局模式下進入CLASS配置模式後,可以配置每個CLASS對應的具體的Option82匹配信息。一個CLASS可以匹配多個Option82信息,請求報文匹配時只要匹配其中一條信息即認為通過匹配,如果CLASS不配置任何的匹配信息,則認為該CLASS可以匹配任何攜帶Option82信息的請求報文。請求報文只有匹配了具體的CLASS後,才可從對應的地址池關聯的CLASS網段範圍中分配地址。
要配置全局的CLASS以及CLASS所對應的匹配Option82信息,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp classclass-name
| 配置CLASS名並進入全局CLASS配置模式
|
R (config-dhcp-class)#relay agent information
| 進入Option82匹配信息配置模式
|
R (config-dhcp-class-relayinfo)#relay-information hexaabb.ccdd.eeff…[*]
| 配置具體的Option82匹配信息 1. aabb.ccdd.eeff..為16進制數 2. *代表不完全匹配模式,只需要匹配*之前信息即通過匹配
|
值得注意的是:全局CLASS可匹配的最大個數為20個。
配置CLASS的標識信息
要配置標識信息來描述CLASS代表的含義,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp classclass-name
| 配置CLASS名並進入CLASS配置模式
|
R (config-dhcp-class)#remarkused in #1 building
| 配置標識信息
|
配置是否使用CLASS分配
要設定使用CLASS來進行地址分配,在全局配置模式中執行如下命令:
命令
| 作用
|
R (config)#ip dhcp use class
| 配置使用CLASS進行地址分配
|
應注意的是:默認情況下該命令打開,執行NO命令關閉使用CLASS進行地址分配。
配置定時把綁定資料庫保存到FLASH
為了防止設備斷電重啟導致設備上的DHCP伺服器的綁定資料庫(租約信息)丟失,DHCP提供可配置的定時把綁定資料庫寫入FLASH的命令,默認情況下,定時為0,即不定時寫FLASH。
要配置定時把綁定資料庫保存到FLASH,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)# [no]ip dhcp database write-delay[time]
| 設定DHCP延遲寫FLASH的時間 time:600s--86400s,預設為0
|
值得注意的是:由於不停擦寫FLASH會造成FLASH的使用壽命縮短,所以在設定延遲寫FLASH時間時需要注意,設定時間較短有利於設備信息更有效的保存,設定時間較長能夠減少寫FLASH的次數,延長FLASH的使用壽命。
配置手動把綁定資料庫保存到FLASH
為了防止設備斷電重啟導致設備上的DHCP綁定資料庫(租約信息)丟失,除了配置定時寫FLASH外,也可以根據需要手動地把當前的綁定資料庫信息立即寫入FLASH。
要配置手動把綁定資料庫保存到FLASH,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp database write-to-flash
| 把DHCP綁定資料庫信息寫入FLASH
|
手工地址綁定
地址綁定是指IP位址和客戶端MAC地址的映射關係。地址綁定有兩種:1)手工綁定,就是在DHCP伺服器資料庫中,通過手工定義將IP位址和MAC地址進行靜態映射,手工綁定其實是一個特殊地址池;2)動態綁定,DHCP 伺服器接收到DHCP請求時,動態地從地址池中分配IP位址給客戶端,而形成的IP位址和MAC地址映射。
要定義手工地址綁定,首先需要為每一個手動綁定定義一個主機地址池,然後定義DHCP客戶端的IP位址和硬體地址或客戶端標識。硬體地址就是MAC地址。客戶端標識,微軟客戶端一般定義客戶端標識,而不定義MAC地址,客戶端標識包含了網路媒介類型和MAC地址。關於媒介類型的編碼,請參見RFC 1700中關於“Address Resolution Protocol Parameters”部分內容。乙太網類型為“01”。
要配置手工地址綁定,在地址池配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp poolname
| 定義地址池名,進入DHCP配置模式
|
R (dhcp-config)#hostaddress[netmask]
| 定義客戶端IP位址
|
R (dhcp-config)#client-identifierunique-identifier
| 定義客戶端硬體地址,如aabb.bbbb.bb88 定義客戶端的標識,如01aa.bbbb.bbbb.88
|
R (dhcp-config)#client-namename
| (可選)用標準的ASCII字元定義客戶端的名字,名字不要包括域名。如定義mary主機名,不可定義成mary.rg.com
|
配置Ping包次數
預設情況,當DHCP伺服器試圖從地址池中分配一個IP位址時,會對該地址執行兩次Ping命令(一次一個數據包)。如果Ping沒有應答,DHCP伺服器認為該地址為空閒地址,就將該地址分配給DHCP客戶端;如果Ping有應答,DHCP伺服器認為該地址已經在使用,就試圖分配另外一個地址給DHCP客戶端,直到分配成功。
要配置Ping包次數,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp ping packets[number]
| 配置DHCP伺服器在分配地址之前的Ping包次數,如果設為0則不進行Ping操作,預設為2。
|
配置Ping包逾時時間
預設情況下,DHCP伺服器Ping操作如果500毫秒沒有應答,就認為沒有該IP位址主機存在。你可以通過調整Ping包逾時時間,改變伺服器Ping等待應答的時間。
要配置Ping包逾時時間,在全局配置模式中執行以下命令:
命令
| 作用
|
R (config)#ip dhcp ping timeoutmilliseconds
| 配置DHCP伺服器Ping包逾時時間,預設為500ms。
|
乙太網接口DHCP客戶端配置
配置乙太網接口DHCP客戶端,在接口配置模式中執行以下命令:
命令
| 作用
|
R (config-if)#ip address dhcp
| 配置通過DHCP得到IP位址
|
PPP封裝鏈路上的DHCP客戶端配置
配置DHCP客戶端,在接口配置模式中執行以下命令:
命令
| 作用
|
R(config-if)#ip address dhcp
| 配置通過DHCP得到IP位址
|
FR封裝鏈路上的DHCP客戶端配置
在接口配置模式中執行以下命令:
命令
| 作用
|
R(config-if)#ip address dhcp
| 配置通過DHCP得到IP位址
|
配置DHCP客戶端,在接口配置模式中執行以下命令:
命令
| 作用
|
R (config-if)#ip address dhcp
| 配置通過DHCP得到IP位址
|