Novell

如何強制 Novell 客戶端訪問特定 IP 介面上的 NDS 樹

  • February 4, 2011

我有一個舊的 NetWare 6.5 伺服器,它為大約 40 個客戶端提供文件共享。它還充當我們兩個內部子網和我們的上級機構網路之間的路由器。我們計劃用瞻博網路產品替換路由功能。與此同時,我們正在重構我們的物理網路基礎設施——目前 NetWare 伺服器在兩個子網上都有一個 IP。我想禁用它的三個介面中的兩個,這樣它就只有一個與網路的連接。

不幸的是,我無法弄清楚 Novell 客戶端(Windows XP SP3 上的 4.91.5.20080922)如何將 NDS 樹netware_server.department.mycorp解析為實際的 IP 地址。測試表明,如果這些介面不再存在,客戶端將無法將 NDS 對象“解析”到正確的(仍然存在的)IP 地址,並且會出現混亂。

我嘗試將“伺服器記憶體超時”設置為 0,以強制執行netware_server的“名稱解析”,以便查看 Wireshark 中的實際 TCP/IP 對話。我還嘗試使用 NetWare 伺服器的 NDS 對象名稱向C:\WINDOWS\system32\drivers\etc\hosts文件添加一個條目,然後將 Novell 的客戶端名稱空間提供程序(屬性 - 協議首選項)限制為“主機文件”嘗試使用 /etc/hosts 文件而不是目前使用的任何神秘方法來強制進行新的“查找”。這兩種嘗試都來自這個TID10057730。兩者都失敗了。

Novell 客戶端如何將像netware_server.department.mycorp這樣的 NDS 對象名稱解析為實際的 IP 地址?如何強制清除任何客戶端“NDS 名稱”記憶體?如何強制“NDS 名稱”解析始終解​​析為我手動指定的 IP 地址?

**編輯:**首先,我們執行的是純 IP。如果您碰巧仍在執行 IPX,Novell 客戶端的行為將完全不同。


Novell 客戶端需要確定託管 NetWare 服務的伺服器所在的 IP 地址,然後才能實際登錄。這些資訊是通過 Novell 所稱的“名稱空間提供者”(NSP) 收集的;由於我們僅使用 IP,因此我們僅限於使用 SLP、DNS、HOST/NWHOST 文件或 DHCP ( TID10057730 )。您可以訪問和禁用哪些 NSP 可供 Novell 客戶端使用,方法是在前面提到的“屬性 - 協議首選項”中選擇或取消選擇它們。根據 NT/2000 之後的相同TID,Novell 客戶端以“非同步”方式輪詢 NSP,因此沒有輪詢它們的“順序”(不幸的是)。

此外,Novell 客戶端將在本地記憶體這些“服務名稱”。預設設置是將此記憶體保留 21 天。如果您試圖強制客戶端在不同的 IP 地址上查找相同的 NDS 樹,則可能需要考慮清除此記憶體(高級設置 - 伺服器記憶體超時或 HKLM\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Parameters\伺服器記憶體超時)。有關 Novell 客戶端如何使用“名稱服務”提供程序的更多資訊,請參見此處。然而,SLP 似乎是我店裡使用的一種方法。Novell在此處提供了有關 Novell 客戶端如何使用 SLP 的資訊。

但是,如前所述,強制 Novell 客戶端僅從一個 IP 地址訪問 NetWare 服務的最佳最“萬無一失”的方法是在實用程序的“伺服器:”提示中手動指定該 IP。理論上,這應該覆蓋任何提示(即 netware_server.department.mycorp)和記憶體中的任何內容,但您可能需要以某種方式進行仔細檢查。

我將假設您已關閉 IPX。如果沒有,請告訴我,我會擴展。

確保連接到一個介面且只有一個介面的最快方法是在登錄時將要連接的 IP 地址放在“伺服器”欄位中。


名稱解析來自多種方法。

  • SLP,基於客戶端的配置
  • 登錄螢幕上提供的提示(“伺服器”和“樹”值)
  • DNS 查詢

它已經足夠長了,我不再使用它來執行查找的確切順序,所以這可能是錯誤的。我相信它嘗試的第一件事是對所請求資源的 SLP 查詢(如果已填充“伺服器”,但如果兩者都已填充,則“樹”將勝過伺服器)。SLP 範圍內的值由伺服器定期填充,因此如果兩個伺服器介面都有 IP 地址,它將同時通告它們。一旦一個被關閉,它需要一段時間才能在 SLP 範圍內過時。

如果 SLP 解析失敗,它會退回到 DNS。它使用 Server、Tree 和 Context 欄位中的值來嘗試通過 DNS 定位伺服器。除非您的 eDir 樹是基於 DNS 的,否則此操作將失敗。

您可能會嘗試的一件事是發出強制伺服器不通告您的網路介面之一所需的 Set 命令。十年前,我在設置專用備份 LAN 時這樣做了,因為我不希望我的客戶連接到備份 LAN 介面。

SET NCP EXCLUDE IP ADDRESSES 192.168.2.30

這將從 NCP 服務中排除該特定地址。它不會通過 SLP 進行通告,並且假設 SLP 正在工作應該強制所有客戶端啟動的 NCP 流量到剩餘的介面。

引用自:https://serverfault.com/questions/230426