不管是什么问题,只要有网络的地方,就肯定会出现一些或大或小的问题。这里我们就将为大家讲解一下处理DHCP服务器故障的四个方法。最近公司里部分计算机频繁出现不能上网的问题,这些计算机都是自动获得ip的,但经过检查我发现他们获得的网关地址是错误的,按照常理dhcp不会把错误的网关发送给客户端计算机的。后来我使用ipconfig /release释放获得的网络参数后,用ipconfig /renew可以获得真实的网关地址,而大部分获得的仍然是错误的数据。所以我断言局域网中肯定存在其他的DHCP服务器,也叫做非法DHCP服务器。为什么真正的DHCP服务器分配的网络参数无法正确传输到客户机上呢?
首先来了解下dhcp的服务机制:
一般公司内部都会有一个DHCP服务器来给客户端计算机提供必要的网络参数信息的,例如ip地址,子网掩码,网关,dns等地址,很多情况路由器就可以担当此重任。每次客户端计算机启动后都会向网络中发送广播包寻找DHCP服务器(前提是该计算机被设置为自动获得ip地址),广播包随机发送到网络中,当有一台DHCP服务器收到这个广播包后就会向该包源mac地址的计算机发送一个应答信息,同时从自己的地址池中抽取一个ip地址分配给该计算机。
为什么非法dhcp会被客户端计算机认为是合法的?
根据dhcp的服务机制,客户端计算机启动后发送的广播包会发向网络中的所有设备,究竟是合法DHCP服务器还是非法DHCP服务器先应答是没有任何规律的,客户端计算机也没有区分合法和非法的能力。这样网络就被彻底扰乱了,原本可以正常上网的机器再也不能连接到intelnet。
解决方法:
1、ipconfig /release 和 ipconfig /renew
我们可以通过多次尝试广播包的发送来临时解决这个问题,直到客户机可以得到真实的地址为止。即先使用ipconfig /release释放非法网络数据,然后使用ipconfig /renew尝试获得网络参数,如果还是获得错误信息则再次尝试/release与/renew直到得到正确信息。
提醒:这种方法治标不治本,反复尝试的次数没有保证,另外当dhcp租约到期后客户端计算机需要再次寻找DHCP服务器获得信息,故障仍然会出现。
2、通过“域”的方式对非法DHCP服务器进行过滤
将合法的DHCP服务器添加到活动目录(active directory)中,通过这种认证方式就可以有效的制止非法DHCP服务器了。原理就是没有加入域中的dhcp server在相应请求前,会向网络中的其他dhcp server发送dhcpinform查询包, 如果其他dhcp server有响应,那么这个dhcp server就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。这样当合法dhcp存在时非法的就不起任何作用了。
提醒:这种方法效果虽然不错,但需要域的支持。要知道对于众多中小企业来说“域”对他们是大材小用,基本上使用工作组就足以应对日常的工作了。所以这个方法,效果也不错,但不太适合实际情况。
3、在路由交换设备上封端口
dhcp服务主要使用的是udp的67和68端口,DHCP服务器端应答数据包使用68端口,67端口为客户机发送请求时使用。所以我们可以在路由器上保留服务器的68端口,封闭客户机的68端口,就能达到过滤非法DHCP服务器的目的。
提醒:如果计算机很多的话,操作起来不方便,而且会增加路由器的负担,影响到网络速度。
4、查出非法DHCP服务器幕后黑手,进行屏蔽
DHCP服务器也充当着网关的作用,如果获得了非法网关地址,也就是知道了非法DHCP服务器的ip地址。通过ping ip 查到主机名,通过arp 主机名 查出mac地址。知道了mac地址,就可以在路由器中屏蔽这个mac,或者是屏蔽该mac的68端口。或者其他的方法都行,幕后黑手都找到了,怎么处置就随你了。我用的就是这第4种方法
原文:http://hi.aeeboo.com/momol/blog/article/9267481/