7.2 安裝 Identity Vault 的準備工作

必須適當設定 Identity Vault 的環境。例如,伺服器必須能夠透過某種方法 (服務或指定的檔案) 將 Identity Vault 中的網路樹名稱解析成伺服器轉介。本節的內容可協助您在安裝 Identity Vault 之前準備好環境。

7.2.1 當容器名稱中包含句點 (「.」) 時使用逸出字元

可以將伺服器名稱中包含句點的 Windows 伺服器新增至目錄樹中,例如 O=netiq.comC=u.s.a。但是,如果網路樹中之容器的名稱包含句點 (「.」),則您必須使用逸出字元。請檢閱以下考量:

  • 不要在伺服器名稱的開頭使用句點,例如 .netiq

  • 使用反斜線 (「\」) 來逸出容器名稱中的句點。例如:

    O=novell\.com

    C=a\.b\.c

為 iMonitor、iManager、DHost iConsole、DSRepair、Backup、DSMerge、DSLogin 和 ldapconfig 等公用程式輸入帶點的管理員名稱和網路位置時,請包含逸出字元。例如,在登入 iMonitor 時,如果網路樹中 O 的名稱為 netiq.com,請輸入 'admin.netiq\.com'admin.netiq\.com

7.2.2 使用 OpenSLP 或 hosts.nds 解析網路樹名稱

在安裝 Identity Vault 基礎架構之前,伺服器應該能夠透過某種方法 (服務或指定的檔案) 將 Identity Vault 中的網路樹名稱解析成伺服器轉介。NetIQ 建議使用服務位置通訊協定 (SLP) 服務來解析網路樹名稱。先前版本的 eDirectory 的安裝程式中包含了 OpenSLP。但從 eDirectory 8.8 起,安裝程式中不再包含 OpenSLP。您必須單獨安裝 SLP 服務,或使用 hosts.nds 檔案。如果您使用 SLP 服務,該服務的目錄代理程式 (SLPDA) 必須穩定。

這個單元將提供下列資訊:

使用 hosts.nds 檔案解析網路樹名稱

hosts.nds 檔案是一個靜態查閱表,Identity Vault 應用程式使用它來搜尋 Identity Vault 分割區和伺服器。當網路中沒有 SLP DA 時,它可以協助您避免 SLP 多路廣播延遲。對於每個網路樹或伺服器,您必須在 hosts.nds 檔案內單獨一行中指定以下資訊:

  • 伺服器名稱或網路樹名稱:網路樹名稱應以尾隨點 (.) 結尾。

  • 網際網路位址:可以是 DNS 名稱,也可以是 IP 位址。請不要使用 localhost

  • 伺服器連接埠:選填資訊,透過一個冒號 (:) 附加在網際網路位址的後面。

除非本地伺服器在監聽非預設 NCP 連接埠,否則不需要在該檔案中包含一個本地伺服器項目。

若要設定 hosts.nds 檔案:

  1. 建立新的 hosts.nds 檔案或開啟一個現有檔案。

  2. 新增以下資訊:

                      partition_name.tree_name. host_name/ip-addr:port server_name dns-addr/ip-addr:port
                    

    例如:

    # This is an example of a hosts.nds file:
    # Tree name Internet address/DNS Resolvable Name
      CORPORATE. myserver.mycompany.com
      novell.CORPORATE. 1.2.3.4:524
    
    # Server name Internet address
      CORPSERVER myserver.mycompany.com:524
  3. (選擇性) 如果您日後決定使用 SLP 來解析網路樹名稱,並確定 Identity Vault 網路樹在網路中可用,請將以下文字新增至 hosts.nds 檔案:

    /usr/bin/slptool findattrs services:ndap.novell///(svcname-ws==[treename or *])"

    例如,若要搜尋其 svcname-ws 屬性與 SAMPLE_TREE 值相符的服務,請輸入以下指令:

    /usr/bin/slptool findattrs services:ndap.novell///(svcname-ws==SAMPLE_TREE)"

    附註:請在安裝 SLP 和 Identity Vault 之後執行此動作。

    如果您的某個服務的 svcname-ws 屬性註冊為 SAMPLE_TREE,則輸出將類似於 service:ndap.novell:///SAMPLE_TREE。否則,您將不會收到輸出回應。

瞭解 OpenSLP

