为什么局域网内某些电脑只能凭IP访问,不能凭名字访问

为什么同样在一个局域网内,某些电脑能在网上邻居里显示出来,某些电脑就显示不出来?在A电脑上能看到某台电脑,在B电脑上就看不到它?某台电脑能凭IP访问(\\192.168.x.x),却不能凭名字访问(\\pcname),但是凭IP访问过一次以后就可以凭名字访问了?

这些怪现象我已经碰到得多了,差不多见怪不怪了。今天让我偶然中发现其中的原因(防火墙因素除外):如果被访问电脑设为静态IP(是指手动配置被访问电脑网卡IP,非通过DHCP服务器MAC绑定得来的固定IP),而且访问电脑TCP/IP协议属性->高级->WINS->NetBIOS禁用的话,那就会出现上述现象。

2 comments

  1. 刚写完,我就发现我总结出来的规律是错的。这种问题有点像《Windows NT系统管理技术内幕》一书中的一个问题,问:什么情况下会导致在网络邻居中计算机能看见却无法访问或可以访问却看不见?请选择最佳答案:
    A.你的网络存在物理问题,比如网线
    B.作为域主浏览器的Windows NTserver的浏览服务坏了
    C.Windows NTserver网卡有问题
    D.你的网络没有问题,用户描述的是正常的微软浏览现象

    正确答案是D

    可以说Windows自身对此无能为力。根本原因是网络环境的多变造成浏览主控服务器的变化或缺失。要解决这个问题,可以:

    • 得在局域网内架设NS或WINS服务器(太难),或,
    • 修改Hosts文件(太烦,尤其频繁更新的情况下),或,
    • 指定浏览主控服务器
  2. 我不喜欢频繁修改多台电脑的Hosts文件,所以一直在找一个简单易行的办法。

    今天终于总结出一个规律:如果局域网内电脑既没有在浏览主控服务器注册,又没有在DNS服务器注册,别的电脑是不会知道它的名字的,所以不能按名字访问。

    了解了这个规律,解决问题就方便了——指定浏览主控服务器,把局域网内所有电脑的ip写一遍到浏览主控服务器的Hosts。

    别急,还有更简单的,如果局域网内所有电脑通过一个路由器上网,而且自动从路由器上获取DNS服务器(相信绝大部分SOHO和SME都是这个设置),只要在路由器上指定一个的DNS服务器为路由器本身就可以了(默认是路由器自动获取一主一副ISP的DNS服务器)。

Leave a comment

Your email address will not be published. Required fields are marked *