当计算机不能上网时,如何进行网络故障排除?
当网络遭遇故障时,最困难的不是修复网络故障本身,而是如何迅速地查出故障所在,并确定发生的原因。对于网管来说,首先要有一个清晰的排障思路,另外,经验也是非常重要的。 当网络遭遇故障时,最困难的不是修复网络故障本身,而是如何迅速地查出故障所在,并确定发生的原因。对于网管来说,首先要有一个清晰的排障思路,另外,经验也是非常重要的。 网络故障诊断以网络原理、网络配置和网络运行的知识为基础,从故障的实际现象出发,以网络诊断工具为手段获取诊断信息,沿着OSI七层模型从物理层开始依次向上进行,逐步确定网络故障点,查找问题的根源,排除故障,恢复网络的正常运行。 网络故障症状包括一般性的(如用户不能上网、不能访问网上邻居等)和较特殊的(如路由器不在路由表中)。常见的网络排障思路如下: 第一步:识别并描述故障现象 分析网络故障时,首先要清楚故障现象,应该详细了解故障的症状和潜在的原因。例如,服务器不响应用户的请求,可能的故障原因是服务器配置问题、接口卡故障或路由器配置命令丢失等。收集需要的用于帮助隔离可能故障原因的信息,如广泛地从用户、网络管理系统、协议分析跟踪、路由器诊断命令的输出报告、软件说明书中收集。 第二步:制定诊断方案,列举可能导致故障的原因 可以根据有关情况排除某些故障原因。例如,根据某些信息可以排除硬件故障,从而把注意力放在软件上。 第三步:排除故障 认真做好每一步测试和观察,每改变一个参数都要确认其结果,确定问题是否解决。如果没有解决,继续下去,直到故障症状消失。 实例1不能访问服务器 要先测试一下这一故障是否只影响一台工作站,这可以通过其他工作站访问服务器来证实。如果有类似故障的工作站出现在同一网段或连接在同一交换机上,那么就要分析这一网段子网掩码是否设置正确,交换机是否正常工作。除此之外,还要看一下服务器是否禁止了这一网段工作站的服务。 实例2传输上百兆数据时出现“网络资源不足”的提示 新买来一台微机,接入局域网,当与其他的微机传输几十兆的数据时没有任何问题,但达到上百兆时,过一会儿就会出现“网络资源不足”的提示,紧接着就再也找不到网络邻居了。 按常规,网络故障一般不排除以下几点:网卡有问题、水晶头做得不规范、网线有问题、网卡驱动或网络协议有问题等。但是根据故障现象来看,以上猜测都可以排除,因为任何一个地方存在问题,就不可能在微机之间进行数据传输,从而可以判断问题应该出在环境因素上。由于大量的数据传输需要频繁的数据读取,这就要有一个相对平稳的传输环境,而网卡附近有干扰时,这种平稳的环境就会被破坏。一般要确保网卡不插在离显卡很近的插槽上,因为现在的显卡一般都带有风扇,而显卡风扇将影响到网卡的工作,尤其是显卡在频繁工作时,影响将更加明显。把网卡拔下来,插到离显卡一个较远的插槽上,即可解决大量数据传输时出现的问题。
当我们访问一个域名时无法完成将其解析到IP地址的工作,这可能就是DNS服务器出问题了,下面将介绍一些基本的排除DNS解析故障的方法。
一、DNS解析故障现象
一般来说像我们访问的这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问操作。
不过由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是Dns服务器。能够实现DNS解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。
出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。
二、如何解决DNS解析故障:
当我们的计算机出现了DNS解析故障后不要着急,解决的方法也很简单。
(1)用nslookup来判断是否真的是DNS解析故障:
要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。
第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入nslookup命令后回车,将进入DNS解析查询界面。
第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的Dns服务器IP为202、106、0、20。
第四步:接下来输入你无法访问的站点对应的域名。例如笔者输入,假如不能访问的话,那么DNS解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。
小提示:如果DNS解析正常的话,会反馈回正确的IP地址,例如笔者用www、sohu、com这个地址进行查询解析,会得到name:sohu、com,addresses:61、135、133、103,61、135、133、104的信息。
(2)查询Dns服务器工作是否正常:
这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。
第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入ipconfig /all命令来查询网络参数。
第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。例如笔者的是202、106、0、20和202、106、46、151。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的Dns服务器地址即可解决问题。
第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决 Dns服务器上的DNS服务故障,一般来说问题也能够解决。
(3)清除DNS缓存信息法:
当计算机对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接Dns服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。
第一步:通过“开始->运行->输入CMD”进入命令行模式。
第二步:在命令行模式中我们可以看到在ipconfig /中有一个名为/flushdns的参数,这个就是清除DNS缓存信息的命令。
第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。
第四步:接下来我们再访问域名时,就会到Dns服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。
(4)修改HOSTS文件法:
修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于Dns服务器上的解析关系。
这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
第一步:通过“开始->搜索”,然后查找名叫hosts的文件。
第二步:当然对于已经知道他的路径的读者可以直接进入c:\windows\ system32\drivers\etc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:\winnt\system32\drivers\etc目录中寻找。
第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。
第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127、0、0、1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)
第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的 IP地址,然后空格接域名信息。例如笔者添加了“211、153、80、1 www、ftedu、gov、cn”与“10、82、0、1 www、ftedu、gov、cn”两个条目。
第六步:设置完毕后我们访问www、ftedu、gov、cn时就会自动根据是在内网还是外网来解析了。
三、总结:
通过上面介绍的四个步骤,我们就可以解决大部分DNS解析问题了,这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是在实在没有办法的时候,一种权宜之计。当然不管是通过哪种方法,我们都可以解决因为 DNS解析错误带来的网络故障。相信这些方法可以帮助各位IT168的读者解决更多的实际问题。
没关系,本文就将为大家总结一下相关的问题吧。众所周知每台计算机要想正常上网需要有一个地址,这个地址就是我们常说的IP地址。在实际工作中身为网络管理员的我们如何有效的管理这些IP地址呢?为每台计算机设置对应的IP地址,子网掩码,网关地址,DNS地址等网络参数的话固然是可以的,但是非常的烦琐,工作量大不说,在实际应用中很可能经常会出现冲突的现象。我们如何有效的分配这些网络参数呢?DHCP服务可以帮我们大忙,通过将DHCP服务配置在专业的服务器上,然后为网络中所有普通客户机分配IP等信息是件效率非常高的工作。不过DHCP在为我们网络管理提供便利的同时也带来了一些问题。例如网络带宽受影响,客户机经常无法获得正确的地址信息,甚至是无法获得任何信息。其实这些故障我们都可以按照一定的规律去解决的,今天就由笔者为各位读者全面介绍排查DHCP故障的方法。一、概念篇:在介绍排查DHCP故障之前首先为大家阐明几个概念性的东西,只有理论上充实了,才能更好的理解下面介绍的故障排除的思路。第一:DHCP服务能够提供什么数据?DHCP服务不是万能的,他只能提供网络层相关的参数,例如IP地址,MASK地址,网关地址,WINS与DNS服务器地址等。对于更低层的地址,诸如MAC地址等信息是无法提供的。MAC地址是烧录在计算机网卡中的。第二:多台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故障,另外用 lspfixexe或winsockxpfixexe,修复tcpip的栈区错误,结合“开始->运行->输入sfc /scannow”扫描一遍系统文件也能得到意想不到的结果。三、服务器排障: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 服务出现问题时不要盲目的去服务器上查找结果,大部分时候都是因为客户机故障造成的,另外客户机与服务器之间的媒介也要值得注意,网线是否连接正常,交换机是否工作正常都是需要考虑的,必要时一定要多多替换,换几个网线或几个交换机端口来判断。切记不要想当然去操作,要脚踏实地的去测量才能得到真正的结果。
0条评论