OpenSLP 是 IETF Request-For-Comments (RFC) 2608 中所述 IETF 服務位置通訊協定版本 2.0 標準的開放原始碼執行方式。

OpenSLP 原始碼提供的介面是 RFC 2614 中所述的、以程式設計方式存取 SLP 功能的另一種 IETF 標準執行方式。

若要全面瞭解 SLP 的工作原理,最好是閱讀這些文件並加以融會貫通。它們未必通俗易懂,但若要在內部網路中正確設定 SLP 組態,您必須瞭解這些知識。

如需 OpenSLP 專案的詳細資訊,請造訪 OpenSLPSourceForge 網站。OpenSLP 網站上的多個文件包含了實用組態秘訣。其中的許多文件在本文件發佈時並不完整。

本節包含關於 SLP 的用途,以及它與 Identity Vault 具有何種關聯的以下論述:

NetIQ 服務位置提供者

NetIQ 版本的 SLP 對 SLP 標準進行了一定的變動,以提供更穩健的服務通告環境,但這也在一定程度上降低了延展性。

例如,為了改進服務通告架構的延展性,您可以限制子網路上廣播或多路廣播的封包數。SLP 規格透過對服務代理程式和使用者代理程式施加目錄代理程式查詢方面的限制來管理此問題。第一個探查到的為所需範圍提供服務的目錄代理程式,就是服務代理程式 (因而也就是本地使用者代理程式) 要為將來對該範圍發出之所有要求使用的代理程式。

實際上,NetIQ SLP 執行方式會掃描它所知道的所有目錄代理程式以取得查詢資訊。它認為來回一次花費 300 毫秒時間太長,如果這樣,它可以在 3 到 5 秒內掃描 10 個伺服器。如果在網路中正確設定了 SLP,並且 OpenSLP 認為事實上針對 SLP 流量正確設定了網路,則不需要進行此掃描。OpenSLP 的回應逾時值大於 NetIQ SLP 服務提供者的逾時值,並且它會將目錄代理程式的數量限制為做出回應的第一個代理程式,不管該代理程式的資訊是否完整準確。

使用者代理程式

使用者代理程式 (UA) 以與某個應用程式連結之靜態或動態程式庫的實體形式存在。它允許該應用程式查詢 SLP 服務。使用者代理程式的任務是提供一個程式設計介面,供用戶端查詢服務,以及供服務通告自身。使用者代理程式將聯絡目錄代理程式,以查詢位於指定範圍內、屬於指定服務類別的已註冊服務。

使用者代理程式遵循某種演算法,來取得將要向其傳送查詢的目錄代理程式位址。在取得指定範圍的目錄代理程式 (DA) 位址後,對於該範圍,它們將會一直使用該位址,直到該目錄代理程式不再做出回應,到那時,使用者代理程式將取得該範圍的另一個 DA 位址。使用者代理程式透過以下方式查找指定範圍的目錄代理程式位址:

  1. 檢查以確定目前要求的通訊端識別指標是否已連接到指定範圍的 DA。如果該要求正好是一個多部分要求,則表示可能已存在該要求的快取連接。

  2. 檢查它的本地已知 DA 快取中有無與指定範圍相符的 DA。

  3. 向本地服務代理程式 (SA) 確認有無屬於指定範圍的 DA (並將新位址新增至快取中)。

  4. 向 DHCP 查詢透過網路設定且與指定範圍相符的 DA 位址 (並將新位址新增至快取中)。

  5. 在已知的連接埠上多路廣播 DA 探查要求 (並將新位址新增至快取中)。

指定的範圍為「default」(如果未指定)。也就是說,如果未在 SLP 組態檔案中靜態定義任何範圍,並且未在查詢中指定任何範圍,那麼,使用的範圍將是「default」一字。此外,還應注意,Identity Vault 永遠不會在其註冊中指定範圍。如果存在靜態設定的範圍,在指定範圍不存在的情況下,該靜態設定的範圍將是所有本地 UA 要求和 SA 註冊的預設範圍。

服務代理程式

服務代理程式在主機機器上以某個獨立程序的實體形式存在。slpd.exe 做為本地機器上的服務執行。使用者代理程式透過向已知連接埠上的迴路位址傳送訊息來查詢本地服務代理程式。

