症状:
通过\\ip或\\<计算机名>访问任何计算机时都会出现“找不到网络路径”的错误提示,无法正常访问网络资源,但可以访问外部网页。
最终解决方法:
运行netsh interface ip reset c:\log.txt命令重置tcp/ip各组件到初始状态,重启电脑后解决问题。
问题解决步骤:
1、
检查物理连接:因症状描述访问外部网页时没问题,所以此步可略过。
2、
Ping 127.0.0.1
回环地址正常,说明tcp/ip
协议的安装(基本状态)没问题。
3、
ping
对方计算机名和ip
地址都正常(其中有用大数据包来ping
),没有丢包,说明计算机的基本连接(包括网卡本身和计算机之间的连接)和网络名称解析没问题。物理层到网络层都是没问题的,应用层协议出现了问题。
4、
检查网络设置:检查在TCP/IP
协议上是否捆绑了NETBIOS
(在TCP/IP
协议属性—
高级—WINS—
选择启用TCP/IP
上的NETBIOS
);检查是否已经安装“Microsoft
的文件和打印服务”
组件,其它计算机也都必须启用“
文件和打印共享”
,并检查是否安装了Microsoft
网络客户端。此项检查正常。
5、
检查是否启动了“computer browser”的计算机浏览器服务,
WIN2K/XP
要确保计算机浏览服务正常启动,保证其能参与网络浏览选举和主机宣告。打开计算机管理->
服务和应用程序->
服务,查看“Computer Browser”
没有被停止或禁用。此项检查正常。
6、
使用没有带域的网络,windows xp
的计算机必须启用guest
来宾账号,因为未加入域的windows xp
默认将来访计算机的账号等同于来宾账号,经过检查,其它被访问计算机的guest
账号虽然是禁用的,但启用后故障依旧。
相关的策略设置说明:
1)
依次选择“
计算机配置→Windows
设置→
安全设置→
本地策略→
安全选项 →
网络访问:本地账号的共享和安全模式”
策略,将默认设置“
仅来宾—
本地用户以来宾身份验证”
更改为“
经典:本地用户以自己的身份验证”
。此项策略可以让访问计算机的用户通过网络访问使用Windows XP
的计算机时,可以用自己的“
身份”
进行登录。Windows xp
的默认设置为仅来宾,而windows 2003
和加入域的windows xp
默认设置为经典。
2)
在启用“
经典:本地用户以自己的身份验证”
方式后,可以对同时访问共享文件的用户数量进行限制,并能针对不同用户设置不同的访问权限。但是用户的口令为空时,访问还是会被拒绝。这时需检查“
安全选项”→“
账户:使用空白密码的本地账户只允许进行控制台登录”
策略是否被启用,默认是启用的,根据拒绝优先的原则,密码为空的用户通过网络访问使用Windows XP
的计算机时便会被禁止。
7、
检查计算机是否允许来宾账号访问:逐一查看所有计算机的本地安全策略设置是否允许Guest(
来宾)
帐号从网络上访问本地计算机。在本地安全策略管理器gpedit.msc
,依次选择“计算机配置“→
“Windows
设置”→
“本地策略”→
“用户权利指派”→
““
拒绝从网络访问这台计算机”
,查看策略里是否有包含有GUEST
帐号,
如果有则删除。
8、
确保被访问机器的内置防火墙没有打开:
打开本地连接属性->
高级,关掉Internet
连接防火墙。如果使用了第三方的防火墙,参考其相关的使用手册,确保防火墙没有禁用UDP-137
、UDP-138
、TCP-139
和TCP-445
。此项检查后,所有计算机均未打开防火墙服务。
9、
检查RPC
、Plug and Play
服务是否已经启动,重新注册以下的动态链接库:
regsvr32 netshell.dll
regsvr32 netcfgx.dll
regsvr32 netman.dll
经检查RPC
和Plug and play
服务都均已启动,并成功重新注册了以上的动态链接库。
10、
最后的可能就是系统Tcp/ip
组件损坏或缺失,在windows 98/2k
的计算机可以直接卸载再重新安装此协议,而在windows xp/2003
,由于Tcp/ip
是系统的核心组件,不能直接卸载,只能重置,复位Tcp/ip
及相关的组件到干净的状态。在命令行窗口输入netsh interface ip reset c:\log.txt
(其中,log.txt
是是指定命令生成的状态日志文件名,可任意)。重新启动后,故障解决。
总结:
经过这么多的查错步骤,最后也就一条命令搞定,但是正确的排错步骤必不可少。netsh
还有其它一些重要功能,以下列举几个netsh
命令的一些常用子功能及使用方法,其它更详细用法请查看windows
帮助和支持。
1、
为网络接口指定IP
地址和网关
下面的命令将配置名为 Local Area Connection 的接口,其静态 IP 地址为 192.168.0.2,子网掩码为 255.255.255.0,默认网关为 192.168.0.1:
C:\>netsh interface ip
Netsh interface ip>
set address name="Local Area Connection" source=static addr=192.168.0.2 mask=255.255.255.0 gateway=192.168.0.1
2
、
重置winsock
目录为空白状态
C:\>netsh winsock reset
3
、为网络接口指定dns
下面的命令将配置名为 Local Area Connection 的接口,其dns地址为192.168.0.3:
C:\>netsh interface ip
Netsh interface ip>set dns name=
“Local Area Connection”source=static addr=192.168.0.3 ddns=enabled suffix=interface
4
、复位Tcp/ip
及相关的组件到干净的状态
C:\>netsh interface ip reset c:\log.txt
复位Tcp/ip并将命令执行日志输出到c:\log.txt。
本文转自 donhuang 51CTO博客,原文链接:http://blog.51cto.com/donhuang/50109