最近遭遇的一个网络共享文件访问故障非常奇怪, 以某一台固定的主机为例, 不同时间访问 另外一台主机的共享文件时,却出现时通时不通的现象。 一、现象介绍 具体表现为在主机上运行“\\IP 地址”命令,来尝试连接另外一台主机,输入正确的用 户名和密码之后却提示“当前没有可用的登录服务器来服务登录请求” ,但是过一阵子再使 用相同的操作又有可能正常访问。 在对希望互访的两台
计算机进行检查, 发现它们有一个共同的特点, 那就是它们都配置 了两个 IP 地址。当前内网使用的 IP 地址是 192.168.0 网段的,网关为 192.168.0.1;但为了 让几台服务器之间进行文件交换,不让其他客户端访问,因此在服务器上又添加了 10.10.20 网段的 IP 地址,由于只是内网访问,因此就没有配置 10.10.20 网段的网关。 二、共享协议介绍 碰到这样的问题只能求助于网络。 在网络上经过一翻
搜索之后, 才发现是因为共享协议 才引发这个故障的。要想彻底认识这个问题,必须先了解共享协议的工作原理。 在 Windows 系统中, 文件共享是通过 SMB 协议来完成的。 SMB 协议有两种
工作方式, 分别为 NetBios Over TCP/IP(简称 NetBT)和 Direct hosting。当采用 NetBT 方式
通信时, 会通过 NetBIOS 接口来进行连接,分占别用 UDP137、138 和 TCP139 端口,其中 137 端口 用来进行名字解析,138 端口传递数据包,139 用于会话服务,进行文件传输,因此最重要 的就是 139 端口了;而采用 Direct hosting 则更为简单,直接跳过 NetBIOS 直接口,不需要 进行名称解析,直接使用 TCP445 端口传输。
在早期的 Windows
系统之中,主要使用 NetBIOS 进行通讯,但是到了 Windows 2000 后, 又新增加了 Direct hosting 方式,但并没有取消 NetBT。同时 NetBT 是随网卡绑定的,并且 只能绑定在网卡的第一个 IP 地址上, 在本例中, 192.168.0 网段的 IP 地址; Direct hosting 即 而 却没有这样的限制。通过八哥网(it8g)专家的介绍,我们知道在本例中, 访问 10.10.20 网段的其它主机时,会优先使用自己绑定的同网段的 IP 地址进行连接,而不 会采用 192.168.0 网段的地址进行连接。看到这里,大家或许已经明白了。
问题的关键就在 于主机不能自动识别采用正确的连接方式,而是采取的类似“随机抢答”的方式,既可能采 用 NetBT,也可能采用 Direct hosting,当选择前者时就会出现不通的故障,使用后者时则完 全正常。 三、故障解决 知道了其真实原因后,解决起来就方便多了,我们只需要取消 NetBT 方式,强制使用 Direct hosting 即可。打开本地连接的属性窗口,双击其中的“Internet 协议(TCP/IP),在 ” 打开的窗口中单
击“高级”按钮,再切换到“WINS”选项卡,将其中的“NetBIOS 设置” 设为“禁用 TCP/IP 上的 NetBIOS”选项,然后单击“确定”按钮保存设置就可以了(图 1) 。 其实,解除问题的步骤是非常简单的。但是作为优秀的
网络管理人员,在网络出现故障 的时候,不仅要能够及时排除,而且能够知道引发故障的原因,对相关的原理能够有充分的 了解,这样会提高网络素养,提高自己的综合能力将有极大的帮助。 本 篇 文 章 来 源 于 新 世 纪 网 安 基 地 (520hack) 原 文 出 处 : 520hack/Article/Text7/200901/12841.html