服務代理程式的任務是為已將自身註冊到 SLP 的本地服務提供永久的儲存和維護點。服務代理程式本質上所做的工作是維護已註冊本地服務的記憶體內部資料庫。事實上,除非存在本地 SA,否則服務無法註冊到 SLP。用戶端可以探查僅包含 UA 程式庫的服務,但註冊時需要 SA,主要原因是 SA 必須定期重新宣示已註冊服務的存在,以確保將其註冊到監聽目錄代理程式。

服務代理程式透過以下方式將 DA 探查要求直接傳送至潛在的 DA 位址,來查找和快取目錄代理程式及其支援的範圍清單:

  1. 檢查所有靜態設定的 DA 位址 (並將新位址新增至 SA 的已知 DA 快取中)。

  2. 要求獲取來自 DHCP 的 DA 和範圍清單 (並將新位址新增至 SA 的已知 DA 快取中)。

  3. 在已知的連接埠上多路廣播 DA 探查要求 (並將新位址新增至 SA 的已知 DA 快取中)。

  4. 接收 DA 定期廣播的 DA 通告封包 (並將新位址新增至 SA 的已知 DA 快取中)。

使用者代理程式永遠會先查詢本地服務代理程式,這一點非常重要,因為本地服務代理程式的回應將決定使用者代理程式是否要繼續執行下一個探查階段 (在本案例中為 DHCP,請參閱使用者代理程式 中的步驟 3步驟 4)。

目錄代理程式

目錄代理程式的任務是提供所通告服務長期持久的快取,以及為使用者代理程式提供一個存取點來查閱服務。做為快取,DA 將會監聽 SA 以通告新服務,並會快取相應通知。不久後,DA 的快取就會變得更充實完整。目錄代理程式使用過期演算法來使快取項目過期。一個目錄代理程式啟動時,會從永久儲存 (通常是硬碟) 中讀取其快取,然後開始根據演算法使項目過期。當有新的 DA 啟動或某個快取已被刪除時,之前的 DA 會偵測到此狀況,並向所有監聽 SA 發出傾印其本地資料庫的特殊通知,以使該 DA 能夠快速建立其快取。

在不存在任何目錄代理程式的情況下,UA 將會採用 SA 可以回應的一般多路廣播查詢,以與 DA 建立快取時所用的大致相同的方式,構建所要求服務的清單。此類查詢傳回的服務清單並不完整,與 DA 提供的服務清單相比,該清單的當地化程度要高得多,當網路中設定了多路廣播過濾 (許多網路管理員為了將廣播和多路廣播局限於本地子網路會進行此設定) 時尤其如此。

總而言之,一切都取決於使用者代理程式要在其中尋找給定範圍的目錄代理程式。

為 Identity Vault 設定 SLP

%systemroot%/slp.conf 檔案中的以下參數用於控制目錄代理程式探查:

net.slp.useScopes = comma-delimited scope list
net.slp.DAAddresses = comma-delimited address list
net.slp.passiveDADetection = <"true" or "false">
net.slp.activeDADetection = <"true" or "false">
net.slp.DAActiveDiscoveryInterval = <0, 1, or a number of seconds>
useScopes

指示 SA 將通告的範圍,以及當服務或用戶端應用程式執行的註冊或查詢中不存在特定範圍時,要對其執行查詢的範圍。由於 Identity Vault 一律會通告到預設範圍並從預設範圍查詢,此清單將會成為所有 Identity Vault 註冊和查詢的預設範圍清單。

DAAddresses

代表 DA 點分式十進位 IP 位址的逗號分隔清單,這些位址應優先於所有其他位址。如果這個包含已設定 DA 的清單不支援某個註冊或查詢的範圍,則 SA 和 UA 將採用多路廣播 DA 探查,除非此類探查被停用。

passiveDADetection

依預設,其值為 True。如果進行了相應的設定,目錄代理程式將定期透過已知連接埠在子網路上廣播其存在性。這些封包稱為 DAAdvert 封包。如果將此選項設定為 False,SA 將會忽略所有廣播 DAAdvert 封包。

activeDADetection

依預設,其值為 True。此參數允許 SA 定期廣播要求,以便所有 DA 都可使用導向 DAAdvert 封包做出回應。導向的封包不會廣播,而是做為這些要求的回應直接傳送給 SA。如果將此選項設定為 False,SA 將不會定期廣播 DA 探查要求。

DAActiveDirectoryInterval

