局域网中DHCP服务器常见故障及排除
摘?要:随着计算机网络的普及,计算机局域网中IP地址分配多采用DHCP服务自动获取。DHCP自动获取IP地址虽然简化了IP地址管理、部署,但随之而来的各种DHCP故障和安全问题却成为日常网络管理中的新问题。文章先分析DHCP的基本工作原理,再列举了局域网中实际碰到的DHCP故障并提出具体解决措施,以期对日常网络管理有所帮助。
随着局域网的逐步扩大,网内机器越来越多,IP地址的分配及部署难度日渐突出。静态IP地址分配方式不仅容易造成IP地址冲突和配置错误,也给用户和网络管理带来了很多不便。使用DHCP虽然能很好地解决IP地址分配及部署的问题,但由于DHCP在配置和使用上可能存在的错误很容易导致网络故障,本文结合DHCP工作原理,从几个方面针对DHCP故障及排除做些探讨。
一、DHCP网络拓扑结构及工作原理
DHCP是Dynamic Host Configuration Protocol(动态主机分配协议)的缩写,网内所有的IP地址配置方案都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。因此必须至少有一台DHCP服务器工作在网络上面,它会监听网络内计算机的DHCP请求,并与客户端磋商TCP/IP的设定环境。
首先客户端开始向DHCP服务器发送一个DHCP discover请求报文;服务器对客户端的DHCP discover报文响应一个DHCP offer报文;客户端对服务器的DHCP offer报文响应一个DHCP request报文;当客户端发现服务器分配给它的IP地址无法使用,如 IP地址发生冲突时,将发出此报文让服务器禁止使用这次分配的IP地址;服务器对客户端的DHCP request报文响应,客户端收到此报文后才真正获得了IP地址和相关配置信息;当服务器对客户端的DHCP request报文拒绝响应,客户端收到此报文后,一般会重新开始DHCP过程;当客户端主动释放IP地址,当服务器收到此报文后就可以收回IP地址分配给其他的客户端。
二、局域网中DHCP常见故障及排除探讨 1.客户端无法获取IP地址信息
在局域网维护中,经常会遇到客户机不能上网且无法获取IP地址的情况,此时,检查计算机的网卡及其驱动、TCP/IP是否配置为自动获取和网络线路后发现都正常。在Windows自带的DOS命令提示符下,键入“ipconfig/all”命令,如果显示的配置信息IP地址是169.254.XXX.XXX,表明该故障机没有得到DHCP服务器分配的IP地址。一般当客户机没有及时得到DHCP Server应答时,Windows操作系统会自动分配一个以169.254开头的地址给客户机,不过这也证明客户端的网卡工作正常。 当我们遇到这种情况,首先执行“ipconfig/release”命
令,将客户端系统当前的地址释放,再次执行“ipconfig/all”命令,就会发现客户端系统的IP地址已经变成0.0.0.0了,这就表示Windows系统已经将网卡动态分配的地址释放出来;然后使用“ipconfig/renew”命令再次向DHCP服务器重新申请IP地址,如果申请成功客户端将重新得到新IP地址,如果失败则说明客户端与DHCP服务器之间网络通讯不正常。 2.非法DHCP服务器引起的安全故障
非法DHCP服务器在局域网DHCP排障中也是非常常见的。一个广播域内客户端获取到非法DHCP服务器发出的IP配置信息,致使客户端IP无法正常通过路由器获取访问网络权限。这是由于局域网内有2台或2台以上DHCP服务器,其中只有一台为合法DHCP服务器,其他为非法DHCP服务器。出现这种情况是由于DHCP服务在设计当初并没有考虑到复杂的安全问题,客户端发出的申请信息DHCP discover、DHCP request以及服务器端回应的信息DHCP offer和DHCP ACK均没有任何关于安全检验认证的字段或者与安全相关的信息。当正常的客户端以广播的方式发出DHCP discover、DHCP request时,非法的 DHCP服务器接收到信息并且抢先应答客户端,那么客户机将被赋予非授权的IP地址信息。当客户使用这样的IP来上网时,可能会被路由器的网络访问规则阻隔,从而导致不能上网或无法获取局域网内合法的网络信息及资源。
遇到这种情况,我们首先要找到非法DHCP服务器,在获取
了错误IP地址的客户机上,使用“arp–a”命令来查找到非授权的DHCP server的IP地址和MAC地址,在汇聚层的三层交换机或路由器上执行“show mac-address-tablead-dress dhcp”服务器IP地址,结果能够找到非法DHCP服务器在三层交换机或路由器上连接的接口号。通过输入“interface”接口号命令进入该接口,然后使用“shutdown”关闭该接口,则非法DHCP server与网络中其他任何设备不能通信,当然最好能通过MAC地址找到该台非法DHCP计算机,删除或关闭非法DHCP服务。 3.能获取IP地址却无法上网
在能获得合法IP地址时,给人的误导是计算机、网络、服务器都是正常的,但始终无法上网,无意中发现能正常使用QQ,表明网络肯定是没问题的。在使用“ipconfig/all”命令后发现客户端能正常获取IP地址,但无法获得DNS,无法实现域名解析,导致能正常使用QQ而无法上网。在DHCP服务器端配置信息中发现下图方框中指定DNS服务器被其他人误删除,复原回来问题解决。
4.地址池内大量地址无法被客户端获取
地址池内大量地址无法被客户端获取此类问题比较罕见,但实际上在IP地址紧张的情况下,我们的子网或许会将一个网段比如192.168.0.0—192.168.0.255通过子网掩码将其隔断。多数情况一个作用域划分120个IP地址管理方便,所以我们的子网掩码不会使用标准的255.255.255.0,而会使用
255.255.255.128或者255.255.255.192将一个作用域分割。这种情况下,一个DHCP作用域一般是128个IP地址或者64个IP地址,而网内的客户端可能长期处于90台计算机或者50台计算机,为方便日后添加少量的客户端作用域内会预留一定量的IP地址。但由于这部分闲置的IP地址长期不被使用,日后添加少量客户端的时候可能存在一定的问题。笔者曾经就碰到过类似的问题,在一个作用域中,预留的IP地址数是128,网内长期使用的客户端有80台,但在一次设备更新至100台后出现问题。DHCP地址池内只有89个IP地址被租用,网内同样也只能有89台机器可以正常获取到IP地址,在排除机器和网络连接的问题后故障依旧,即使手动配置IP地址网内也会报IP地址冲突。 经过多方查证,发现DHCP服务器的该作用域内有大量IP地址被其他服务使用,而且无法在地址池内清空释放。找到故障后,由于无法正常释放被占用IP地址只能从源头解决问题。 三、结束语
本文通过对DHCP工作的基本原理深入了解,并对其原理触发过程的顺序和要素仔细分析,有效地排查、解决了福建省晋江华侨职业中专学校的教学机房局域网使用DHCP分配 IP地址及长期应用中碰到的具体故障。另外,在实际工作中还应该对各类故障现象多分析、多总结,相信通过这样的途径一定能妥善处理局域网中的DHCP故障。总之,在网络维护过程中,除了常见故障外,潜在的网络故障也会影响 DHCP 服务。在实际网络维护的
过程中,只有逐步理解网络运作原理,才能有效地解决实际问题。