Sun Java logo     上一頁      目錄      索引      下一頁     

Sun logo
Sun Java System Identity Synchronization for Windows 1 2004Q3 安裝與配置指南 

第 9 章
疑難排解

本章所提供的資訊,可幫助您解決使用 Identity Synchronization for Windows 時可能遇到的疑難排解問題。內容歸納如下:


疑難排解核對清單


附註

管理員:在除錯問題時,請調整記錄層級 (如配置日誌檔案之說明),如此才能確保日誌反映出可能造成問題的所有事件。

您必須調整記錄層級至「精細」或更高,否則某些事件 (例如,由於使用者未納入 SUL 中,所以程式無法將該使用者的變更同步化) 不會納入日誌檔中。在所有 idsync resync 作業期間,記錄層級都應保留在「資訊」層級。

在安裝和配置 Identity Synchronization for Windows 時,idsync printstat 指令可作為一個有用的工具。當您執行 printstat 時 (請參閱使用 printstat),它會顯示一份為完成安裝及配置程序所必須執行的剩餘步驟的清單。


  1. 中央日誌檔 error.log 中是否報告有任何問題?
  2. isw-<hostname>/logs/central/error.log

    幾乎所有錯誤都會在中央錯誤日誌檔案中加以報告。而且,通常可以在 audit.log 中取得有關任何錯誤的額外資訊。為增進相關日誌項目的關聯性,audit.log 檔案亦在錯誤日誌中包含了所有日誌項目。

  3. 版本說明文件中記載了許多已知的問題。其中是否解說到此問題?
  4. 是否是於已完全解除安裝的電腦上執行的安裝?如果未徹底解除安裝先前的配置,則重新安裝此產品時可能會發生問題。有關如何清除先前安裝的詳細說明,請參閱第 8 章,「移除軟體」
  5. 是否正確安裝了核心元件?如果成功完成核心元件安裝,則日誌檔案會存放在 isw-<hostname>/logs/central/ 目錄中。
  6. Directory Server 在資源配置期間是否仍在執行?
  7. 當前是否正在執行核心程式,包括 Message Queue 及系統管理員?在 Windows 系統上,請檢查有否適當的服務名稱。在 Solaris 系統上,請檢查有否適當的常駐程式名稱。使用 idsync printstat 指令驗證 Message Queue 和系統管理員是否在作用中。
  8. 是否成功儲存了配置?如果 idsync printstat 指令列出連接器,則表示已成功儲存配置。
  9. 是否已安裝所有連接器?每個要同步化的目錄來源都必須安裝一個連接器。
  10. 是否已安裝所有子元件?Directory Server 及 Windows NT 連接器要求在安裝連接器之後安裝子元件。每個 Directory Server 複本中都必須安裝有 Directory Server 外掛程式。
  11. 是否執行了安裝後步驟?安裝 Directory Server 外掛程式後,必須重新啟動 Directory Server。安裝 Windows NT 子元件後,必須重新啟動 Windows NT 主要網域控制器。
  12. 是否從主控台或指令行啟動同步化作業?
  13. 所有連接器目前是否都在執行?
  14. 透過主控台或 idsync printstat 來驗證是否所有連接器皆為 SYNCING 狀態。
  15. 要同步化的目錄來源目前是否正在執行?
  16. 透過主控台來驗證修改及/或建立項目的同步化是否沿預期方向進行。
  17. 如果同步化的使用者僅存在於一個目錄來源中,是否使用 idsync resync 指令在其他目錄來源中建立了這些使用者?

    附註

    只要有現存的使用者,您就必須執行 idsync resync。如果不重新同步化現有使用者,則重新同步化行為依舊為非定義狀態。


  18. 如果同步化的使用者存在於兩個目錄來源中,是否使用 idsync resync 指令連結了這些使用者?
  19. 如果無法從 Active Directory 或 Windows NT 向 Sun Java System Directory Server 建立使用者,請驗證 Directory Server objectclass 中所有的強制性屬性是否已指定為建立屬性,且對應屬性值是否出現在原始使用者項目中。
  20. 如果建立從 Directory Server 至 Windows NT 的同步化,並且已成功建立使用者,但是卻無法使用帳戶,請驗證使用者名稱是否不合 Windows NT 的需求。
  21. 例如,如果指定的名稱超過 Windows NT 的最大容許長度,此時雖然會在 NT 上建立使用者,但卻無法使用也無法編輯。在此情況下必須重新命名使用者 (「使用者」>「重新命名」)。

  22. 您必須開啟 NT 稽核日誌,Windows NT SAM 變更偵測器子元件才會生效。請選取「開始」>「程式集」>「系統管理工具」>「使用者管理員」,然後選取「原則」>「稽核原則」。
    選取「稽核下列事件」,接著選取「使用者及群組管理」的「成功」和「失敗」方塊。
  23. 選取「事件檢視器」中的「事件日誌設定值」>「事件日誌換行」,接著選取「視需要覆寫事件」。

  24. 同步化使用者清單內的使用者是否無法同步化?例如,使用者是否符合「同步化使用者清單」的基本 DN 及篩選條件?在包含 Active Directory 的部署中,如果 Sun Java System Directory Server 項目未納入任何「同步化使用者清單」中,則會發生隨需密碼同步化失敗,且不會出現訊息。這經常是因為同步化使用者清單篩選不正確而致。
  25. 是否變更了同步化設定值?如果同步化設定由僅將使用者從 Active Directory 同步化至 Sun Java System Directory Server 變更為將使用者從 Directory Server 同步化至 Active Directory,則必須將 Active Directory SSL CA 憑證加入連接器的憑證資料庫。idsync certinfo 指令依據目前 SSL 設定報告必須安裝的 SSL 憑證。
  26. 是否正確指定了所有主機名稱,並且是以 DNS 可以解析的形式?在執行 Active Directory 連接器的電腦及執行 Sun Java System Directory Server 外掛程式的電腦上,Active Directory 網域控制器都應是 DNS 可以解析的形式。
  27. 經過解析的 Active Directory 網域控制器 IP 位址之名稱是否與連接器與之連接所使用的名稱相同?
  28. 來源連接器是否偵測到使用者變更?使用中央日誌 audit.log 來確定新增或修改使用者的目錄來源所使用的連接器是否偵測到修改項目。
  29. 目標連接器是否處理此修改項目?
  30. 是否配置了多個同步化使用者清單?如果是,是否存在衝突?使用主控台安排同步化使用者清單的順序,更具體的同步化使用者清單應排在較不具體的同步化使用者清單之前。
  31. 如果設定為雙向傳遞或從 Sun 傳遞至 Windows,並且部署中有 Active Directory 資料來源,請驗證連接器是否配置為使用 SSL 通訊?
  32. 如果懷疑 Solaris 環境中有記憶體問題,請檢查各程序。若要檢視以不同程序執行的元件,請輸入
  33. /usr/ucb/ps -gauxwww | grep com.sun.directory.wps

    輸出會提供完整的詳細資訊,包括連接器 ID、系統管理員和中央記錄程式。此功能適合用來檢視是否有耗用過量記憶體的程序。

  34. 如果您正在建立或編輯 Sun Java System 目錄來源,並且 Directory Server 沒有顯示在「選擇一個已知的伺服器」下拉清單中,請檢查 Directory Server 是否在執行。Directory Server 必須正在執行,才會出現在可用主機下拉清單內。
  35. 假如當事伺服器暫時處於非作用中,請在「透過輸入主機名稱和通訊埠指定伺服器」欄位中輸入主機及通訊埠。


    附註

    預設情況下,Identity Synchronization for Windows 使用短主機名稱;但是,預設主機名稱可能不適用於您的配置。每當要求您提供主機名稱時,建議輸入完整合格的名稱。


  36. 執行解除安裝程式時有否收到下列錯誤?
  37. ./runInstaller.sh

    IOException while making /tmp/SolarisNativeToolkit_5.5.1_1 executable:java.io.IOException:Not enough space

    java.io.IOException:Not enough space

    增加掛載於 /tmp 的交換檔案的大小。


