DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)是一個(gè)由IETF(internet 工作任務(wù)小組)開發(fā)設(shè)計(jì)的局域網(wǎng)網(wǎng)絡(luò)協(xié)議,于1993年10月成為標(biāo)準(zhǔn)協(xié)議,其前身是BOOTP協(xié)議。當(dāng)前的DHCP定義可以在RFC 2131中找到,而基于IPv6的建議標(biāo)準(zhǔn)(DHCPv6)可以在RFC 3315中找到。該協(xié)議指的是由服務(wù)器控制一段IP地址范圍,客戶機(jī)登錄服務(wù)器時(shí)就可以自動(dòng)獲得服務(wù)器分配的IP地址和子網(wǎng)掩碼。
該協(xié)議位于OSI模型的應(yīng)用層,使用UDP協(xié)議工作,主要有兩個(gè)用途,一個(gè)是用于內(nèi)部網(wǎng)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址給用戶,另一個(gè)是用于內(nèi)部網(wǎng)管理員作為對(duì)所有電腦作中央管理的手段。
默認(rèn)情況下,DHCP作為Windows Server的一個(gè)服務(wù)組件不會(huì)被系統(tǒng)自動(dòng)安裝,還需要管理員手動(dòng)安裝并進(jìn)行必要的配置。
主要功能
DHCP(DynamicHostConfigurationProtocol,動(dòng)態(tài)主機(jī)配置協(xié)議)通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中的管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機(jī)動(dòng)態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。這種網(wǎng)絡(luò)服務(wù)有利于對(duì)校園網(wǎng)絡(luò)中的客戶機(jī)IP地址進(jìn)行有效管理,而不需要一個(gè)一個(gè)手動(dòng)指定IP地址。
DHCP協(xié)議采用客戶端/服務(wù)器模型,主機(jī)地址的動(dòng)態(tài)分配任務(wù)由網(wǎng)絡(luò)主機(jī)驅(qū)動(dòng)。當(dāng)DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機(jī)申請(qǐng)地址的信息時(shí),才會(huì)向網(wǎng)絡(luò)主機(jī)發(fā)送相關(guān)的地址配置等信息,以實(shí)現(xiàn)網(wǎng)絡(luò)主機(jī)地址信息的動(dòng)態(tài)配置。DHCP用一臺(tái)或一組DHCP服務(wù)器來管理網(wǎng)絡(luò)參數(shù)的分配,這種方案具有容錯(cuò)性。即使在一個(gè)僅擁有少量機(jī)器的網(wǎng)絡(luò)中,DHCP仍然是有用的,因?yàn)橐慌_(tái)機(jī)器可以幾乎不造成任何影響地被增加到本地網(wǎng)絡(luò)中。DHCP具有以下功能:
1.保證任何IP地址在同一時(shí)刻只能由一臺(tái)DHCP客戶機(jī)所使用。
2.DHCP應(yīng)當(dāng)可以給用戶分配永久固定的IP地址。
3.DHCP應(yīng)當(dāng)可以同用其他方法獲得IP地址的主機(jī)共存(如手工配置IP地址的主機(jī))。
4.DHCP服務(wù)器應(yīng)當(dāng)向現(xiàn)有的BOOTP客戶端提供服務(wù)。
DHCP有三種機(jī)制分配IP地址:
1)自動(dòng)分配方式(AutomaticAllocation),DHCP服務(wù)器為主機(jī)指定一個(gè)永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后,就可以永久性的使用該地址。
2)動(dòng)態(tài)分配方式(DynamicAllocation),DHCP服務(wù)器給主機(jī)指定一個(gè)具有時(shí)間限制的IP地址,時(shí)間到期或主機(jī)明確表示放棄該地址時(shí),該地址可以被其他主機(jī)使用。
3)手工分配方式(ManualAllocation),客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機(jī)。
三種地址分配方式中,只有動(dòng)態(tài)分配可以重復(fù)使用客戶端不再需要的地址。
DHCP消息的格式是基于BOOTP(BootstrapProtocol)消息格式的,這就要求設(shè)備具有BOOTP中繼代理的功能,并能夠與BOOTP客戶端和DHCP服務(wù)器實(shí)現(xiàn)交互。BOOTP中繼代理的功能,使得沒有必要在每個(gè)物理網(wǎng)絡(luò)都部署一個(gè)DHCP服務(wù)器。RFC951和RFC1542對(duì)BOOTP協(xié)議進(jìn)行了詳細(xì)描述。
封包格式
DHCP的封包格式如右圖所示,各字段定義如下:
FIELDOCTETSDESCRIPTION
----------------------
OP:
若是client送給server的封包,設(shè)為1,反向?yàn)?。HTYPE
硬件類別,Ethernet為1。
HLEN:
MAC地址長(zhǎng)度,Ethernet為6。
HOPS:
若封包需經(jīng)過router傳送,每站加1,若在同一網(wǎng)內(nèi),為0。
TRANSACTIONID:
DHCPREQUEST時(shí)產(chǎn)生的數(shù)值,以作DHCPREPLY時(shí)的依據(jù)。
SECONDS:
Client端啟動(dòng)時(shí)間(秒)。
FLAGS:
從0到15共16bits,最左一bit為1時(shí)表示server將以廣播方式傳送封包給client,其余尚未使用。
ciaddr:
要是client端想繼續(xù)使用之前取得之IP地址,則列于這里。
yiaddr:
從server送回client之DHCPOFFER與DHCPACK封包中,此欄填寫分配給client的IP地址。
siaddr:
若client需要透過網(wǎng)絡(luò)開機(jī),從server送出之DHCPOFFER、DHCPACK、DHCPNACK封包中,此欄填寫開機(jī)程序代碼所在server之地址。
giaddr:
若需跨網(wǎng)域進(jìn)行DHCP發(fā)放,此欄為relayagent的地址,否則為0。
chaddr:
Client之MAC地址。
sname:
server之名稱字符串,以0x00結(jié)尾。
file:
若client需要透過網(wǎng)絡(luò)開機(jī),此欄將指出開機(jī)程序名稱,稍后以TFTP傳送。
options:
允許廠商定議選項(xiàng)(Vendor-SpecificArea),以提供更多的設(shè)定信息(如:Netmask、Gateway、DNS、等等)。其長(zhǎng)度可變,同時(shí)可攜帶多個(gè)選項(xiàng),每一選項(xiàng)之第一個(gè)字節(jié)為信息代碼,其后一個(gè)byte為該項(xiàng)數(shù)據(jù)長(zhǎng)度,最后為項(xiàng)目?jī)?nèi)容。CODELENVALUE此字段完全兼容BOOTP,同時(shí)擴(kuò)充了更多選項(xiàng)。其中,DHCP封包可利用編碼為0x53之選項(xiàng)來設(shè)定封包類別。
項(xiàng)值類別:
1DHCPDISCOVER
2DHCPOFFER
3DHCPREQUEST
4DHCPDECLINE
5DHCPACK
6DHCPNACK
7DHCPRELEASE
DHCP的選項(xiàng)非常多,有空請(qǐng)查閱RFC或相關(guān)文獻(xiàn),并好好理解,這里不再敘述了。
相關(guān)介紹
DHCP客戶端
在支持DHCP功能的網(wǎng)絡(luò)設(shè)備上將指定的端口作為DHCPClient,通過DHCP協(xié)議從DHCPServer動(dòng)態(tài)獲取IP地址等信息,來實(shí)現(xiàn)設(shè)備的集中管理。一般應(yīng)用于網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)管理接口上。
DHCP客戶端可以帶來如下好處:
DHCP服務(wù)器
DHCP服務(wù)器指的是由服務(wù)器控制一段IP地址范圍,客戶端登錄服務(wù)器時(shí)就可以自動(dòng)獲得服務(wù)器分配的IP地址和子網(wǎng)掩碼。
DHCP中繼代理
DHCP Relay(DHCPR)DHCP中繼也叫做DHCP中繼代理。DHCP中繼代理,就是在DHCP服務(wù)器和客戶端之間轉(zhuǎn)發(fā)DHCP數(shù)據(jù)包。當(dāng)DHCP客戶端與服務(wù)器不在同一個(gè)子網(wǎng)上,就必須有DHCP中繼代理來轉(zhuǎn)發(fā)DHCP請(qǐng)求和應(yīng)答消息。DHCP中繼代理的數(shù)據(jù)轉(zhuǎn)發(fā),與通常路由轉(zhuǎn)發(fā)是不同的,通常的路由轉(zhuǎn)發(fā)相對(duì)來說是透明傳輸?shù)?,設(shè)備一般不會(huì)修改IP包內(nèi)容。而DHCP中繼代理接收到DHCP消息后,重新生成一個(gè)DHCP消息,然后轉(zhuǎn)發(fā)出去。
在DHCP客戶端看來,DHCP中繼代理就像DHCP服務(wù)器;在DHCP服務(wù)器看來,DHCP中繼代理就像DHCP客戶端。
工作原理
DHCP協(xié)議采用UDP作為傳輸協(xié)議,主機(jī)發(fā)送請(qǐng)求消息到DHCP服務(wù)器的67號(hào)端口,DHCP服務(wù)器回應(yīng)應(yīng)答消息給主機(jī)的68號(hào)端口。詳細(xì)的交互過程如下圖。
在使用租期過去50%時(shí)刻處,客戶端向服務(wù)器發(fā)送單播DHCP REQUEST報(bào)文續(xù)延租期。如果收到服務(wù)器的DHCP ACK報(bào)文,則租期相應(yīng)向前延長(zhǎng),續(xù)租成功。如果沒有收到DHCP ACK報(bào)文,則客戶端繼續(xù)使用這個(gè)IP地址。
在使用租期過去87.5%時(shí)刻處,DHCPClient會(huì)以廣播形式向DHCPServer發(fā)送DHCPRequest報(bào)文來續(xù)租IP地址。如果DHCPClient成功收到DHCPServer發(fā)送的DHCPACK報(bào)文,則按相應(yīng)時(shí)間延長(zhǎng)IP地址租期;如果沒有收到DHCPServer發(fā)送的DHCPACK報(bào)文,則DHCPClient繼續(xù)使用這個(gè)IP地址,直到IP地址使用租期到期時(shí),DHCPClient才會(huì)向DHCPServer發(fā)送DHCPRelease報(bào)文來釋放這個(gè)IP地址,并開始新的IP地址申請(qǐng)過程。
需要說明的是:DHCP客戶端可以接收到多個(gè)DHCP服務(wù)器的DHCPOFFER數(shù)據(jù)包,然后可能接受任何一個(gè)DHCPOFFER數(shù)據(jù)包,但客戶端通常只接受收到的第一個(gè)DHCPOFFER數(shù)據(jù)包。另外,DHCP服務(wù)器DHCPOFFER中指定的地址不一定為最終分配的地址,通常情況下,DHCP服務(wù)器會(huì)保留該地址直到客戶端發(fā)出正式請(qǐng)求。
正式請(qǐng)求DHCP服務(wù)器分配地址DHCPREQUEST采用廣播包,是為了讓其它所有發(fā)送DHCPOFFER數(shù)據(jù)包的DHCP服務(wù)器也能夠接收到該數(shù)據(jù)包,然后釋放已經(jīng)OFFER(預(yù)分配)給客戶端的IP地址。
如果發(fā)送給DHCP客戶端的地址已經(jīng)被其他DHCP客戶端使用,客戶端會(huì)向服務(wù)器發(fā)送DHCPDECLINE信息包拒絕接受已經(jīng)分配的地址信息。
在協(xié)商過程中,如果DHCP客戶端發(fā)送的REQUEST消息中的地址信息不正確,如客戶端已經(jīng)遷移到新的子網(wǎng)或者租約已經(jīng)過期,DHCP服務(wù)器會(huì)發(fā)送DHCPNAK消息給DHCP客戶端,讓客戶端重新發(fā)起地址請(qǐng)求過程。
協(xié)議服務(wù)
安裝DHCP服務(wù)
在Windows Server 2003系統(tǒng)中默認(rèn)沒有安裝DHCP服務(wù),因此需要安裝DHCP服務(wù)。
第1步單擊“開始”按鈕,在“控制面板”中雙擊“添加或刪除程序”ICON,在打開的窗口左側(cè)單擊“添加/刪除Windows組件”按鈕,打開“Windows組件向?qū)А睂?duì)話框。
第2步在“組件”列表中找到并勾選“network service”復(fù)選框,然后單擊“詳細(xì)信息”按鈕,打開“網(wǎng)絡(luò)服務(wù)”對(duì)話框。接著在“網(wǎng)絡(luò)服務(wù)的子組件”列表中勾選“動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)”復(fù)選框,依次單擊“確定→下一步”按鈕開始配置和安裝DHCP服務(wù)。最后單擊“完成”按鈕完成安裝。
提示:如果是在ActiveDirectory(活動(dòng)目錄)域中部署DHCP服務(wù)器,還需要進(jìn)行授權(quán)才能使DHCP服務(wù)器生效。本例的網(wǎng)絡(luò)基于工作組管理模式,因此無需進(jìn)行授權(quán)操作即可進(jìn)行創(chuàng)建IP作用域的操作。
DHCP服務(wù)器
并不是安裝了DHCP功能后就能直接使用,還必須進(jìn)行授權(quán)操作,未經(jīng)授權(quán)操作的服務(wù)器無法提供DHCP服務(wù)。對(duì)DHCP服務(wù)器授權(quán)操作的過程如下:
1.依次點(diǎn)擊“開始→程序→管理工具→DHCP”,打開DHCP控制臺(tái)窗口。
2.在控制臺(tái)窗口中,用鼠標(biāo)左鍵點(diǎn)擊選中服務(wù)器名,然后單擊右鍵,在快捷菜單中選中“授權(quán)”,此時(shí)需要幾分鐘的等待時(shí)間。注意:如果系統(tǒng)長(zhǎng)時(shí)間沒有反應(yīng),可以按F5鍵或選擇菜單工具中的“操作”下的“刷新”進(jìn)行屏幕刷新,或先關(guān)閉DHCP控制臺(tái),在服務(wù)器名上用鼠標(biāo)右鍵點(diǎn)擊。如果快捷菜單中的“授權(quán)”已經(jīng)變?yōu)椤俺废跈?quán)”,則表示對(duì)DHCP服務(wù)器授權(quán)成功。此時(shí),最明顯的標(biāo)記是服務(wù)器名前面紅色向上的箭頭變成了綠色向下的箭頭。這樣,這臺(tái)被授權(quán)的DHCP服務(wù)器就有分配IP的權(quán)利了。
IP作用域
要想為同一子網(wǎng)內(nèi)的所有客戶端電腦自動(dòng)分配IP地址,首先要做就是創(chuàng)建一個(gè)IP作用域,這也是事先確定一段IP地址作為IP作用域的原因。下面開始創(chuàng)建IP作用域的操作。
第1步依次單擊“開始→管理工具→DHCP”,打開“DHCP”控制臺(tái)窗口。在左窗格中右擊DHCP服務(wù)器名稱,執(zhí)行“新建作用域”命令。
第2步在打開的“新建作用域向?qū)А睂?duì)話框中單擊“下一步”按鈕,打開“作用域名”向?qū)ы摗T凇懊Q”框中為該作用域鍵入一個(gè)名稱(如“CCE”)和一段描述性信息,單擊“下一步”按鈕。
小提示:這里的作用域名稱只起到一個(gè)標(biāo)識(shí)的作用,基本上沒有實(shí)際應(yīng)用。
第3步打開“IP地址范圍”向?qū)ы摚謩e在“起始IP地址”和“結(jié)束IP地址”編輯框中鍵入事先確定的IP地址范圍(本例為“10.115.223.2~10.115.223.254”)。接著需要定義子網(wǎng)掩碼,以確定IP地址中用于“網(wǎng)絡(luò)/子網(wǎng)ID”的位數(shù)。由于本例網(wǎng)絡(luò)環(huán)境為城域網(wǎng)內(nèi)的一個(gè)子網(wǎng),因此根據(jù)實(shí)際情況將“長(zhǎng)度”微調(diào)框的值調(diào)整為“23”,單擊“下一步”按鈕(圖3)。
第4步在打開的“添加排除”向?qū)ы撝锌梢灾付ㄅ懦腎P地址或IP地址范圍。由于已經(jīng)使用了幾個(gè)IP地址作為其它服務(wù)器的靜態(tài)IP地址,因此需要將它們排除。在“起始IP地址”編輯框中鍵入排除的IP地址并單擊“添加”按鈕。重復(fù)操作即可,接著單擊“下一步”按鈕。
第5步在打開的“租約期限”向?qū)ы撝锌梢栽O(shè)置IP地址租期的時(shí)間值,默認(rèn)將客戶端獲取的IP地址使用期限限制為8天。如果沒有特殊要求保持默認(rèn)值不變,單擊“下一步”按鈕。
第6步打開“配置DHCP選項(xiàng)”向?qū)ы摚3诌x中“是,我想現(xiàn)在配置這些選項(xiàng)”單選框并單擊“下一步”按鈕。在打開的“路由器(默認(rèn)網(wǎng)關(guān))”向?qū)ы撝懈鶕?jù)實(shí)際情況鍵入網(wǎng)關(guān)地址(本例為“10.115.223.254”)并依次單擊“添加→下一步”按鈕。
第7步在打開的“域名稱和DNS服務(wù)器”向?qū)ы撝袥]有做任何設(shè)置,這是因?yàn)榫W(wǎng)絡(luò)中沒有安裝DNS服務(wù)器且尚未升級(jí)成域管理模式。依次單擊“下一步”按鈕,跳過“WINS服務(wù)器”向?qū)ы摯蜷_“激活作用域”向?qū)ы?。保持“是,我想現(xiàn)在激活此作用域”單選框選中狀態(tài),并依次單擊“下一步”→“完成”按鈕結(jié)束配置。
設(shè)置DHCP客戶端安裝了DHCP服務(wù)并創(chuàng)建了IP作用域后,要想使用DHCP方式為客戶端電腦分配IP地址,除了網(wǎng)絡(luò)中有一臺(tái)DHCP服務(wù)器外,還要求客戶端電腦應(yīng)該具備自動(dòng)向DHCP服務(wù)器獲取IP地址的能力,這些客戶端電腦就被稱作DHCP客戶端。
因此我們對(duì)一臺(tái)運(yùn)行Windows XP的客戶端電腦面前進(jìn)行了如下設(shè)置:在桌面上右擊“網(wǎng)上鄰居”圖標(biāo),執(zhí)行“屬性”命令。在打開的“網(wǎng)絡(luò)連接”窗口中右擊“本地連接”圖標(biāo)并執(zhí)行“屬性”,打開“本地連接屬性”對(duì)話框。然后雙擊“Internet協(xié)議(TCP/IP)”選項(xiàng),點(diǎn)選“自動(dòng)獲得IP地址”單選框,并依次單擊“確定”按鈕。
提示:默認(rèn)情況下端電腦使用的都是自動(dòng)獲取IP地址的方式,一般無需進(jìn)行修改,只需檢查一下就行了。
至此,DHCP服務(wù)器端和客戶端已經(jīng)全部設(shè)置完成了。在DHCP服務(wù)器正常運(yùn)行的情況下,首次開機(jī)的客戶端會(huì)自動(dòng)獲取一個(gè)IP地址并擁有八天的使用期限。
創(chuàng)建用戶
創(chuàng)建新用戶或供應(yīng)商選項(xiàng)類啟動(dòng)DHCP管理器。單擊控制臺(tái)樹中的適用的DHCP服務(wù)器分支。右擊在的服務(wù)器,然后單擊創(chuàng)建新的用戶類的”定義用戶類“,或者單擊“定義供應(yīng)商類"創(chuàng)建一個(gè)新的供應(yīng)商類。單擊"添加"。在"新的類"的對(duì)話框鍵入一個(gè)描述性的標(biāo)識(shí)名稱,為新的選項(xiàng),在"顯示名稱"框。還可能會(huì)將其他信息添加到"說明"框。鍵入數(shù)據(jù)以匹配的類ID由ID或ASCII下的DHCP客戶端提供DHCP服務(wù)器服務(wù)使用。若要為十六進(jìn)制字節(jié)數(shù)字值輸入數(shù)據(jù),請(qǐng)單擊文本框的左側(cè)。若要輸入信息交換(ASCII)文本字符值為美國(guó)標(biāo)準(zhǔn)碼數(shù)據(jù),單擊文本框的右側(cè)。單擊"確定",然后單擊"關(guān)閉"。使用新的類ID配置DHCP作用域在DHCP管理器,雙擊相應(yīng)的DHCP作用域。右鍵單擊"作用域選項(xiàng)",然后單擊"配置選項(xiàng)"。單擊"高級(jí)",單擊以選中復(fù)選框或要使用新的供應(yīng)商或用戶類在功能旁邊的框。單擊"確定"。為客戶端計(jì)算機(jī)設(shè)置指定的DHCP類ID字符串連接到基于Windows 2000的DHCP服務(wù)器的客戶端計(jì)算機(jī)使用下面的命令可以設(shè)置指定的DHCP類別ID字符串:ipconfig/setclassidadapter_nameclass_id
是例如配置名為"LocalAreaConnection"的適配器名為"myuserclass用戶類ID,請(qǐng)?jiān)诿钐崾痉骆I入ipconfig/setclassid本地連接myuserclass,然后按ENTER鍵。
它標(biāo)識(shí)"LocalAreaConnection"接口接收為"myuserclass"DHCP服務(wù)器上配置的DHCP選項(xiàng)。
注意:ASCII中的類ID是區(qū)分大小寫,并必須的匹配在編輯類對(duì)話框中輸入標(biāo)識(shí)數(shù)據(jù)的類來創(chuàng)建新的用戶或供應(yīng)商選項(xiàng)類。
使用說明
什么時(shí)候最好使用DHCP?
公司內(nèi)部很多Laptop計(jì)算機(jī)使用的場(chǎng)合!因?yàn)長(zhǎng)aptop在使用上,當(dāng)設(shè)定為DHCPclient的時(shí)候,那么只要它連接上的網(wǎng)域里面有一部可以上網(wǎng)的DHCP服務(wù)器,那部Laptop也就可以連接上Internet了!
網(wǎng)域內(nèi)計(jì)算機(jī)數(shù)量相當(dāng)?shù)亩鄷r(shí):另外一個(gè)情況就是網(wǎng)域內(nèi)計(jì)算機(jī)數(shù)量相當(dāng)龐大時(shí),大到您沒有辦法一個(gè)一個(gè)的進(jìn)行說明來設(shè)定他們自己的網(wǎng)絡(luò)參數(shù),這個(gè)時(shí)候?yàn)榱耸÷闊?,還是架設(shè)DHCP來的方便。
什么情況下不建議使用DHCP主機(jī)?
Client在開機(jī)的時(shí)候會(huì)主動(dòng)的發(fā)送訊息給網(wǎng)域上的所有機(jī)器,這個(gè)時(shí)候,如果網(wǎng)域上就是沒有DHCP主機(jī)呢?那么這部Client端計(jì)算機(jī)會(huì)發(fā)送四次請(qǐng)求信息,第一次等待時(shí)間為1秒,其余三次的等待時(shí)間分別是9、13、16秒。如果還是沒有DHCP服務(wù)器的響應(yīng),那么在5分鐘之后,Client端計(jì)算機(jī)會(huì)重復(fù)這一動(dòng)作。
在網(wǎng)域內(nèi)的計(jì)算機(jī),有很多機(jī)器其實(shí)是做為主機(jī)的用途,很少Client需求,那么似乎就沒有必要架設(shè)DHCP。
跨網(wǎng)運(yùn)作
DHCPDISCOVER是以廣播方式進(jìn)行的,其情形只能在同一網(wǎng)段之內(nèi)進(jìn)行,因?yàn)?a href="/hebeideji/7160845702883721219.html">路由器是不會(huì)將二層廣播包轉(zhuǎn)發(fā)出去的。但如果DHCP服務(wù)器安設(shè)在其它的網(wǎng)絡(luò)上面呢?由于DHCP客戶端還沒有IP環(huán)境設(shè)定,所以也不知道路由器地址,而且有些Router也不會(huì)將DHCP廣播封包傳遞出去,因此這情形下DHCPDISCOVER是永遠(yuǎn)沒辦法抵達(dá)DHCP服務(wù)器那端的,當(dāng)然也不會(huì)發(fā)生OFFER及其它動(dòng)作了。要解決這個(gè)問題,我們可以用DHCPAgent(或DHCPProxy)主機(jī)來接管客戶的DHCP請(qǐng)求,然后將此請(qǐng)求傳遞給真正的DHCP服務(wù)器,然后將服務(wù)器的回復(fù)傳給客戶。這里,Proxy主機(jī)必須自己具有路由能力,且能將雙方的封包互傳對(duì)方。
若不使用Proxy,也可以在每一個(gè)網(wǎng)絡(luò)之中安裝DHCP服務(wù)器,但這樣的話,一來設(shè)備成本會(huì)增加,而且,管理上面也比較分散。當(dāng)然,如果在一個(gè)十分大型的網(wǎng)絡(luò)中,這樣的均衡式架構(gòu)還是可取的。
協(xié)議應(yīng)用
注意:不同的網(wǎng)絡(luò)設(shè)備配置的語法不一樣.
要配置DHCP,可以按照下面任務(wù)列表進(jìn)行配置,其中前三個(gè)配置任務(wù)是必須的。
l啟用DHCP服務(wù)器與中繼代理(要求)
lDHCP排斥地址配置(要求)
lDHCP地址池配置(要求)
l配置CLASS(可選)
l配置綁定數(shù)據(jù)庫保存(可選)
l手工地址綁定(可選)
l配置ping包次數(shù)(可選)
l配置Ping包超時(shí)時(shí)間(可選)
l以太網(wǎng)接口DHCP客戶端配置(可選)
lPPP封裝鏈路上的DHCP客戶端配置(可選)
lFR封裝鏈路上的DHCP客戶端配置(可選)
lHDLC封裝鏈路上的DHCP客戶端配置(可選)
啟用DHCP服務(wù)器與中繼代理
要啟用DHCP服務(wù)器、中繼代理,全局配置模式中執(zhí)行以下命令:
DHCP排斥地址配置
如果沒有特別配置,DHCP服務(wù)器會(huì)試圖將在地址池中定義的所有子網(wǎng)地址分配給DHCP客戶端。因此,如果你想保留一些地址不想分配,比如已經(jīng)分配給服務(wù)器或者設(shè)備了,你必須明確定義這些地址是不允許分配給客戶端的。
要配置哪些地址不能分配給客戶端,在全局配置模式中執(zhí)行以下命令:
配置DHCP服務(wù)器,一個(gè)好的習(xí)慣是將所有已明確分配的地址全部不允許DHCP分配,這樣可以帶來兩個(gè)好處:1)不會(huì)發(fā)生地址沖突;2)DHCP分配地址時(shí),減少了檢測(cè)時(shí)間,從而提高DHCP分配效率。
DHCP地址池配置
DHCP的地址分配以及給客戶端傳送的DHCP各項(xiàng)參數(shù),都需要在DHCP地址池中進(jìn)行定義。如果沒有配置DHCP地址池,即使啟用了DHCP服務(wù)器,也不能對(duì)客戶端進(jìn)行地址分配;但是如果啟用了DHCP服務(wù)器,不管是否配置了DHCP地址池,DHCP中繼代理的總是起作用的。
如果DHCP請(qǐng)求包中沒有DHCP中繼代理的IP地址,就分配與接收DHCP請(qǐng)求包接口的IP地址同一子網(wǎng)或網(wǎng)絡(luò)的地址給客戶端。如果沒定義這個(gè)網(wǎng)段的地址池,地址分配就失??;
如果DHCP請(qǐng)求包中有中繼代理的IP地址,就分配與該地址同一子網(wǎng)或網(wǎng)絡(luò)的地址給客戶端。如果沒定義這個(gè)網(wǎng)段的地址池,地址分配就失敗。
要進(jìn)行DHCP地址池配置,請(qǐng)根據(jù)實(shí)際的需要執(zhí)行以下任務(wù),其中前三個(gè)任務(wù)要求執(zhí)行:
l配置地址池并進(jìn)入其配置模式(要求)
l配置地址池子網(wǎng)及其掩碼(要求)
l配置客戶端缺省網(wǎng)關(guān)(要求)
l配置地址租期(可選)
l配置客戶端的域名(可選)
l配置域名服務(wù)器(可選)
l配置NetBIOSWINS服務(wù)器(可選)
l配置客戶端NetBIOS節(jié)點(diǎn)類型(可選)
l配置DHCP地址池根據(jù)Option82分配地址(可選)
配置地址池名并進(jìn)入其配置模式
要配置地址池名并進(jìn)入地址池配置模式,在全局配置模式中執(zhí)行以下命令:
地址池的配置模式顯示為“R(dhcp-config)#”。
配置客戶端啟動(dòng)文件
客戶端啟動(dòng)文件是客戶端啟動(dòng)時(shí)要用到的啟動(dòng)映像文件。啟動(dòng)映像文件通常是DHCP客戶端需要下載的操作系統(tǒng)。
要配置客戶端的啟動(dòng)文件,在地址池配置模式中執(zhí)行以下命令:
配置客戶端缺省網(wǎng)關(guān)
配置客戶端默認(rèn)網(wǎng)關(guān),這個(gè)將作為服務(wù)器分配給客戶端的默認(rèn)網(wǎng)關(guān)參數(shù)。缺省網(wǎng)關(guān)的IP地址必須與DHCP客戶端的IP地址在同一網(wǎng)絡(luò)。
要配置客戶端的缺省網(wǎng)關(guān),在地址池配置模式中執(zhí)行以下命令:
配置地址租期
DHCP服務(wù)器給客戶端分配的地址,缺省情況下租期為1天。當(dāng)租期快到時(shí)客戶端需要請(qǐng)求續(xù)租,否則過期后就不能使用該地址。
要配置地址租期,在地址池配置模式中執(zhí)行以下命令:
配置客戶端的域名
可以指定客戶端的域名,這樣當(dāng)客戶端通過主機(jī)名訪問網(wǎng)絡(luò)資源時(shí),不完整的主機(jī)名會(huì)自動(dòng)加上域名后綴形成完整的主機(jī)名。
要配置客戶端的域名,在地址池配置模式中執(zhí)行以下命令:
配置域名服務(wù)器
當(dāng)客戶端通過主機(jī)名訪問網(wǎng)絡(luò)資源時(shí),需要指定DNS服務(wù)器進(jìn)行域名解析。要配置DHCP客戶端可使用的域名服務(wù)器,在地址池配置模式中執(zhí)行以下命令:
配置NetBIOSWINS服務(wù)器
NetBIOSWINS是微軟TCP/IP網(wǎng)絡(luò)解析NetNBIOS名字到IP地址的一種域名解析服務(wù)。wins服務(wù)器是一個(gè)運(yùn)行在WindowsNT下的服務(wù)器。當(dāng)WINS服務(wù)器啟動(dòng)后,會(huì)接收從WINS客戶端發(fā)送的注冊(cè)請(qǐng)求,WINS客戶端關(guān)閉時(shí),會(huì)向WINS服務(wù)器發(fā)送名字釋放消息,這樣WINS數(shù)據(jù)庫中與網(wǎng)絡(luò)上可用的計(jì)算機(jī)就可以保持一致了。
要配置DHCP客戶端可使用的NetBIOSWINS服務(wù)器,在地址池配置模式中執(zhí)行以下命令:
配置客戶端NetBIOS節(jié)點(diǎn)類型
微軟DHCP客戶端NetBIOS節(jié)點(diǎn)類型有四種:1)Broadcast,廣播型節(jié)點(diǎn),通過廣播方式進(jìn)行NetBIOS名字解析;2)Peer-to-peer,對(duì)等型節(jié)點(diǎn),通過直接請(qǐng)求wins服務(wù)器進(jìn)行NetBIOS名字解析;3)Mixed,混合型節(jié)點(diǎn),先通過廣播方式請(qǐng)求名字解析,后通過與WINS服務(wù)器連接進(jìn)行名字解析;4)Hybrid,復(fù)合型節(jié)點(diǎn),首先直接請(qǐng)求WINS服務(wù)器進(jìn)行NetBIOS名字解析,如果沒有得到應(yīng)答,就通過廣播方式進(jìn)行NetBIOS名字解析。
缺省情況下,微軟操作系統(tǒng)的節(jié)點(diǎn)類型為廣播型或者復(fù)合型。如果沒有配置WINS服務(wù)器,就為廣播型節(jié)點(diǎn);如果配置了WINS服務(wù)器,就為復(fù)合型節(jié)點(diǎn)。
要配置DHCP客戶端NetBIOS節(jié)點(diǎn)類型,在地址池配置模式中執(zhí)行以下命令:
配置DHCP地址池的網(wǎng)絡(luò)號(hào)和掩碼
進(jìn)行動(dòng)態(tài)地址綁定的配置,必須配置新建地址池的子網(wǎng)及其掩碼,為DHCP服務(wù)器提供了一個(gè)可分配給客戶端的地址空間。除非有地址排斥配置,否則所有地址池中的地址都有可能分配給客戶端。DHCP在分配地址池中的地址,是按順序進(jìn)行的,如果該地址已經(jīng)在DHCP綁定表中或者檢測(cè)到該地址已經(jīng)在該網(wǎng)段中存在,就檢查下一個(gè)地址,直到分配一個(gè)有效的地址。
要配置地址池子網(wǎng)和掩碼,在地址池配置模式中執(zhí)行以下命令:
配置DHCP地址池根據(jù)Option82分配地址
通常,DHCP中繼代理在轉(zhuǎn)發(fā)報(bào)文的過程中會(huì)添加一個(gè)Option82選項(xiàng)用來記錄客戶端的相關(guān)信息(如客戶端所處的VLAN、設(shè)備槽號(hào)、端口號(hào)或者用戶的1X等級(jí)等等),DHCP服務(wù)器在收到該報(bào)文后可以通過解析Option82信息來根據(jù)客戶端的具體信息進(jìn)行地址分配。如對(duì)某個(gè)VLAN或者某個(gè)用戶等級(jí)的客戶端分配某個(gè)范圍內(nèi)的IP地址。在需要根據(jù)用戶的具體網(wǎng)絡(luò)位置信息(如VLAN、槽號(hào)、端口號(hào))來為用戶分配特有的IP地址范圍或者根據(jù)用戶的優(yōu)先級(jí)分配特有的(如受限、非受限)IP地址時(shí),可以采用該功能。
每個(gè)DHCP地址池可以根據(jù)Option82信息進(jìn)行地址分配,我們把Option82信息進(jìn)行匹配歸類,在DHCP地址池中為這些歸類分別指定可以分配的網(wǎng)段范圍。這個(gè)歸類稱為CLASS,一個(gè)DHCP地址池可以關(guān)聯(lián)多個(gè)CLASS,每個(gè)CLASS可以指定不同的網(wǎng)段范圍。
在地址分配的過程中可以先根據(jù)客戶端所處的網(wǎng)段確定可以分配的地址池,再根據(jù)其Option82信息進(jìn)一步確定其所屬的CLASS,從CLASS對(duì)應(yīng)的網(wǎng)段范圍中分配IP地址。當(dāng)一個(gè)請(qǐng)求報(bào)文匹配地址池中的多個(gè)CLASS時(shí),按照CLASS在地址池中配置的先后順序從對(duì)應(yīng)的CLASS網(wǎng)段范圍中分配地址,如果該CLASS已無可分配地址,則繼續(xù)從下一個(gè)匹配的CLASS網(wǎng)段范圍進(jìn)行分配,依此類推。每個(gè)CLASS對(duì)應(yīng)一個(gè)網(wǎng)段范圍,網(wǎng)段范圍必須從低地址到高地址,可以允許多個(gè)CLASS之間的網(wǎng)段范圍重復(fù)。如果指明了地址池關(guān)聯(lián)的CLASS,但對(duì)應(yīng)的網(wǎng)段范圍沒有配置,則該CLASS默認(rèn)的網(wǎng)段范圍和CLASS所處的地址池的網(wǎng)段范圍相同。
要配置地址池關(guān)聯(lián)的CLASS以及CLASS所對(duì)應(yīng)的網(wǎng)段范圍,在地址池配置模式中執(zhí)行以下命令:
值得注意的是:
配置CLASS
配置CLASS的Option82匹配信息
在全局模式下進(jìn)入CLASS配置模式后,可以配置每個(gè)CLASS對(duì)應(yīng)的具體的Option82匹配信息。一個(gè)CLASS可以匹配多個(gè)Option82信息,請(qǐng)求報(bào)文匹配時(shí)只要匹配其中一條信息即認(rèn)為通過匹配,如果CLASS不配置任何的匹配信息,則認(rèn)為該CLASS可以匹配任何攜帶Option82信息的請(qǐng)求報(bào)文。請(qǐng)求報(bào)文只有匹配了具體的CLASS后,才可從對(duì)應(yīng)的地址池關(guān)聯(lián)的CLASS網(wǎng)段范圍中分配地址。
要配置全局的CLASS以及CLASS所對(duì)應(yīng)的匹配Option82信息,在全局配置模式中執(zhí)行以下命令:
值得注意的是:全局CLASS可匹配的最大個(gè)數(shù)為20個(gè)。
配置CLASS的標(biāo)識(shí)信息
要配置標(biāo)識(shí)信息來描述CLASS代表的含義,在全局配置模式中執(zhí)行以下命令:
配置是否使用CLASS分配
要設(shè)置使用CLASS來進(jìn)行地址分配,在全局配置模式中執(zhí)行如下命令:
應(yīng)注意的是:默認(rèn)情況下該命令打開,執(zhí)行NO命令關(guān)閉使用CLASS進(jìn)行地址分配。
配置定時(shí)把綁定數(shù)據(jù)庫保存到FLASH
為了防止設(shè)備斷電重啟導(dǎo)致設(shè)備上的DHCP服務(wù)器的綁定數(shù)據(jù)庫(租約信息)丟失,DHCP提供可配置的定時(shí)把綁定數(shù)據(jù)庫寫入FLASH的命令,默認(rèn)情況下,定時(shí)為0,即不定時(shí)寫FLASH。
要配置定時(shí)把綁定數(shù)據(jù)庫保存到FLASH,在全局配置模式中執(zhí)行以下命令:
值得注意的是:由于不停擦寫FLASH會(huì)造成FLASH的使用壽命縮短,所以在設(shè)置延遲寫FLASH時(shí)間時(shí)需要注意,設(shè)置時(shí)間較短有利于設(shè)備信息更有效的保存,設(shè)置時(shí)間較長(zhǎng)能夠減少寫FLASH的次數(shù),延長(zhǎng)FLASH的使用壽命。
配置手動(dòng)把綁定數(shù)據(jù)庫保存到FLASH
為了防止設(shè)備斷電重啟導(dǎo)致設(shè)備上的DHCP綁定數(shù)據(jù)庫(租約信息)丟失,除了配置定時(shí)寫FLASH外,也可以根據(jù)需要手動(dòng)地把當(dāng)前的綁定數(shù)據(jù)庫信息立即寫入FLASH。
要配置手動(dòng)把綁定數(shù)據(jù)庫保存到FLASH,在全局配置模式中執(zhí)行以下命令:
手工地址綁定
地址綁定是指IP地址和客戶端MAC地址的映射關(guān)系。地址綁定有兩種:1)手工綁定,就是在DHCP服務(wù)器數(shù)據(jù)庫中,通過手工定義將IP地址和MAC地址進(jìn)行靜態(tài)映射,手工綁定其實(shí)是一個(gè)特殊地址池;2)動(dòng)態(tài)綁定,DHCP服務(wù)器接收到DHCP請(qǐng)求時(shí),動(dòng)態(tài)地從地址池中分配IP地址給客戶端,而形成的IP地址和MAC地址映射。
要定義手工地址綁定,首先需要為每一個(gè)手動(dòng)綁定定義一個(gè)主機(jī)地址池,然后定義DHCP客戶端的IP地址和MAC地址或客戶端標(biāo)識(shí)。硬件地址就是MAC地址??蛻舳藰?biāo)識(shí),微軟客戶端一般定義客戶端標(biāo)識(shí),而不定義MAC地址,客戶端標(biāo)識(shí)包含了網(wǎng)絡(luò)媒介類型和MAC地址。關(guān)于媒介類型的編碼,請(qǐng)參見RFC1700中關(guān)于“AddressResolutionProtocolParameters”部分內(nèi)容。以太網(wǎng)類型為“01”。
要配置手工地址綁定,在地址池配置模式中執(zhí)行以下命令:
配置ping包次數(shù)
缺省情況,當(dāng)DHCP服務(wù)器試圖從地址池中分配一個(gè)IP地址時(shí),會(huì)對(duì)該地址執(zhí)行兩次Ping命令(一次一個(gè)數(shù)據(jù)包)。如果Ping沒有應(yīng)答,DHCP服務(wù)器認(rèn)為該地址為空閑地址,就將該地址分配給DHCP客戶端;如果Ping有應(yīng)答,DHCP服務(wù)器認(rèn)為該地址已經(jīng)在使用,就試圖分配另外一個(gè)地址給DHCP客戶端,直到分配成功。
要配置Ping包次數(shù),在全局配置模式中執(zhí)行以下命令:
配置Ping包超時(shí)時(shí)間
缺省情況下,DHCP服務(wù)器ping操作如果500毫秒沒有應(yīng)答,就認(rèn)為沒有該IP地址主機(jī)存在。你可以通過調(diào)整Ping包超時(shí)時(shí)間,改變服務(wù)器Ping等待應(yīng)答的時(shí)間。
要配置Ping包超時(shí)時(shí)間,在全局配置模式中執(zhí)行以下命令:
以太網(wǎng)接口DHCP客戶端配置
配置以太網(wǎng)接口DHCP客戶端,在接口配置模式中執(zhí)行以下命令:
PPP封裝鏈路上的DHCP客戶端配置
配置DHCP客戶端,在接口配置模式中執(zhí)行以下命令:
FR封裝鏈路上的DHCP客戶端配置
在接口配置模式中執(zhí)行以下命令:
HDLC封裝鏈路上的DHCP客戶端配置
配置DHCP客戶端,在接口配置模式中執(zhí)行以下命令:
參考資料 >