最近遭遇的一个网络共享文件访问故障非常奇怪,以某一台固定的 主机为例,不同时间访问另外一台主机的共享文件时,却出现时通时不 通的现象。 一、现象介绍 具 体 表 现 为 在 主 机 上 运 行 “ \IP 地 址 ” 命 令 , 来 尝 试 连 接 另 外 一 台 主机,输入正确的用户名和密码之后却提示“当前没有可用的登录服务 器来服务登录请求”,但是过一阵子再使用相同的操作又有可能正常访 问。 在对希望互访的两台
计算机进行检查,发现它们有一个共同的特 点 , 那 就 是 它 们 都 配 置 了 两 个 IP 地 址 。 当 前 内 网 使 用 的 IP 地 址 是 192.168.0 网 段 的 , 网 关 为 192.168.0.1; 但 为 了 让 几 台 服 务 器 之 间 进 行 文 件 交 换 ,不 让 其 他 客 户 端 访 问 ,因 此 在 服 务 器 上 又 添 加 了 1 0 . 1 0 .2 0 网 段 的 IP 地 址 , 由 于 只 是 内 网 访 问 , 因 此 就 没 有 配 置 10.10.20 网 段 的 网关。 二、共享协议介绍 碰到这样的问题只能求助于网络。在网络上经过一翻
搜索之后,才 发现是因为共享协议才引发这个故障的。要想彻底认识这个问题,必须 先了解共享协议的
工作原理。 在 Wi n d o w s 系 统 中 ,文 件 共 享 是 通 过 S M B 协 议 来 完 成 的 。S M B 协 议 有 两 种 工 作 方 式 , 分 别 为 N e t B i o s O v e r T C P / I P( 简 称 N e t B T ) 和 D i r e c t 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) 。 其实,解除问题的步骤是非常简单的。但是作为优秀的
网络管理人 员,在网络出现故障的时候,不仅要能够及时排除,而且能够知道引发 故障的原因,对相关的原理能够有充分的了解,这样会提高网络素养, 提高自己的综合能力将有极大的帮助。