如何排查DHCP故障?

如何排查DHCP故障?,第1张

没关系,本文就将为大家总结一下相关的问题吧。众所周知每台计算机要想正常上网需要有一个地址,这个地址就是我们常说的IP地址。在实际工作中身为网络管理员的我们如何有效的管理这些IP地址呢?为每台计算机设置对应的IP地址,子网掩码,网关地址,DNS地址等网络参数的话固然是可以的,但是非常的烦琐,工作量大不说,在实际应用中很可能经常会出现冲突的现象。我们如何有效的分配这些网络参数呢?DHCP服务可以帮我们大忙,通过将DHCP服务配置在专业的服务器上,然后为网络中所有普通客户机分配IP等信息是件效率非常高的工作。不过DHCP在为我们网络管理提供便利的同时也带来了一些问题。例如网络带宽受影响,客户机经常无法获得正确的地址信息,甚至是无法获得任何信息。其实这些故障我们都可以按照一定的规律去解决的,今天就由笔者为各位读者全面介绍排查DHCP故障的方法。一、概念篇:在介绍排查DHCP故障之前首先为大家阐明几个概念性的东西,只有理论上充实了,才能更好的理解下面介绍的故障排除的思路。第二:多台DHCP服务器是否可以同时运行?DHCP服务器是通过广播包向客户机发送网络信息的,因此如果同一个网络中确切的说是同一个广播域中存在多台 DHCP服务器的话,就会出现各个服务器提供各自的网络信息,这样就造成网络中广播数据包的冲突。客户机不知道该接受哪台DHCP服务器发来的信息。因此微软公司设置默认情况下同一个广播域网络中只能存在一台DHCP服务器,后设置建立或启用的DHCP将无法工作。第三:租约是什么?在配置DHCP服务器过程中会设置租约的天数,那么什么是租约呢?在DHCP服务器将网络信息分配数据包发给客户机后会收到客户机发回的答复数据包,接着DHCP服务器会将已经分配出去的IP地址与从客户机接收到的该计算机MAC地址建立一个对应关系,并把这个对应关系保存在DHCP服务器的租约池中。为什么需要这个租约池呢?一方面为下次分配网络参数信息提高了速度。不过如果该MAC地址对应条目的客户计算机被移到其他地方或者MAC 地址发生了改变的话,如果上面建立的对应关系一直保存在DHCP服务器的租约池中就会造成可用的IP地址数量越来越少,很多有效的地址被无效的MAC占用,因此微软引入了租约这个概念。通过租约我们可以强制每隔一段时间将DHCP服务器的租约池中保存的对应条目全部清空,从而防止了非法MAC地址霸占合法IP的现象。第四:我的客户机可以从DHCP服务器获得169254形式的IP信息,这句话是错误的。为什么呢?微软公司在windows2000系统中提供了这样的功能,即如果网络中不存在任何DHCP服务器,客户机本地网络信息又被设置为自动获得IP方式的话,那么windows2000及其以上 *** 作系统将自动为自己分配一个诸如169254形式的IP信息。因此如果你发现自己的客户机只能获得169254这样的IP地址的话,说明你的DHCP服务器没有正常工作。二、客户端排障:DHCP故障主要有两个方面,客户机存在问题以及服务器自身问题。首先我们来介绍下在客户端进行的排除故障方法。第一步:通过任务栏的“开始-运行-输入CMD”进入命令行模式。第二步:在命令行模式中输入ipconfig后回车,看是否可以自动获得IP地址。小提示:在进行前两步 *** 作前首先要保证客户机的IP地址分配方式被设置为自动获得IP地址。第三步:如果可以获得正确的IP地址说明DHCP正常,如果发现获得错误的地址,其中包括169254这样的形式,则执行ipconfig /release命令,该命令是将当前获得的网络参数信息释放。第四步:释放网络参数后再次执行ipconfig我们会看到当前得到的网络参数已经为空,所有信息变成0000。第五步:释放得到的错误信息后执行ipconfig /renew将自动获得新的信息。小提示:如果我们不执行释放IP信息的命令直接运行ipconfig /renew的话将无法重新获得IP信息。因此第三步必不可少。第六步:重新获得IP信息后我们查看当前的地址参数,如果无法获得任何信息的话还是要从本机入手解决问题,如果获得的是错误信息的话则需要找到DHCP服务器,对其进行检查。第七步:将本地网卡禁用然后再次启用,按照上面介绍的步骤重新做一次。第八步:如果我们知道DHCP服务器的IP地址的话,可以在客户机上使用ping命令“ping 服务器ip”查看网络连通情况。第九步:在系统的“事件查看器”中寻找有无关于DHCP服务相关的故障记录。方法是“开始-控制面板-管理工具-事件查看器”。第十步:通过“开始-控制面板-管理工具-服务”打开服务设置窗口,在服务列表中找到dhcp client service。在其上双击,然后点停止按钮,接着再点启动按钮将其重新启动。如果发现该服务本身没有启用则更说明了故障的根源所在,直接启动并设置启动方式为“自动”即可。第十一步:打开网络的本地连接进行修复,方法是“网上邻居-属性-本地连接-修复”。系统将自动清除ARP缓存与NETBS信息,接着更新DNS与DHCP服务组件与相关信息。第十二步:如果上面十一步仍然不能解决问题的话,我们只能先使用静态IP地址与DNS等网络信息配置本机来进行检测了。如果配置了静态IP信息后可以正常上网,连接LAN的话,则说明问题的出在客户机与DHCP服务器的连接或者DHCP服务器自身上。我们就要将问题的起因放到DHCP服务器上。三、服务器排障:DHCP 服务器的排障方法我们已经介绍过很多了,感兴趣的读者可以查阅以前服务器频道相关文章。主要的手段就是查询服务器上的dhcp server的设置是否正常,如果没有启用将其开启。另外还要时不时的将DHCP服务器关闭查看是否网络中还存在其他DHCP服务器从而产生冲突。另外在网络建立域的情况下,要想开启DHCP服务器是需要由域控制对该DHCP服务器授权的,所以授权工作不要遗忘。还需要提的一点就是租约的问题,如果发现DHCP工作正常,一部分客户机无法获得IP信息,执行ipconfig /renew提示找不到DHCP服务器,而另外一部分可以正常获得的话,百分之九十是因为租约的原因,要嘛租约里保存的信息过多,需要我们手工清除一次;要嘛租约时间设置的过长,以至于大量非法MAC占用了有效IP地址。小提示:凡是提供DHCP服务的服务器都必须设置固定IP地址,想在动态获得IP信息的计算机上启用DHCP服务是不可以的。而且虽然微软公司在限制 DHCP服务上做了规定,例如同一个网络中不容许两台DHCP存在。但是目前有很多第三方软件可以建立DHCP服务器,甚至是宽带路由器也将DHCP功能集成于自身配置中,因此在这种情况下就无法清楚的查询出网络中到底存在几个DHCP服务器了,我们只能将怀疑对象一一关闭或者在交换机及路由器上将怀疑对象进行访问控制列表过滤。总之网络中存在非法DHCP服务器引起的网络故障是非常难解决的,需要反复调查循序渐进。总结:当DHCP 服务出现问题时不要盲目的去服务器上查找结果,大部分时候都是因为客户机故障造成的,另外客户机与服务器之间的媒介也要值得注意,网线是否连接正常,交换机是否工作正常都是需要考虑的,必要时一定要多多替换,换几个网线或几个交换机端口来判断。切记不要想当然去 *** 作,要脚踏实地的去测量才能得到真正的结果。

