深入剖析“网上邻居”、UNC路径网络访问故障

来源:互联网 发布:宇佐美舞 知乎 编辑:程序博客网 时间:2024/06/05 05:47
关于网上邻居、UNC路径访问故障的问题,在论坛上常被问起。答案纷杂,一直没有一个比较全面细致的回答,本文将由浅入深全面深入地来剖析一下。
  首先要和大家明确一条简单实用的原则:无论是何种访问故障问题,都应该首先确定是由于本机的原因,还是由于目标机的原因。方法很简单:若是本机的问题,访问另外的目标(实际中多试几个)也会出同样的、类似的问题。

预备知识:物理连接、协议
  这部分知识,大家相对比较了解,简述思路如下:

操作

正常工作/通

不正常工作/不通

查看:设备管理器/网卡 网卡及其驱动没问题,已经正常工作了。 考虑网卡的物理完好,及驱动是否正确,一般为后者。早期的非PCI网卡还可能是由于中断IRQ设置不当引起的。

Ping
127.0.0.1

说明TCP/IP协议没问题 需要重新安装TCP/IP协议,此故障极少见。 Ping
自己的IP 说明本机所配IP正确,没有问题。 IP地址冲突。解决:事件查看器查找冲突网卡的MAC地址,或ping –a IP获取冲突计算机的名字。 Ping 自己的默认网关 到默认网关的物理线路没问题 解决:首先查看网卡灯是否正常(一般:一灯亮一灯闪)。不正常说明本机到下一设备(HUB/交换机/路由)这段线路有问题或设备未加电、有故障、需重启等。 Ping 另一网段远程主机IP 路由设备、外连线路没问题 检查路由器设置、外连线路。
也可能是目标主机的问题,可先ping一下另一台远程主机。 Ping 远程主机的域名 说明本机所配DNS没问题 检查本机DNS配置,检查DNS服务器

说明:
1、 若目标安装了防火墙或筛选器等,禁用了ICMP,也会导致ping不通。提示为:Request time out。
2、 那么防火墙等为什么要禁用ICMP呢?主要是为了防止黑客的DoS(Denial-of-service)、DDoS攻击。因为被ping的计算机要做出响应,响应多了就无法向外提供其它服务甚至死机。
3、 为什么安装了防火墙的计算机,能ping通别人?防火墙的本质就是筛选器,针对访问的双向性,可配置输入、输出筛选。Ping命令使用到ICMP协议,ICMP类型为:入8,出0。禁止自己被别人ping,可以禁止“入8”,也可以禁止“出0”,但显然前者更好些。
4、 注意:其它访问(如:共享资源、HTTP、FTP等)不会因禁用ICMP,ping不通而受影响。
另外,查看TCP/IP配置是否正确时,最好使用ipconfig /all命令,而不是图形界面。因为图形界面下是你给计算机所做的配置,而ipconfig下相当于把计算机当前的配置调出来查看。没问题时,二者是一样的;但有问题时,二者是会不同的。

一、基于UNC路径的IP形式来访问,如在开始/运行://10.63.243.1

前提:在网卡、协议、连接没问题的情况下。即在可ping通的前提下,若//10.63.243.1不通,排错可从下面几个方面来考虑。

1、目标机的“Microsoft网络的文件和打印机共享”服务的问题。
提示:“//10.63.243.1 文件名、目录名或卷标语法不正确”。
检查:服务是否安装、是否选中,或重装一下。
操作:网上邻居/右键/属性/本地连接/右键/属性

2、由于访问相关的net logon、server、workstation服务务未正常启动的影响。
提示:
(1)若目标机(为域成员)上的net logon服务停了:“试图登录,但网络登录服务未启动”。
(2)若目标机上的server服务停了:“//10.63.243.1 文件名、目录名或卷标语法不正确。”
(3)若本机的worstation服务停了:“//10.63.243.1 网络未连接或启动”。连其它计算机,也是一样的提示。
检查:相应服务是否已经正常启动。
操作:我的电脑/右键/管理/服务和应用程序/服务下

3、由于本机与其它计算机重名(指NetBIOS名称)的影响
提示:访问任何计算机均提示:“找不到网络路径”。
检查:重启一下,看是否有“网络中存在重名”的提示。可能上次开机时没注意给忽略了。
操作:我的电脑/属性/网络标识/属性/计算机名下,修改计算机名。

4、XP/03由于默认安全策略:“帐户:使用空白密码的本地帐户只允许进行控制台登录”的影响
提示://10.63.243.1无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。
检查:改用非空密码的帐户试试,或查看XP/03目标机上的本地策略。
操作:开始/运行:gpedit.msc。计算机配置/Winodws设置/安全设置/本地策略/安全选项下,由默认值“启用”改为“禁用”。
注意:域帐号访问不受此策略限制。

5、网络共享访问被筛选器的设置所阻止
提示:找不到网络路径
检查: TCP/IP筛选、IPSEC、RRAS筛选器是否被启用,且TCP端口139和445被禁用。
操作:
(1)网上邻居/属性/本地连接/属性:TCP/IP—高级—选项—TCP/IP筛选
(2)网上邻居/属性/本地连接/属性:TCP/IP—高级—选项—IP安全机制
(3)开始/程序/管理/路由和远程访问/IP路由选择/常规/接口/右键属性/常规:输入/输出筛选器。
说明:
(1)RRAS筛选器只在2000/03 Server版中才有,IPSEC只有在2000的上述位置才有。
(2)若你就想设置筛选器,基于端口控制,不让别人访问你的网络共享资源,需要同时禁止TCP:139和445口。
(3)由于此种原因产生的访问故障,一般是由于实验后忘了复原,或别人故意和你开玩笑。

