| 四、DHCP服務(wù)常見問題的解決方案 本文第二點(diǎn)中我們所提出的問題有四點(diǎn),以下就此4個(gè)問題做相應(yīng)的分析并給出我個(gè)人的一些解決方案,相信可以對(duì)學(xué)習(xí)DHCP服務(wù)的自學(xué)者會(huì)有一定的幫助 1、根據(jù)客戶計(jì)算機(jī)的IP租用原理可以知道,在一個(gè)子網(wǎng)內(nèi),如果存在多臺(tái)DHCP服務(wù)器來提供地址配置信息,這是不違反請(qǐng)求、分配原則的。
因?yàn)橹灰杏幸慌_(tái)客戶計(jì)算機(jī)在該子網(wǎng)中提出IP地址租約請(qǐng)求,由于請(qǐng)求是廣播形式的,所以在子網(wǎng)中可以有任意數(shù)量的特定DHCP服務(wù)器響應(yīng)一個(gè)IP租用請(qǐng)求,而客戶請(qǐng)求后選中的是這些任意特定DHCP服務(wù)器中的某一臺(tái),這個(gè)選擇具有隨機(jī)性,但有一點(diǎn)要注意的是客戶只能為每一張網(wǎng)絡(luò)接口卡接受一個(gè)租用提供。
上面所謂特定的DHCP服務(wù)器是指那些經(jīng)過系統(tǒng)授權(quán)的DHCP服務(wù)器,而非授權(quán)的DHCP服務(wù)器將無法在網(wǎng)絡(luò)中提供正常的地址分配服務(wù),這一點(diǎn)非常重要,因?yàn)檫@樣一來客戶機(jī)器將只會(huì)在管理員設(shè)定的地址范圍中取得地址,Windows 2000操作系統(tǒng)的這一新增功能,通過對(duì)DHCP服務(wù)器進(jìn)行認(rèn)證避免了非法DHCP服務(wù)器分配非法IP地址造成的IP地址沖突,在實(shí)際應(yīng)用中,客戶機(jī)器獲取非法的地址經(jīng)常是造成網(wǎng)絡(luò)癱瘓和無法正常通訊的一大原因。
綜合上面的分析可以做出第一個(gè)問題的結(jié)論:在一個(gè)子網(wǎng)中可以存在多臺(tái)DHCP服務(wù)器來提供地址分配,但能夠作為地址提供的不是任意的DHCP服務(wù)器,而應(yīng)該是經(jīng)過系統(tǒng)認(rèn)證的那些,客戶機(jī)請(qǐng)求地址時(shí)最終從那一臺(tái)經(jīng)過認(rèn)證機(jī)器中獲取時(shí)隨機(jī)的。
此外,從另一個(gè)角度看,在相同子網(wǎng)上使用多個(gè) DHCP 服務(wù)器,將為它所服務(wù)的 DHCP 客戶機(jī)提供更強(qiáng)的容錯(cuò)能力,在一個(gè)子網(wǎng)內(nèi)(網(wǎng)絡(luò)號(hào)為192.168.1.0 掩碼為255.255.255.0)共用兩個(gè) DHCP 服務(wù)器,其中的DHCP服務(wù)器1不可用的話,DHCP服務(wù)器2可以取代它并繼續(xù)租用新的地址或續(xù)訂現(xiàn)有客戶機(jī)。
可以建議采用的解決方案是使用 80/20 規(guī)則來劃分兩個(gè) DHCP 服務(wù)器之間的作用域地址,具體做法可以是將服務(wù)器 1 配置成可使用大多數(shù)地址(約 80%),服務(wù)器 2 可以配置成讓客戶機(jī)使用其他地址(約 20%)。
2、如果在一個(gè)網(wǎng)絡(luò)中存在多個(gè)子網(wǎng),而多個(gè)子網(wǎng)的主機(jī)都需要DHCP服務(wù)器來提供地址配置信息,那么我們可以采用的方法是在每一個(gè)子網(wǎng)中安裝一臺(tái)DHCP服務(wù)器,讓它們來為各個(gè)子網(wǎng)分配IP地址。
但從節(jié)約資源利用出發(fā),我們一般情況下不這樣做,可以采取在一個(gè)子網(wǎng)中安裝DHCP服務(wù)器,讓它來為多個(gè)子網(wǎng)分配IP地址,實(shí)現(xiàn)多子網(wǎng)地址分配可以借助DHCP的中繼代理功能實(shí)現(xiàn),而作為中繼代理的設(shè)備可以是一臺(tái)提供中繼代理程序的Windows2000服務(wù)器或是一個(gè)符合RFC1542規(guī)定的路由器,具備 DHCP/ BOOTP Relay Agent 的功能(DHCP relay agent能夠把 DHCP/BOOTP 廣播信息從一個(gè)網(wǎng)段轉(zhuǎn)播到另一個(gè)網(wǎng)段上)。以管理的局域網(wǎng)分為三個(gè)子網(wǎng),用Win2000服務(wù)器連接。
下面是實(shí)現(xiàn)跨子網(wǎng)使用DHCP服務(wù)器的具體解決方案:
(1)安裝DHCP中繼代理程序:在Windows2000服務(wù)器的“路由和遠(yuǎn)程訪問”窗口中,依次展開“本地服務(wù)器→IP路由選擇→常規(guī)”選項(xiàng),右鍵點(diǎn)擊“常規(guī)”選項(xiàng),在彈出的菜單中選擇“新增路由協(xié)議”,然后在“新路由協(xié)議”窗口中選擇“DHCP中繼代理程序”,接著點(diǎn)擊“確定”按鈕。
(2)指定DHCP服務(wù)器:右鍵點(diǎn)擊剛剛添加的“DHCP中繼代理程序”選項(xiàng),在彈出菜單中選擇“屬性”,進(jìn)入“DHCP中繼代理程序?qū)傩浴睂?duì)話框,在“常規(guī)”標(biāo)簽頁的“服務(wù)器地址”欄中輸入子網(wǎng)1中DHCP服務(wù)器的IP地址:192.168.1.2,然后點(diǎn)擊“添加”按鈕,最后點(diǎn)擊“確定”按鈕關(guān)閉該對(duì)話框。
(3)配置訪問接口:右鍵點(diǎn)擊“DHCP中繼代理程序”選項(xiàng),在彈出菜單中選擇“新增接口”,然后在“DHCP中繼代理程序的新接口”對(duì)話框中的“接口”列表框中選中可以訪問子網(wǎng)1中的DHCP服務(wù)器的接口,這里新增的接口應(yīng)該是接口二和接口三,接著點(diǎn)擊“確定”按鈕。然后在彈出的“DHCP中繼站屬性”對(duì)話框中,選中“中繼DHCP數(shù)據(jù)包”選項(xiàng),這樣就啟用了它的中繼功能,最后點(diǎn)擊“確定”按鈕。
(4)DHCP服務(wù)器中配置一個(gè)超級(jí)作用域,其中包含三個(gè)普通作用域,作用域地址范圍可以分別設(shè)置為192.168.1.10~192.168.1.254(分配給子網(wǎng)1的PC使用);192.168.2.10~192.168.2.254(分配給子網(wǎng)2的PC使用);192.168.3.10~192.168.3.254(分配給子網(wǎng)3的PC使用),必須記住DHCP只能為每一個(gè)子網(wǎng)分配一個(gè)范圍。完成以上配置后,子網(wǎng)2和子網(wǎng)3中的DHCP客戶機(jī)PC2及PC3就可以通過主機(jī)A的DHCP中繼代理程序訪問子網(wǎng)1中的DHCP服務(wù)器。
3、解決了單臺(tái)DHCP服務(wù)器為多個(gè)子網(wǎng)分配IP地址后,我們還要搞清楚的一個(gè)問題是:
如果某一個(gè)子網(wǎng)的PC如子網(wǎng)2中的PC2或子網(wǎng)3中的PC3發(fā)出地址請(qǐng)求信息后,主機(jī)A可以作為中繼代理對(duì)他們的請(qǐng)求傳達(dá)子網(wǎng)1中的DHCP服務(wù)器,但該DHCP服務(wù)器如何可以確定并準(zhǔn)確地將作用域192.168.2.0網(wǎng)段的地址分給PC2而把作用域192.168.3.0網(wǎng)段的地址分給PC3呢?
這個(gè)是多數(shù)學(xué)生可能存在的疑問,要搞清楚這個(gè)問題,可以參考以下的原理分析來找答案:
以子網(wǎng)2中的主機(jī)PC2為例,DHCP 客戶機(jī)PC2在子網(wǎng)2 上廣播 DHCP/BOOTP discover 消息 (DHCPDISCOVER),廣播是將消息以 UDP (User Datagram Protocol)數(shù)據(jù)包的形式通過 67 端口發(fā)出,當(dāng)中繼代理(relay agent)主機(jī)A接收到這個(gè)消息后,它檢查包含在這個(gè)消息報(bào)頭中的網(wǎng)關(guān)IP 地址,如果網(wǎng)關(guān)IP 地址為 0.0.0.0 ,則用 relay agent主機(jī)A的接口二的IP地址192.168.2.1替換它,然后將其轉(zhuǎn)發(fā)到 DHCP 服務(wù)器所在的子網(wǎng)1上(主機(jī)A還擔(dān)任路由器功能)。
當(dāng)在子網(wǎng)1中的 DHCP服務(wù)器收到這個(gè)消息后,它開始檢查消息中的網(wǎng)關(guān)IP地址,然后判斷該網(wǎng)關(guān)地址是否包含在DHCP的某一個(gè)作用域范圍內(nèi),從而決定它是否可以使用相應(yīng)的作用域的地址來提供IP地址租約,當(dāng)然,本例中DHCP服務(wù)器將會(huì)從作用域192.168.2.10~192.168.2.254選取一個(gè)地址來配置PC2;也就是說DHCP客戶機(jī)的請(qǐng)求地址消息中的網(wǎng)關(guān)IP地址 (GIADDR) 將是DHCP服務(wù)器用來確定從那個(gè)DHCP 范圍中挑選IP地址來配置客戶機(jī)的依據(jù)。
4、如果DHCP客戶機(jī)無法找到DHCP服務(wù)器,則它從微軟保留的 B 類網(wǎng)段 169.254.0.0 中挑選一個(gè) IP 地址作為自己的 IP 地址,子網(wǎng)掩碼為 255.255.0.0 ,所挑選的地址由DHCP客戶機(jī)利用ARP 廣播來確定自己所挑選的 IP 地址是否已被網(wǎng)絡(luò)上的其它設(shè)備使用。
如果該 IP 地址已被使用,那么客戶機(jī)會(huì)再挑選另一個(gè)IP地址重新進(jìn)行測(cè)試,而且最多可以重試十個(gè)IP 地址,直到成功獲取配置。
在此之后,客戶機(jī)會(huì)在后臺(tái)繼續(xù)每隔 5 分鐘嘗試與DHCP服務(wù)器進(jìn)行通信,一旦與服務(wù)器取得聯(lián)絡(luò),則客戶機(jī)放棄自動(dòng)設(shè)置的 IP 地址,而使用服務(wù)器分配的 IP 地址和其它配制信息。所以當(dāng)你在某一天發(fā)現(xiàn)你的PC的IP地址是個(gè)B類的地址169.254.0.0/16網(wǎng)段的地址時(shí),你就應(yīng)該知道那是怎么一回事了吧。
|