如果你使用DHCP來(lái)為系統(tǒng)中的工作站自動(dòng)配置TCP/IP,任意一個(gè)DHCP故障都可以導(dǎo)致服務(wù)的崩潰。畢竟,如果一個(gè)工作站不能獲取IP地址,就沒(méi)有辦法讀取個(gè)人網(wǎng)絡(luò)或者因特網(wǎng)上的任何資源。本文中,我將介紹可以用來(lái)排解DHCP服務(wù)器故障的一些技術(shù)。
不適當(dāng)?shù)牡刂贩峙?/font>
一個(gè)非常常見(jiàn)的DHCP相關(guān)問(wèn)題是意外的IP地址分配。例如,假設(shè)你的DHCP服務(wù)器的IP地址范圍配置為192.168.0.1到192.168.0.50.你希望電腦主機(jī)被分配以這個(gè)范圍內(nèi)的IP地址。現(xiàn)在,假設(shè)來(lái)自你網(wǎng)絡(luò)上的一個(gè)工作站與網(wǎng)絡(luò)服務(wù)器通信似乎出現(xiàn)問(wèn)題。你發(fā)送一個(gè)IPCONFIG/ALL命令來(lái)查看工作站的IP地址配置。與期望的地址范圍相反,工作被分配了一個(gè)以169.254開(kāi)始的地址。
發(fā)生了什么事?如果來(lái)自你網(wǎng)絡(luò)上的主機(jī)被意外地分配以169.254開(kāi)始的地址,你又可以確認(rèn)這個(gè)地址不是由你的DHCP服務(wù)器分配的。就是說(shuō)工作站無(wú)法與DHCP服務(wù)器通信。當(dāng)這種情況發(fā)生時(shí),工作站將采用名為自動(dòng)專用IP尋址(APIPA)的Windows特征給自身分配一個(gè)IP地址。
微軟自動(dòng)建立專用IP尋址到窗口,以幫助那些有很小的網(wǎng)絡(luò)的機(jī)器。例如,如果你是要建立一個(gè)很小的Windows網(wǎng)絡(luò),即使網(wǎng)絡(luò)上沒(méi)有DHCP服務(wù)器,你也不需要手動(dòng)配置IP地址。APIPA將自動(dòng)在網(wǎng)絡(luò)上為每臺(tái)機(jī)器分配一個(gè)唯一的B類IP地址。這非常適合小型家庭網(wǎng)絡(luò),但完全不適合較大型的網(wǎng)絡(luò)。
如果一個(gè)工作站依靠APIPA分配地址,這是因?yàn)樗?qǐng)求IP地址沒(méi)有得到回應(yīng)。有幾種可能的原因造成這一問(wèn)題。假定網(wǎng)絡(luò)上的其他計(jì)算機(jī)能夠從你的DHCP服務(wù)器獲得一個(gè)IP地址,你可以排除DHCP服務(wù)器的問(wèn)題。
極有可能的是,這個(gè)問(wèn)題與安裝在工作站中的網(wǎng)絡(luò)硬件故障有關(guān)。例如,網(wǎng)絡(luò)接口卡被分配以一個(gè)錯(cuò)誤的驅(qū)動(dòng)。另一個(gè)可能的原因是網(wǎng)線沒(méi)插入網(wǎng)絡(luò)接口卡,或者沒(méi)有連接到另一端的開(kāi)關(guān)。
當(dāng)然,僅因?yàn)榫W(wǎng)絡(luò)上的一臺(tái)計(jì)算機(jī)在獲取IP地址方面有問(wèn)題并不能完全排除服務(wù)器的問(wèn)題。如果其他工作站都能成功獲取IP地址,那么可以肯定服務(wù)器正常工作。然而,也可能因?yàn)榉?wù)器已經(jīng)分配完了可用的IP地址。通過(guò)將網(wǎng)絡(luò)上請(qǐng)求來(lái)自DHCP服務(wù)器的IP地址的裝置的數(shù)目與DHCP地址范圍大小進(jìn)行比較,你可以很容易地分辨是否是IP地址用盡的問(wèn)題。
常見(jiàn)的DHCP服務(wù)器問(wèn)題
如果多個(gè)工作站遇到租用IP地址的問(wèn)題,那么問(wèn)題很可能與DHCP服務(wù)器自身有關(guān)。如果你懷疑DHCP是造成問(wèn)題的原因,那么你可以通過(guò)借助一些Ping的測(cè)試以確認(rèn)DHCP能夠在整個(gè)網(wǎng)絡(luò)間通信來(lái)開(kāi)始檢測(cè)問(wèn)題。
如果DHCP服務(wù)器能夠與網(wǎng)絡(luò)上的其他計(jì)算機(jī)通信,那么我建議核實(shí)DHCP服務(wù)器是否有一個(gè)符合范圍的IP地址,并且服務(wù)器配置為這個(gè)指定的地址。例如,如果DHCP服務(wù)器的地址范圍從192.168.0.1到192.168.0.50,服務(wù)器實(shí)際上無(wú)法分配這些地址,除非服務(wù)器自身在同一個(gè)子網(wǎng)范圍內(nèi)已經(jīng)分配了一個(gè)靜態(tài)地址,如192.168.0.0或192.168.0.51。
如果這仍然不能解決問(wèn)題,那么我建議檢查基本配置。例如,你應(yīng)該保證DHCP服務(wù)器仍然被當(dāng)前目錄授權(quán)可以租用IP地址。你同樣應(yīng)該檢查,保證IP地址范圍仍然有效,并且DHCP服務(wù)器上正在運(yùn)行必要的服務(wù)。
IP地址沖突
另一個(gè)偶爾出現(xiàn)的問(wèn)題涉及動(dòng)態(tài)配置地址是IP地址沖突。當(dāng)你創(chuàng)建一個(gè)DHCP范圍時(shí),DHCP服務(wù)器的責(zé)任就是確保范圍內(nèi)的地址一次只能租用給一個(gè)用戶。如果那樣的話,怎么可能在動(dòng)態(tài)分配地址時(shí)出現(xiàn)IP地址沖突呢?
我碰到過(guò)兩種情況可能導(dǎo)致這個(gè)問(wèn)題。第一次遇到時(shí),我能夠決定哪臺(tái)PC被分配給了重復(fù)的地址。當(dāng)我檢查這些機(jī)器上的TCP/IP時(shí),我發(fā)現(xiàn)其中一臺(tái)機(jī)器的IP地址被手動(dòng)配置過(guò)。說(shuō)來(lái)話長(zhǎng),但那臺(tái)機(jī)器的使用者運(yùn)行未授權(quán)的應(yīng)用程序,需要一個(gè)靜態(tài)IP地址。用戶覺(jué)得每次使用應(yīng)用程序時(shí)都要重新配置很麻煩,所以他們采用動(dòng)態(tài)分配給他們的地址,將它當(dāng)成一個(gè)靜態(tài)地址輸入。
今天這種情況發(fā)生的可能性非常小。上文中提到的特定情況的時(shí)候我使用的是Windows98。Windows98缺乏許多今天我們認(rèn)為理所當(dāng)然的安全機(jī)制。一個(gè)有正常安全防護(hù)的、系統(tǒng)為Windows XP或Windows VISTA的工作站應(yīng)該能防止終端用戶的重配置。即使如此,我想至少應(yīng)該注意這個(gè)問(wèn)題,因?yàn)槿绻阍诮鉀Q這個(gè)問(wèn)題上有疑難時(shí)使得你有據(jù)可查。
該問(wèn)題一個(gè)更普遍的原因是多個(gè)DHCP服務(wù)器正在使用中,而那些DHCP服務(wù)器地址范圍有重疊。如果你在自己的網(wǎng)絡(luò)中僅有一個(gè)DHCP服務(wù)器,不要忽視這個(gè)可能造成問(wèn)題的原因。十有八九,有一個(gè)非法DHCP服務(wù)器正與你的主要DHCP服務(wù)器沖突。
Windows 2000服務(wù)器和Windows服務(wù)器2003均以該方式設(shè)計(jì),以防止非法DHCP服務(wù)器造成問(wèn)題。DHCP服務(wù)器僅能夠在被當(dāng)前目錄授權(quán)后發(fā)送地址。問(wèn)題在于這僅適合于Windows平臺(tái)下的DHCP服務(wù)器。其他操作系統(tǒng)上運(yùn)行的DHCP服務(wù)器免費(fèi)租用IP地址給用戶,不需要被當(dāng)前目錄授權(quán)。
所以用戶真正遭受了Linux平臺(tái)下安裝DHCP服務(wù)器的麻煩了嗎?可能沒(méi)有。更有可能的解釋是,一個(gè)無(wú)線接入點(diǎn),或者一個(gè)針對(duì)電纜或者DSL因特網(wǎng)連接的路由器造成問(wèn)題。這樣的裝置內(nèi)大多數(shù)都有DHCP。這些裝置通常使用一個(gè)192.168.0.x或者192.168. 1.x的范圍。如果湊巧與你的主要DHCP服務(wù)器所用的IP地址相同,那么你就陷入了這樣一個(gè)困境,兩個(gè)DHCP服務(wù)器均使用同一個(gè)地址資源發(fā)布地址!
結(jié)論
DHCP故障有許多潛在的原因。大多數(shù)情況下,這些故障與DHCP服務(wù)器和試圖租用地址的工作站兩者間的通信問(wèn)題有關(guān)。