如何强制 Novell Client 访问特定 IP 接口上的 NDS 树

如何强制 Novell Client 访问特定 IP 接口上的 NDS 树

我有一台旧版 NetWare 6.5 服务器,它为大约 40 个客户端提供文件共享。它还充当我们两个内部子网和母公司网络之间的路由器。我们计划用 Juniper 产品替换路由功能。同时,我们正在重构我们的物理网络基础设施 - 目前 NetWare 服务器在两个子网上都有 IP。我想禁用它的三个接口中的两个,这样它就只有一个网络连接。

不幸的是,我无法弄清楚 Novell Client(Windows XP SP3 上的 4.91.5.20080922)如何解析 NDS 树netware_服务器.部门.mycorp到实际 IP 地址。测试表明,如果这些接口不再存在,客户端将无法将 NDS 对象“解析”为正确的(仍然存在的)IP 地址,从而导致混乱。

我尝试将“服务器缓存超时”设置为 0,以强制执行“名称解析”网络服务器这样我就可以查看 Wireshark 中的实际 TCP/IP 对话。我还尝试在C:\WINDOWS\system32\drivers\etc\hosts使用 NetWare 服务器的 NDS 对象名称替换文件,然后将 Novell 客户端的名称空间提供程序(属性 - 协议首选项)限制为仅“主机文件”,尝试使用 /etc/hosts 文件强制进行新的“查找”,而不是当前使用的任何神秘方法。这两次尝试都来自此TID10057730. 两次都失败了。

Novell 客户端如何解析 NDS 对象名称,例如netware_服务器.部门.mycorp到实际 IP 地址?如何强制清除客户端“NDS 名称”缓存?如何强制“NDS 名称”解析始终解析为我手动指定的 IP 地址?

编辑:首先,我们运行的是纯 IP。如果您碰巧仍在运行 IPX,Novell Client 的行为会大不相同。


Novell 客户端需要识别托管 NetWare 服务的服务器的 IP 地址,然后才能实际登录。此信息通过 Novell 所谓的“名称空间提供商”(NSP) 收集;由于我们只使用 IP,因此我们只能使用 SLP、DNS、HOST/NWHOST 文件或 DHCP(TID10057730)。您可以通过在属性 - 协议首选项中选择或取消选择这些 NSP 来访问和禁用 Novell Client 可以使用的 NSP,如前所述。根据相同的工时信息在 NT/2000 之后,Novell 客户端以“异步”方式轮询 NSP,因此(不幸的是)轮询它们没有“顺序”。

此外,Novell 客户端将在本地缓存这些“服务名称”。默认设置是将此缓存保留 21 天。如果您尝试强制客户端在不同的 IP 地址上查找相同的 NDS 树,则可能需要考虑清除此缓存(高级设置 - 服务器缓存超时或 HKLM\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Parameters\ServerCacheTimeout)。有关 Novell 客户端如何使用哪个“名称服务”提供程序的更多信息,请参见这里。不过,SLP 似乎是我店里使用的一种方法。Novell 提供了有关 Novell Client 如何使用 SLP 的信息这里

然而,如前所述,强制 Novell 客户端仅从一个 IP 地址访问 NetWare 服务的最佳、最“万无一失”的方法是手动在实用程序的“服务器:”提示中指定该 IP。理论上,这应该会覆盖任何提示(即 netware_server.department.mycorp)和缓存中的任何内容,但您可能需要以某种方式仔细检查。

答案1

我假设您已关闭 IPX。如果没有,请告诉我,我会详细说明。

确保您连接到一个接口且仅连接到一个接口的最快方法是在登录期间将要连接的 IP 地址放在“服务器”字段中。


名称解析有多种方法。

  • SLP,基于客户端的配置
  • 登录屏幕上提供的提示(“服务器”和“树”值)
  • DNS 查找

时间已经过去很久了,我不再记得它执行查找的确切顺序,所以这可能是错误的。我相信它尝试做的第一件事是对请求的资源进行 SLP 查询(如果已填充“服务器”,则为“服务器”,但如果两者都已填充,“树”将胜过服务器)。服务器会定期填充 SLP 范围内的值,因此如果两个服务器接口都有 IP 地址,它会同时通告它们。一旦关闭其中一个,它需要一段时间才能从 SLP 范围中过时。

如果 SLP 解析失败,则返回 DNS。它使用服务器、树和上下文字段中的值尝试通过 DNS 定位服务器。除非您的 eDir 树以 DNS 为根,否则此方法会失败。

您可以尝试执行 Set 命令,强制服务器不通告您的某个网络接口。十年前,我在设置专用备份 LAN 时就这么做过,因为我不想让我的客户端连接到备份 LAN 接口。

SET NCP EXCLUDE IP ADDRESSES 192.168.2.30

这会将该特定地址排除在 NCP 服务之外。它不会通过 SLP 进行通告,并且假设 SLP 正在运行,则应强制所有客户端发起的 NCP 流量流向剩余接口。

相关内容