用抓包工具,当你客户机,发送一个DHCP,DISCOVER包的时候,网络上,所有的,包括做过DHCP中继代理的服务器,都会向你提供一个REQUEST包,然后你分析一下包源,就可以找出所有的DHCP的IP地址了。

延展阅读:

1、点击桌面左下角WINDOWS系统图标,d出菜单。如下图打开系统控制面板。

2、选择”网络与Internet”选项,如图。

3、选择“网络和共享中心”选项,如图。

4、在“网络和共享中心”查看活动网络中,出现的是你的电脑目前存在的几种网络连接,一般是一种有线,一种无线。查看你目前正在使用的网络连接类型,比如我目前使用的是无线,我选择无线。如图。

5、在d出的“无线网络连接”页面,点击“详细信息”,如图。

6、“网络连接详细信息”页面可以清晰查到IP、DHCP、DNS地址。

首先说明一下这种情况的原因:开机时出现“DHCP。。。。”提示,是因为BIOS启动了BOOT ROM芯片的引导功能,而且网卡带有PXE的引导芯片之后所造成,而且貌似只有XP系统会这样,
最简单直接的方法就是,当进入此界面的时候马上按左上角的“Esc”按键即可取消扫描
如果希望一劳永逸的话,则需要到BIOS里面进行设置
集成网卡解决方法:开机按Del键进入Bios->Integrated Peripherals ->Onboard LAN Boot Rom 改为Disabled。
独立网卡解决方法:开机自检过后连续按Shift + F10,即可进入网络启动设置界面,第二项Boot Order选为“ROM Disabled”即可
有些主板BIOS可能没有以上的选项,可用这种方法解决:在Device选项卡下发现Network Setup,找到PXE Boot Agent,将其Disabled之后即可

