我碰到過兩種情況可能導致這個問題。第一次遇到時,我能夠決定哪臺PC被分配給了重復的地址。當我檢查這些機器上的TCP/IP時,我發現其中一臺機器的IP地址被手動配置過。說來話長,但那臺機器的使用者運行未授權的應用程序,需要一個靜態IP地址。用戶覺得每次使用應用程序時都要重新配置很麻煩,所以他們采用動態分配給他們的地址,將它當成一個靜態地址輸入。
今天這種情況發生的可能性非常小。上文中提到的特定情況的時候我使用的是Windows98。Windows98缺乏許多今天我們認為理所當然的安全機制。一個有正常安全防護的、系統為Windows XP或Windows VISTA的工作站應該能防止終端用戶的重配置。即使如此,我想至少應該注意這個問題,因為如果你在解決這個問題上有疑難時使得你有據可查。
該問題一個更普遍的原因是多個DHCP服務器正在使用中,而那些DHCP服務器地址范圍有重疊。如果你在自己的網絡中僅有一個DHCP服務器,不要忽視這個可能造成問題的原因。十有八九,有一個非法DHCP服務器正與你的主要DHCP服務器沖突。
Windows 2000服務器和Windows服務器2003均以該方式設計,以防止非法DHCP服務器造成問題。DHCP服務器僅能夠在被當前目錄授權后發送地址。問題在于這僅適合于Windows平臺下的DHCP服務器。其他操作系統上運行的DHCP服務器免費租用IP地址給用戶,不需要被當前目錄授權。
所以用戶真正遭受了Linux平臺下安裝DHCP服務器的麻煩了嗎?可能沒有。更有可能的解釋是,一個無線接入點,或者一個針對電纜或者DSL因特網連接的路由器造成問題。這樣的裝置內大多數都有DHCP。這些裝置通常使用一個192.168.0.x或者192.168. 1.x的范圍。如果湊巧與你的主要DHCP服務器所用的IP地址相同,那么你就陷入了這樣一個困境,兩個DHCP服務器均使用同一個地址資源發布地址!