代表一個 tri-state 參數。預設值為 1,該特殊值表示 SA 在啟始化時只應發出一個 DA 探查要求。將此選項設定為 0 相當於將 activeDADetection 選項設定為 false。任何其他值則為兩次探查廣播間隔的秒數。

正確使用這些選項可確保合理使用網路頻寬來進行服務通告。事實上,預設設定就能最佳化平均水準之網路的延展性。

7.2.3 改進 Identity Vault 效能

Identity Vault 的底層基礎架構 eDirectory 屬於 I/O 密集型應用程式,而不是處理器密集型應用程式。以下兩個因素可以提高 Identity Vault 的效能:使用更多的快取記憶體和更快的處理器。若要達到最佳效果,應在硬體允許的前提下,盡可能多快取目錄資訊資料庫 (DIB) 集。

儘管 eDirectory 在一個處理器上就能實現很好的延展性,但您不妨考慮使用多個處理器。增加處理器會改進使用者登入等方面的效能。此外,在多個處理器上啟用多個線串也能改進效能。

下表提供了根據 eDirectory 中的預期物件數進行伺服器設定的一般指導準則。

物件

記憶體

硬碟

100.000

384 MB

144 MB

1 百萬

4 GB

1.5 GB

1 千萬

2 GB 以上

15 GB

例如,一項 eDirectory 標準綱要的基本安裝,每 50,000 個使用者需要大約 74 MB的磁碟空間。但是,若您要新增一組新的屬性或將每個現有的屬性填滿,則物件會增大。這些新增會影響磁碟空間、處理器、及記憶體的需求。此外,對處理器的要求還取決於電腦上可用的其他服務,以及電腦正在處理的驗證、讀取和寫入數。加密和索引等程序可能會消耗大量的處理器資源。

7.2.4 在 Identity Vault 伺服器上使用 IPv6 位址

Identity Vault 既支援 IPv4 位址,也支援 IPv6 位址。您可以在安裝 Identity Vault 時啟用 IPv6 位址。如果從以前的版本升級,則必須手動啟用 IPv6 位址。

Identity Vault 還支援雙 IP 堆疊、通道封裝和純 IPv6 轉換方法。它僅支援全域 IP 位址。例如:

  • [::]

  • [::1]

  • [2015::12]

  • [2015::12]:524

指定 IPv6 位址時必須用方括號 [ ] 將其括住。若要使用主機名稱而不使用 IP 位址,必須在 C:\Windows\System32\drivers\etc\hosts 檔案中指定主機名稱,並將它與 IPv6 位址關聯。

若要在 Windows 伺服器上使用 IPv6 位址,必須在安裝期間選取 IPv6 優先設定下的啟用 IPv6 核取方塊。此選項將為 IPv6 位址啟用 NCP、HTTP 和 HTTPS 通訊協定。如果您在安裝期間未啟用 IPv6 位址,後來又決定使用 IPv6 位址,則您必須重新執行安裝程式。如需詳細資訊,請參閱節 7.3, 安裝 Identity Vault

您可以使用以下連結透過 IPv6 位址存取 iMontior:http://[2015::3]:8028/nds

7.2.5 使用 LDAP 與 Identity Vault 通訊

當您安裝 Identity Vault 時,必須指定 LDAP 伺服器監控的連接埠,以使該伺服器能夠為 LDAP 要求提供服務。在預設組態中,用於純文字和 SSL/TLS 通訊的連接埠號分別設定為 389 和 636。

LDAP 簡單結合只需要有 DN 和密碼。該密碼採用純文字格式。如果您使用連接埠 389,則整個封包都採用純文字格式。由於連接埠 389 允許純文字傳輸,LDAP 伺服器將透過此連接埠為目錄的讀取和寫入要求提供服務。這種開放性足以建立環境信任,在其中不會發生詐騙現象,並且沒有人可以透過不當方式擷取封包。依預設,在安裝期間會停用此選項。

透過連接埠 636 建立的連接會被加密。TLS (以前稱為 SSL) 可管理加密。與連接埠 636 建立連接時,會自動例項化一個信號交換。如果信號交換失敗,則會拒絕連接。

