查找局域网络中的故障技巧


许多用户在第一次设置家庭或小型办公室网络时都会遇到一些困难。其中大多数只要知道原因就很容易解决,在此本文将讨论一些基本的查错步骤,并介绍几个可以帮助大家解决问题的工具。
这好像是废话,但却必不可少。遇到问题后要做的第一件事就是检查所有的PC、服务器、打印机以及网络上的其它设备是否都能互相“看见”。
有线连接
对于有线网络,要确认每个设备都用电缆连接到了集线器或交换机上;检查每个连接是否牢固,更重要的是要确认每根线的连接方式正确无误,因为有两种网线接线形式。
今天,大多数UTP无屏蔽双绞线)电缆的两端都有接头。一根网络电缆中有多根网线,它们可以连接到两端水晶头的相同脚直通式),也可以交叉连接到不同脚交叉式)。直通式电缆是将PC、服务器或其它网络设备连接到集线器或交换机上。交叉式电缆可以用于两台电脑之间点对点的连接,或者用于集线器/交换机之间的级联。用错电缆一般电缆上都没有标明是直通式还是交叉式)以及接错信号线都会导致网络不通。
如果不能确认一根电缆内部接线形式,最简单的办法就是将它插上,然后检查网卡或集线器的连接状态LED灯。当连接正常时,即使主机未开机也会点亮一个绿色LED;有些时候灯的颜色是黄色/橙色,表示是100M或1000M的网络连接有些带有单独的100M连接指示灯);如果什么灯也不亮,基本就可以确定使用的网络电缆有问题。解决问题的办法就是换掉它,现在有些交换机的端口旁有一个开关一般标有“uplink”字样),可以切换所用电缆的类型。还有些最新的交换机产品能够自动检测插入的电缆类型,并且在内部进行交换见图1)。
无线连接
无线网络的情况略微复杂些,因为它没有明显的连接线。但大多数的无线网卡都带有软件,可以用它来检测是否建立了连接,而且不同厂家的软件在Windows XP下的功能都差不多。
在检查无线连接故障时,首先要确定所有的安全/加密选项都处于关闭状态。其次,检查网卡的模式设置是否正确,多数无线终端在进行点对点应用时,使用一种“ad-hoc”电脑到电脑)模式,而访问接入点时要进行单独的配置。接下来确定使用的是同一个通道,各方使用相同的SSID服务器组标识,用以识别无线局域网)。最后,将要检查的电脑尽量靠近其它通信设备,以减少距离或外界干扰的影响。


图1 这台小型Netgear交换机可以自动检测使用的是直通式电缆还是交叉式电缆。老式集线器和交换机没有这种功能,所以要检查绿色的连接灯是否发亮。

在确定了各个设备的物理连接后,下一个步骤就是确认它们可以互相通信。在大多数使用TCP/IP协议的网络中,需要为每个设备分配一个唯一的IP地址。
可以手工为每个设备指定地址,但最好还是使用DHCP动态主机配置协议)功能:它是由一台DHCP服务器从一个预先设定的IP地址池中自动分配地址。这样,可以确保不会出现两个系统使用同一地址的情况。
大多数路由器和网关都有内置的DHCP服务器,也可以配置一台Windows Server来完成这一功能。一旦配置完成后,就不需要人为的干预了。尽管如此,仍可能发生问题,此时可以在Windows的命令窗口用ipconfig工具,检查地址设定是否正确。
在Windows的命令提示符窗口中输入ipconfig,就可以看到每个网卡的当前IP地址,见图2。在命令的后面加上“/all”参数,可以显示所有的网络信息,如:MAC地址,DHCP服务器地址以及缺省网关和DNS地址等,这些信息在排除网络故障时都很有用。如果DHCP设置被修改了,但客户端PC没有更新,可以用“ipconfig /release”命令强制客户端释放原有地址。然后用“ipconfig /renew”命令重新获得一个新地址。
在老式的Windows 95系统中,图形界面的winipcfg程序代替了命令行工具ipconfig。如果用的是Linux,则应该使用ifconfig命令。
如果ipconfig显示没有IP地址,则可能是DHCP服务器当机或无法访问。这也就意味着PC或服务器无法用DHCP方式自动获得地址,这种情况下,只需对PC设置进行修改即可见图3)。
有些Window系统还可能出现这种情况:设置了自动分派地址功能,但找不到DHCP服务器,地址就都以169开始如169.xxx.xxx.xxx)。这种地址是操作系统自动生成的,虽然它也能同相似的地址一起工作,但仍是一种系统故障。