二、基于UNC路径的名字形式来访问,如在开始/运行://server

前提:基于UNC路径的IP形式(如://10.63.243.1)来访问没有问题的情况下
必要的说明:
  在Win95时代,默认的协议是NetBEUI,用户可以在不安装TCP/IP协议的情况下,彼此基于名字(或通过网上邻居)来互相访问共享资源。前提是得在同一网段内,因为NetBEUI协议是一个不可路由的协议。
  当然我们现在仍然可以这么做,但不推荐。因为我们已经看到微软正在逐步放弃NetBIOS名称、NetBEUI协议、Computer Browser服务、Wins服务等这些东西,最终完全依赖于DNS。
  这就是第一条途径:两方均安装有NetBEUI协议。(不推荐,下面也不讨论它了)
  第二条途径:两方均为2000/XP/03系统,利用DNS
  第三条途径:两方均启用“TCP/IP上的NetBIOS”
这是三条并行的途径,有一条能走通即可。若都不通,则出现错误提示:“找不到网络路径”。
  
1、 在完全不依赖于DNS的情况下,目标机和本机,两方均要启用“TCP/IP上的NetBIOS。”
操作:网上邻居/属性/本地连接/属性:TCP/IP—高级—选项—WINS下

2、若想利用DNS进行//server这样的名称解析,需要共用同一DNS服务器,或用不同的DNS服务器,但DNS服务器间必须有关联(如:转发器、辅助区域、AD集成区域),这里就不详细说了。一般常见情况下就是:使用同一域下的同一DNS服务器。

三、基于UNC路径的DNS名称来访问,如在开始/运行://server.mcse.com

前提:基于UNC路径的IP形式(如://10.63.243.1)来访问没有问题的情况下
检查:
1、首先试一下ping server.mcse.com,看DNS名称能否被正确解析。
2、查看本机TCP/IP配置中,DNS指向的服务器是否正确
3、检查DNS服务器区域中的记录,看目标机的主机(A)记录是否存在。
4、检查DNS服务是否正常工作。

四、网上邻居

常见问题:
1、 在网上邻居列表中找不到目标计算机。
2、 在网上邻居列表能找到,但却访问不了。
3、 以UNC路径能访问,但在网上邻居列表中却找不到。

浏览服务(Computer Browers)
1、网上邻居列表的维护依赖于浏览服务(Computer Browers),计算机通过广播方式登记到浏览器,访问时查询浏览器所维护的浏览列表。但是浏览服务,微软都承认它不是一个完善的服务,在使用过程中会出现"中断"。主要由两方面的原因引起:
  ·各种角色的浏览器(Browser)不联机。指关机了,或和你的本机不通。
  ·目标计算机关机了或不联机,但列表中的计算机名不会马上消失。

2、网上邻居所用的浏览列表(Browsing List)的维护、正常工作依赖于各种角色浏览器的正常联机工作。它们包括:
  ·域主浏览器:维护服务器、域、工作组的名称和主列表(某一工作组的主浏览器是谁)。在2000/03域中只有一个,那就是PDC仿真主控那台域控制器。
  ·主浏览器:接收域主浏览器的信息,并维护本工作组/子网的列表。从本质上说,工作组就是共享一个浏览列表的一组计算机。
  ·备份浏览器:从主浏览器那接收一份复本,并分发给客户机。
  ·潜在浏览器:有机会成为主/备份浏览器,当前还不是浏览器。
  
3、“浏览器(Browser)”的角色是由系统根据操作系统的版本(95/98/NT/2000/XP/03)、工作站/服务器版本、是否DC自动推选出来的,做为用户并不了解或没注意哪台计算机是“浏览器”,所以不适当的关机或不联机,都会导致前面所述三种问题的出现。

4、若想手动指定,可通过修改注册表实现,位置:          
/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Browser/Parameters/MaintainServerList:Yes/No/Auto

5、查看本机当前是否为浏览器,可以:开始/运行/cmd,nbtstat –n,看否有下列这样一条记录:..__MSBROWS__. <01> GROUP Registered
  
解决办法:由于浏览服务不是一个完善的服务,所以也没有一个直接的去根的办法,我们就不做过多的讨论了。所以:
1、 推荐用户使用基于UNC路径的IP形式(如://10.63.243.1)来访问共享资源。
2、 若网络中均为2000及以上版本的计算机,推荐使用DNS。
3、 若网络中有95/98/NT老版本的计算机,推荐使用WINS。

说明:
A、若老版本计算机只是少数,在每台计算机上使用lmhost文件也可以。
B、前面我们说了,浏览服务依赖于NetBIOS广播,而广播信息是无法通过路由器的。(除非路由器设置了转发NetBIOS广播,但这是不推荐的,会大大降低网络性能。)所以,浏览服务一般仅限于本网段。
C、使用DNS、WINS可以解决跨子网(路由)基于名字的访问。

 

原创粉丝点击