附註:依預設,安裝程式會選取連接埠 636 來進行 TLS/SSL 通訊。此預設選擇可能會給您的 LDAP 伺服器造成問題。如果在安裝 eDirectory 之前主機伺服器上就已載入的服務使用了連接埠 636,則您必須指定另一個連接埠。低於 eDirectory 8.7 的安裝會將此衝突視為嚴重錯誤,並會卸載 nldap。在 eDirectory 8.7.3 以後的版本中,安裝程式會載入 nldap,在 dstrace.log 檔案中記錄一則錯誤訊息,然後會繼續執行,不過不會使用該安全連接埠。

在安裝過程中,您可以將 Identity Vault 設定為禁止純文字的密碼和其他資料。選取需要 TLS 以與密碼簡單結合選項可以阻止使用者傳送可辨認出的密碼。如果您不選取此設定,使用者將不知道其他人可以辨認出他們的密碼。這個不允許連接的選項僅適用於純文字連接埠。如果與連接埠 636 建立安全連接並使用簡單結合,則連接已經加密。將沒有人能夠檢視密碼、資料封包或結合要求。

請考慮以下情境:

啟用了「需要 TLS 以與密碼簡單結合」

Olga 正在使用一個要求輸入密碼的用戶端。在 Olga 輸入密碼後,用戶端連接到伺服器。但是,LDAP 伺服器不允許連接透過純文字連接埠結合到伺服器。任何人都能夠檢視 Olga 的密碼,但 Olga 卻無法取得結合的連接。

連接埠 636 已在使用中

您的伺服器正在執行 Active Directory。Active Directory 執行的某個 LDAP 程式使用了連接埠 636。您安裝 eDirectory。安裝程式偵測到連接埠 636 已在使用中,並且未為 NetIQ LDAP 伺服器指定連接埠號。LDAP 伺服器將會載入,並且看上去已執行。但是,由於 LDAP 伺服器不會複製或使用已開啟的連接埠,因此不會對任何複製的連接埠上的要求進行處理。

若要驗證是否已將連接埠 389 或 636 指定給 NetIQ LDAP 伺服器,請執行 ICE 公用程式。如果廠商版本欄位中未指定 NetIQ,則您必須為 eDirectory 重新設定 LDAP 伺服器,並選取其他連接埠。如需詳細資訊,請參閱《NetIQ eDirectory Administration Guide》(NetIQ eDirectory 管理指南) 中的「Verifying That the LDAP Server is Running」(驗證 LDAP 伺服器是否正在執行)。

Active Directory 正在執行

如果 Active Directory 正在執行,並且純文字連接埠 389 已開啟,則您可以對連接埠 389 執行 ICE 指令,並要求獲得廠商版本。報告將顯示 Microsoft*。然後,您可以透過選取另一連接埠來重新設定 NetIQ LDAP 伺服器,以使 eDirectory LDAP 伺服器能夠為 LDAP 要求提供服務。

iMonitor 也可以報告連接埠 389 或 636 是否已開啟。如果 LDAP 伺服器未運作,可使用 iMonitor 來查看詳細資料。如需詳細資訊,請參閱《NetIQ eDirectory Administration Guide》(NetIQ eDirectory 管理指南) 中的「Verifying That the LDAP Server is Running」(驗證 LDAP 伺服器是否正在執行)。

7.2.6 在裝有管理公用程式的工作站上手動安裝 NICI

使用 iManager 等管理公用程式的每個工作站上都必須安裝 NICI。如需將 NICI 與 Identity Vault 配合使用的詳細資訊,請參閱安裝 Identity Vault 的先決條件

若要安裝 NICI,請使用預設位於 products\eDirectory\處理器類型\windows\處理器類型\nici 資料夾中的 NICI_wx64.msi 檔案。您可以使用引導式程序 (精靈) 或靜默安裝方式執行該檔案。

7.2.7 安裝 NMAS 用戶端軟體

您要使用 NetIQ Modular Authentication Service (NMAS) 登入方法的每個用戶端工作站上都必須安裝 NMAS 用戶端軟體。登入方法是在安裝 Identity Vault 時指定的。

  1. 使用管理員帳戶登入 用戶端工作站。

  2. 從安裝目錄 (預設為 Win:\products\eDirectory\處理器類型\nmas\) 執行 nmasinstall.exe 程式。

  3. 按一下 NMAS 用戶端元件

  4. (選擇性) 選取「NICI」選項以安裝 NICI 元件。

  5. 按一下「確定」

  6. 安裝程序完成後,重新啟動用戶端工作站。