图2 使用ipconfig命令Linux上用ifconfig)来快速检查IP地址的设置是否正确,以及其它地址问题。
 

图3 当使用DHCP服务器来分配网络地址时,要将Windows客户端都设成“自动获得IP地址”。

另一个解决问题的重要工具是ping程序。只需在命令提示符窗口中输入“ping”,后面跟一个待查系统的IP地址或DNS名;某些路由器和网络设备也可以发出ping命令。无论何种方式,都是将一串ICMP包发往给定的地址。如果目标系统有响应,则系统会显示一个来回所花时间,见图4。其中,第一个地址192.168.0.1)是一个公共网关服务器,所花时间稍长些。第二个地址10.19.9. 1)是在局域网内,所以响应得极快小于1 ms)。
如果没有响应,则系统会告诉你是主机无法访问到或超时。虽然它没有讲故障的原因,但ping可以给出重要的提示。在查找互联网连接问题时,第一步就是要ping缺省网关。如果网关没有响应,问题肯定就出在它身上。例如,可能是路由器死机或线路有问题。
如果网关可以ping通,接下来就是ping一个互联网上的地址为使用方便,我脑子里总记录着一堆公共DNS服务器名)。如果可以上网,但不能浏览网页或收发邮件,基本上可以怀疑是DNS问题。如果怀疑DNS服务器当机,可以用nslookup进行检查,如果怀疑客户端配置的地址有误,可以用ipconfig去发现问题。
防火墙可以阻挡ICMP数据流,因此ping不到一个远程设备并不表明一定有通信问题。大多数的家庭和小型办公路由器会配置成对互联网上的ping请求不作响应,但对本地的ping仍作回应。  


图4 ping命令用来确定一台PC是否能同局域网或互联网上的其它设备通信,以及要花多长时间才能达到它们那里。

从图4中的显示可以看到,ping一个互联网主机要比ping本地地址花费更长时间,因为信号从源系统到目标系统可能要经过很多路由器。有一个Windows工具叫tracertLinux中用traceroute工具),它可以确定中间经过了多少“跳”(hops),以及经过的路由器地址。 输入tracert,后面接目标IP地址或DNS名),屏幕的显示如图5。
如图5所示,发给某个地址192.168.0.1)的包先经过本地路由器10.19.9.1,然后在互联网上经过多个点的接力,最后到达目的地。在排除本地网络故障时,一般只需关心第一跳,当然其它信息对解决网络性能问题也很有帮助。

图5 Tracert命令显示一个包在源系统与目标系统之间经过的路由,包从一个路由器到另一个路由器为一“跳”(hop)。

最后,可能需要检查网络的DNS设置以及与互联网的连接,使用的工具是nslookup。该工具的使用前提上面已讲过,即可以ping到互联网上的IP地址,但不能浏览网页或ping不到DNS名。同其它命令行工具一样,nslookup也可以在DNS名和IP地址两者间进行相互的解析转换。
Nslookup工具是可以带参数的,在nslookup后带一个“?”即可列出所有参数用法。最简单的使用方法就是在nslookup后面跟上DNS名或IP地址。该工具使用主机系统上的缺省DNS服务器设置进行查找工作,如果输入的域名或地址是有效的,则解析中的错误会指明问题所在,常见的问题是DNS服务器设置错误。
对nslookup和上面提到的其它工具给出的结果,要仔细解读和理解,但它们的使用不会对网络造成实际损坏,所以放心大胆地用吧。
有些情况下,连接LED会闪动,而不是常亮。这意味着虽然连接正常,但两方端口不兼容。例如,电脑网卡设为100M,而交换机端口是10M。所幸的是,现在几乎所有设备都支持端口的速度与双工设置自动检测,以避免出现兼容问题。但是,我仍遇到过不同厂家的设备混合工作时的兼容问题,只有手工设置参数才能解决。


相关内容