我碰到过两种情况可能导致这个问题。第一次遇到时,我能够决定哪台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服务器均使用同一个地址资源发布地址!