連接器疑難排解

使用本節的資訊可疑難排解連接器的問題。內容歸納如下:

如何確定管理目錄來源的連接器 ID

您可使用下列一種方法來確定連接器 ID:

使用中央日誌

藉由檢視中央 audit.log,確定要同步化的目錄來源的連接器 ID。啟動時,中央記錄程式會記錄每個連接器的 ID 及其管理的目錄來源。有關最新資訊,請檢視啟動標題的上一實例。

例如,下列日誌訊息中有兩個連接器:

使用 idsync printstat

也可以使用 idsync printstat 指令來取得連接器 ID 及狀態 (請參閱使用 printstat)。

這項指令的輸出範例如下:

Connector ID:CNN100
   Type:Active Directory
   Manages:airius.com (ldaps://host2.airius.com:636)
   State:READY

Connector ID:CNN101
   Type:Sun Java System Directory
   Manages:dc=airius,dc=com (ldap://host1.airius.com:389)
   State:READY

Sun Java System Message Queue Status:Started

Checking the System Manager status over the Sun Java System Message Queue.

System Manager Status:Started

SUCCESS

如何確定連接器的目前狀態

使用主控台中的「狀態」窗格、idsync printstat 指令 (如前所述),或藉由檢視中央 audit.log,可確定同步化所牽涉的連接器之目前狀態。

搜尋 audit.log 中最近一條報告連接器狀態的訊息。
例如,在下面的日誌訊息中您會看到連接器 CNN101 的狀態為 READY。

[2003/03/19 10:20:16.889 -0600] INFO 13 SysMgr_100 host1 "Connector [CNN101] is now in state "READY"."

表格 9-1 說明了不同的連接器狀態。

表格 9-1  連接器狀態涵義

狀態

涵義

UNINSTALLED

連接器尚未安裝。

INSTALLED

已安裝連接器,但未收到其配置。

READY

已安裝連接器且已收到其配置,但尚未開始同步化。

SYNCING

已安裝連接器且已收到其配置,並已嘗試開始同步化。

連接器為 UNINSTALLED 狀態時應採取什麼動作

安裝連接器。

如果無法安裝連接器,且無法重新安裝連接器,應採取什麼動作

如果無法安裝連接器,但 Identity Synchronization for Windows 安裝程式認為已安裝了連接器,安裝程式將不允許重新安裝連接器。

執行 idsync resetconn (如使用 resetconn 中所述),重設連接器狀態為 UNINSTALLED,接著重新安裝連接器。

連接器為 INSTALLED 狀態時應採取什麼動作

如果連接器長時間維持在已安裝狀態,很可能是連接器未在執行中,或連接器無法與 Message Queue 進行通訊。

在已安裝連接器的電腦上,檢視連接器日誌 (audit.logerror.log) 中是否有潛在錯誤。如果連接器無法連接至 Message Queue,就會在日誌中報告該錯誤。如果遇到此狀況,請參閱 Message Queue 疑難排解,瞭解可能的原因。

如果稽核日誌中的最新訊息已過時,則或許是連接器並未執行。請參閱元件疑難排解

連接器為 READY 狀態時應採取什麼動作

除非已啟動同步化並且已安裝連接器的所有子元件且子元件都已連接至該連接器,否則連接器會維持在 READY 狀態。如果尚未啟動同步化,請利用主控台或指令行公用程式來啟動同步化。

如果已啟動同步化,但連接器未進入 SYNCING 狀態,則可能是子元件有問題。請參閱子元件疑難排解

連接器為 SYNCING 狀態時應採取什麼動作

如果所有連接器皆為 SYNCING 狀態,但修改項目尚未同步化,請驗證同步化設定值是否正確:

Active Directory 連接器無法透過 SSL 聯繫 Active Directory 時應採取什麼動作

如果 Active Directory 連接器無法透過 SSL 聯繫 Active Directory,並且顯示下列錯誤訊息,請重新啟動 AD 網域控制器。

Failed to open connection to ldaps://server.example.com:636, error(91):Cannot connect to the LDAP server, reason:SSL_ForceHandshake failed:(-5938) Encountered end of file.


元件疑難排解

使用本節的資訊可疑難排解元件問題。內容歸納如下:

Solaris 系統

執行 /usr/ucb/ps -auxww | grep com.sun.directory.wps 指令會列出所有執行中的 Identity Synchronization for Windows 程序。下面的表格列出了應在執行的程序。

表格 9-2  Identity Synchronization for Windows 程序

Java 程序類別名稱

元件

存在條件

com.sun.directory.wps.watchdog.server.WatchDog

系統監視程式

始終

com.sun.directory.wps.centrallogger.CentralLoggerManager

中央記錄程式

僅當安裝了核心程式時

com.sun.directory.wps.manager.SystemManager

系統管理員

僅當安裝了核心程式時

com.sun.directory.wps.controller.AgentHarness

連接器

每個安裝的連接器都有一個對應程序

如果執行中的程序數目不合預期,請發出下列命令來重新啟動所有 Identity Synchronization for Windows 程序。

# /etc/init.d/isw stop
# /etc/init.d/isw start

如果檢視程式程序正在執行,但執行中的 java.exe 程序數目不合預期,請參閱「檢查 WatchList.properties」一節來驗證是否正確安裝了所有元件。

如同其他系統元件,Sun Java System Directory Server 外掛程式會透過匯流排來傳送受中央記錄程式管理的日誌記錄,供一般使用者檢視。但是,外掛程式也會記錄某些可能不會透過匯流排顯現的訊息 (例如,當子元件無法聯繫連接器時)。在此情況下,日誌訊息僅會顯現在檔案系統的外掛程式 logs 目錄中,大致位置類似以下範例所示:

<serverroot>/isw-<hostname>/logs/SUBC<id>.

因為外掛程式會與 Directory Server 程序一起執行,所以可能會發生外掛程式無法寫入其 logs 目錄的問題。如果目錄伺服器是以不同於 logs 目錄所有者的使用者身份執行,就會發生此問題。在此情況下,可能有必要使用原生作業系統指令來變更目錄權限或所有者,明確指定外掛程式權限。

Windows 系統

利用「服務」控制台來檢查是否已啟動「Sun Java System Identity Synchronization for Windows」服務。如果未啟動,則表示該電腦上未執行 Identity Synchronization for Windows,應將其啟動。如果已啟動服務,請利用工作管理員來驗證 pswwatchdog.exe (監視程式程序) 是否在執行,且執行中的 java.exe 程序是否合乎預期數目:


附註

可能會有其他作用中的 java 程序,如 Directory Server 主控台。如果 pswwatchdog.exe 未在執行,請重新啟動「Sun Java System Identity Synchronization for Windows」服務。如果它正在執行,但執行中的 java.exe 程序數目不合預期,請參閱檢查 WatchList.properties 來驗證是否正確安裝了所有元件。


檢查 WatchList.properties

在每台安裝了 Identity Synchronization for Windows 元件的電腦上,isw-<電腦名稱>/resources/WatchList.properties 檔案會列舉應在該電腦上執行的元件。process.name[n] 屬性命名應執行之元件。

在安裝了核心程式的電腦上,WatchList.properties 將包含中央記錄程式和系統管理員的項目:

process.name[1]=Central Logger

process.name[2]=System Manager

在安裝了連接器的電腦上,WatchList.properties 將包含每個連接器的一個對應項目。process.name 屬性是連接器 ID:

process.name[3]=CNN100

process.name[4]=CNN101

如果 WatchList.properties 中的項目與執行中的程序不符,請重新啟動 Identity Synchronization for Windows 常駐程式或服務。

如果 WatchList.properties 中的項目數與預期數目不符 (例如,雖然安裝了兩個連接器,卻僅有一個連接器項目),請檢查安裝日誌中可能記錄的安裝失敗。


子元件疑難排解

使用以下核對清單來疑難排解您部署中的子元件問題:

  1. 是否安裝了所有子元件?
  2. 子元件的安裝必須在安裝連接器後進行:

    • 對於 Active Directory 連接器,沒有要安裝的子元件。
    • 對於 Sun Java System Directory Server 連接器,必須在要同步化的 Sun Java System Directory Server 上安裝 Directory Server 外掛程式。
    • 對於 Windows NT 連接器,必須在每個要同步化的 Windows NT 網域的主要網域控制器上安裝 Windows 變更偵測器及密碼篩選器子元件。這兩個子元件在安裝 Windows NT 連接器後一併安裝。

    • 附註

      您必須開啟 NT 稽核日誌,Windows NT SAM 變更偵測器子元件才會生效。請選取「開始」>「程式集」>「系統管理工具」>「使用者管理員」,然後選取「原則」>「稽核原則」。選取「稽核下列事件」,接著選取「使用者及群組管理」的「成功」和「失敗」方塊。

      選取「事件檢視器」中的「事件日誌設定值」>「事件日誌換行」,接著選取「視需要覆寫事件」。


  3. 是否執行了字元件安裝後步驟?
  4. 在 Sun Java System Directory Server 上安裝 Directory Server 外掛程式後,必須重新啟動伺服器。在主要網域控制器上安裝 NT 變更偵測器及密碼篩選器後,必須重新啟動伺服器。

  5. 子元件是否正在執行?
  6. 安裝有外掛程式的 Directory Server 是否正在執行?安裝了變更偵測器及密碼篩選器的主要網域控制器是否正在執行?

  7. 子元件是否建立了與連接器的網路連線?
  8. 於連接器正在執行的電腦上,執行 netstat -n -a 來驗證連接器是否正在偵聽子元件連線。下列範例展示了在三種不同案例下執行這個指令的結果。(連接器配置為偵聽通訊埠 9999。)

    1. 連接器正在偵聽傳入的連線,且子元件已成功連接,這是預期的結果:
    2. netstat n a | grep 9999

            *.9999 *.* 0 0 65536 0 LISTEN

      12.13.1.2.44397 12.13.1.2.9999 73620 0 73620 0 ESTABLISHED

      12.13.1.2.9999 12.13.1.2.44397 73620 0 73620 0 ESTABLISHED

    3. 連接器正在偵聽傳入的連線,但子元件尚未連接:
    4. # netstat n a | grep 9999

           *.9999 *.* 0 0 65536 0 LISTEN

      驗證子元件正在執行後,檢查子元件的本機日誌,看是否有潛在問題。

    5. 連接器未在偵聽傳入的連線:
    6. # netstat n a | grep 9999

      <no output>

      驗證是否指定了正確的通訊埠埠號。驗證連接器正在執行且為 READY 狀態。檢查連接器的本機日誌,看是否有潛在問題。


Message Queue 疑難排解

驗證 Sun Java System Message Queue 代理程式正在執行。向電腦發出 telnet 指令,正執行 Message Queue 代理程式的通訊埠便會傳回作用中的 Message Queue 服務的清單:

# telnet localhost 7676

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

101 psw-broker 3.0.1

cluster tcp CLUSTER 32914

admin tcp ADMIN 32912

portmapper tcp PORTMAPPER 7676

ssljms tls NORMAL 32913

jms tcp NORMAL 32911

.

Connection closed by foreign host.

如果 telnet 指令失敗,則是因為代理程式未在執行或指定了錯誤的通訊埠。請檢查代理程式日誌中的通訊埠埠號。使用下列指令行來指定代理程式通訊埠

[13/Mar/2003:18:17:09 CST] [B1004]: “Starting the portmapper service using tcp [ 7676, 50 ] with min threads 1 and max threads of 1”

如果代理程式未在執行,在 Solaris 系統中執行 /etc/init.d/imq start,在 Windows 系統中啟動 iMQ Broker Windows 服務,就可啟動代理程式。

如果正在 Solaris 8 上安裝 Message Queue,並將要執行 mquinstall 來安裝所有套件,請在執行 mqinstall 務必設定 IMQ_JAVAHOME,確保軟體選用正確的 Java 版本。

如果您尚未安裝核心程式,就不需要設定 IMQ_JAVAHOME,因為 Identity Synchronization for Windows 安裝程式會指示 Message Queue 代理程式應使用的 JVM。

代理程式配置目錄通訊疑難排解

Message Queue 代理程式依據儲存 Identity Synchronization for Windows 配置的 Directory Server 來驗證用戶端。如果代理程式無法連接至此 Directory Server,則任何用戶端都無法連接至 Message Queue,且代理程式日誌會記錄某些 javax.naming 例外,如 "javax.naming.CommunicationException" 或 "javax.naming.NameNotFoundException".

若發生 javax.naming 例外,請執行下列動作

代理程式記憶體設定疑難排解

在正常作業期間,Message Queue 代理程式會耗用適量的記憶體。然而,在 idsync resync 作業期間,代理程式的記憶體需求會增加。如果代理程式到達其記憶體限制,未傳遞的訊息便會累積下來,idsync resync 作業會急遽減速或完全停止,並且 Identity Synchronization for Windows 之後可能會沒有回應。

代理程式進入低記憶體狀態時,其日誌中會出現下列訊息:

[03/Nov/2003:14:07:51 CST] [B1089]:In low memory condition, Broker is attempting to free up resources

[03/Nov/2003:14:07:51 CST] [B1088]:Entering Memory State [B0024]:RED from previous state [B0023]:ORANGE - current memory is 1829876K, 90% of total memory

若要避免發生此狀況:

如果代理程式確實發生記憶體不足,請採取下列復原步驟:

  1. 檢查相應目錄中代理程式的永久性訊息存放區,驗證代理程式是否有積存的未傳遞訊息。
    • Solaris 系統/var/imq/instances/psw-broker/filestore/message/
    • Windows 系統<installation_root>\isw-<machine_name>\imq\var\ instances\isw-broker\filestore\message\
  2. 此目錄中的每個檔案都含有一個未傳遞的訊息。如果此目錄中有 10000 以上的檔案,則表明代理程式有訊息積存。1否則,表明代理程式有其他問題。
  3. 積存的訊息可能只是與 idsync resync 作業相關的日誌檔案,因此可將其安全移除。
  4. 按照啟動與停止服務中的說明來停止 Message Queue 代理程式。
  5. 移除永久性訊息存放區中的所有檔案。移除這些檔案的最簡單方法是遞迴移除 message/ 目錄,然後再重建它。
  6. 重新啟動 Message Queue 代理程式。

遵循本節的指示,以確保代理程式不會再次用盡記憶體。


SSL 問題疑難排解

診斷 SSL 問題時,另請參閱第 11 章,「配置安全性」中有關如何在 Identity Synchronization for Windows 中的元件間設定 SSL 的說明。本節包含下列內容:

核心程式元件間的 SSL

Identity Synchronization for Windows 安裝程式無法驗證核心程式安裝期間提供的 SSL 通訊埠是否正確。如果在核心元件安裝期間鍵入了錯誤的 SSL 通訊埠,核心元件便無法正常通訊。直至您首次嘗試儲存配置時,才會注意到存在問題。主控台將顯示以下警告訊息:

The configuration was successfully saved, however, the System Manager could not be notified of the new configuration.

系統管理員日誌中會出現下列項目:

[10/Nov/2003:10:24:35.137 -0600] WARNING 14 example "Failed to connect

to the configuration directory because "Unable to connect: (-5981)

Connection refused by peer.".Will retry shortly."

在此情況下,請解除安裝核心程式,並以正確的 SSL 通訊埠埠號再次安裝核心程式。

連接器與 Directory Server 或 Active Directory 間的 SSL

如果連接器無法透過 SSL 連接至 Directory Server 或 Active Directory,則中央錯誤日誌中會出現下列訊息:

[06/Oct/2003:14:02:48.911 -0600] WARNING 14 CNN100 host1 "failed to open connection to ldaps://host2.airius.com:636."

開啟「主控台」並核取「指定進階安全選項」畫面 (請參閱(更多資訊...))。

不可信的憑證

中央稽核日誌中提供有詳細資訊。例如,如果 LDAP 伺服器的 SSL 憑證不可信,則會記錄下列訊息:

[06/Oct/2003:14:02:480.951 -0600] INFO 14 CNN100 host1 "failed to open connection to ldaps://host2.airius.com:636, error(91):Cannot connect to the LDAP server, reason:SSL_ForceHandshake failed:(-8179) Peer掇 Certificate issuer is not recognized."

在大多數情況下,不會將 CA 憑證新增至連接器的憑證資料庫。執行 Directory Server 隨附的 certutil 程式就可確認這一點。2


附註

SUNWtlsu 套件中提供了憑證管理公用程式,如 certutil,但 Directory Server 中未包捆有此類公用程式。(您可以從 Sun Microsystems 免費下載此套裝軟體。)

下載此套裝軟體後,您會在以下位置找到 certutil

/usr/sfw/bin/certutil


在此範例中,憑證資料庫中沒有憑證:3

# /usr/sunone/servers/shared/bin/certutil -L -d /usr/sunone/servers/ isw-host1/etc/CNN100

Certificate Name                                 Trust Attributes

p Valid peer

P Trusted peer (implies p)

c Valid CA

T Trusted CA to issue client certs (implies c)

C Trusted CA to certs(only server certs for ssl) (implies c)

u User cert

w Send warning

在下列範例中,憑證資料庫僅包含 Active Directory CA 憑證:

# /usr/sunone/servers/shared/bin/certutil -L -d /usr/sunone/servers/ isw-host1/etc/CNN100

Certificate Name                                 Trust Attributes

airius.com CA                                    C,c,

p Valid peer

P Trusted peer (implies p)

c Valid CA

T Trusted CA to issue client certs (implies c)

C Trusted CA to certs(only server certs for ssl) (implies c)

u User cert

w Send warning

如此處所示,CA 憑證的信任旗標必須是「C,,」。如果憑證存在並正確設定了信任旗標,但連接器仍然無法連接,請先驗證新增憑證後是否重新啟動了連接器,接著使用 Sun Java System 目錄隨附的 ldapsearch 指令來協助診斷問題。如果 ldapsearch 不接受憑證,連接器也不會接受。例如,ldapsearch 可拒絕不可信的憑證

# /usr/sunone/servers/shared/bin/ldapsearch -Z -P /usr/sunone/ servers/isw-host1/etc/CNN100 -h host2 -b "" -s base "(objectclass=*)"

ldap_search:Can掐 contact LDAP server

    SSL error -8179 (Peer掇 Certificate issuer is not recognized.)

-P 選項指示 ldapsearch 使用連接器 CNN100 的憑證資料庫來驗證 SSL 憑證。將正確的憑證新增至連接器的憑證資料庫後,請驗證 ldapsearch 是否接受憑證,接著重新啟動連接器。

不符的主機名稱

當 Identity Synchronization for Windows 嘗試建立 SSL 連線時 (停用信任所有憑證設定),Identity Synchronization for Windows 的連接器將驗證伺服器的主機名稱是否與伺服器在 SSL 交涉階段所提供憑證中的主機名稱相符。若主機名稱不符,連接器將拒絕建立連線。

Identity Synchronization for Windows 配置中的目錄來源主機名稱必須始終與該目錄來源所使用之憑證中內嵌的主機名稱相同。

您可以使用 ldapsearch 來驗證主機名稱是否相符,如下所示:

/var/mps/serverroot/shared/bin/ldapsearch.exe -Z -P /var/opt/SUNWisw/etc/CNN100 -3
-h host2.example.com -p 636 -s base -b "" "(objectclass=*)"

若指令行中的主機名稱 (host2.example.com) 與憑證中內嵌的主機名稱不符,則會顯示下列錯誤訊息:

ldap_search:Can掐 contact LDAP server

SSL error -12276 (Unable to communicate securely with peer: requested do main name does not match the server掇 certificate.)

若主機名稱相符,ldapsearch 指令成功執行,並顯示根 DSE 的內容。

過期的憑證

如果伺服器的憑證已過期,則會記錄下列訊息:

[06/Oct/2003:14:06:47.130 -0600] INFO 20 CNN100 host1 "failed to open connection to ldaps://host2.airius.com:636, error(91):Cannot connect to the LDAP server, reason:SSL_ForceHandshake failed:(-8181) Peer掇 Certificate has expired."

在此情況下,必須向伺服器發出新憑證。

Directory Server 外掛程式與 Active Directory 間的 SSL

預設情況下,執行隨需密碼同步化時,Directory Server 不會透過 SSL 與 Active Directory 通訊。如果覆寫預設值來保護這一採用 SSL 的通訊,則必須按照第 11 章,「配置安全性」中的說明將 Active Directory CA 憑證新增至每個主伺服器複本的 Directory Server 憑證資料庫。如果未新增此憑證,使用者將無法連結到 Directory Server,並發生錯誤「DSA 不願意執行。」,而外掛程式的日誌 (例如,isw-<hostname>/logs/SUBC100/pluginwps_log_0.txt) 將做以下報告:

[06/Nov/2003:15:56:16.310 -0600] INFO td=0x0376DD74 logCode=81 ADRepository.cpp:310 "unable to open connection to Active Directory server at ldaps://host2.airius.com:636, reason: "

在此情況下,必須將 Active Directory CA 憑證新增至 Directory Server 的憑證資料庫,並重新啟動 Directory Server。


控制器問題疑難排解

從備份檔案復原 Active Directory 網域控制器時,無法重設某些計數器。

若要確保可正確重設所有計數器,請在還原 Active Directory 網域控制器後重新同步化所有使用者。

1即使已傳遞了所有訊息,代理程式仍可能會保留最多 10000 個訊息檔案,以避免建立和刪除檔案而造成的效能損失。

2在 Solaris 系統上執行此命令前,必須新增 <安裝根目錄>/lib 目錄至 LD_LIBRARY_PATH 環境變數。

3Sun Java System Directory Server 和 Windows NT 連接器的預設憑證資料庫包含兩個憑證,即 saint-cert100saintRootCA。此版本中不會使用這些憑證。

上一頁      目錄      索引      下一頁     


文件編號:817-7849。 Copyright 2004 Sun Microsystems, Inc. 版權所有。