分类: 电脑/网络 >> 互联网
问题描述:

我们公司的DHCP是一台路由器,地址是19216801,DHCP范围是200-250,所有设定为自动获取IP地址的电脑都会自动到这台路由器去拿IP,但是这几天出现了一个很奇怪的现象,所有的电脑居然都去了一台地址是192168034的DHCP拿地址(也能上网),而且这个DHCP的名字是:mshome

我估计是有可能网内又多了一台DHCP服务器,但是找不到,也PING不通,不知道有没有办法可以所有网内所有的DHCP服务器

希望高手们不吝赐教,不胜感激,谢谢!

解析:

由于 DHCP 协议是二层的,无法找到网络中DHCP 服务器的源、目的 IP 地址 只能通过采取用 tcpdump 抓包的方法,来判断对方的 MAC,如果有了 MAC 就好办了 普通情况下,tcpdump 抓到的包都是 3 层的,只能看到 IP 头和其他 4 层头(比如 TCP/UDP) tcpdump 下面有个 -e 参数 -e Print the link-level header on each dump line 这个是关键,还有一个关键部分就是 port,因为 dhcp 协议会用到 UDP/67,知道这两点就好办了,抓包看看 MAC 就可以了 有了 MAC 就好办了,再用 arp -n 就能看到其 IP
抓包举列:

代码: [root@platinum root]# tcpdump -e -i eth1 -nn port 67 -c 3 2>&1|awk /bootp/{print " --> "} 0:0c:85:ad:e5:af --> ff:ff:ff:ff:ff:ff e7:0a:19:80:03:09 --> 0:0c:85:ad:e5:af 0:0c:85:ad:e5:af --> e7:0a:19:80:03:09 [root@platinum root]#

忘了说,tcpdump是LINUX下的命令,WINDOWS的话你去下个软件siniff pro

1、由于测试环境是VMWare 里面的,并且使用NAT转发和主机共享网络,所以将19216811段作为客户机段IP,并且在VMware 中关闭 DHCP 服务器,使用一台Linux 作为DHCP服务器,另一台XP作为测试客户机。

2、查询是否安装DHCP,查看到当前系统没有安装。

3、采用镜像里面的软件进行安装,成功安装后查看到软件系统DHCP 305。

4、设置Linux 网卡信息,由于19216811已经被VMWare 默认占用,并且19216812为网关,所以这里使用19216813。

5、在DHCP配置里子网19216810子网掩码2552552550,设置保留IP地址,并置相应的其他信息,重启网络服务、DHCP 服务器。

6、打开客户机,并且客户机设置的是自动获取 IP 地址。

7、查看客户机IP,看到已经是DHCP 服务器里面设置的域名,以及IP段,说明从DHCP服务器正常获取到IP地址;并且能够ping 通网络,说明能够正常上网。

8、查看Linux的系统日志,首先使用cat /var/log/messages查看日志,查看到有来自客户机的请求记录。

9、查看DHCP分配文件,使用cat /var/lib/dhcpd/dhcpdleases命令,查看到客户机的信息以及DHCP 分配IP情况,测试成功。

把你的ip改成 19216816325
然后ping 192168163254
再运行 arp -a
看那台及其的mac地址
然后把这台电脑找出来
如果你没有mac地址的记录就一台一台的看mac地址找吧

IP地址出问题了。
DHCP是分配IP地址的协议,只有你自己设置为自动获取IP地址时,这样你才会获得,如果设置自己设置IP地址,这个的作用就用不上了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13460950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存