如何配置 Zimbra GAL 自動同步並驗證其是否正常運作

Zimbra 中的 GAL 自動同步功能實際上執行什麼操作

如果使用者可以搜尋全域位址清單 (GAL),但新建立或變更的聯絡人要過很久才會顯示,通常的問題不是「GAL 已停用」。更常見的情況是,GAL 同步帳戶存在,但其資料來源輪詢間隔過長、資料來源已停用,或上次計劃的同步失敗。

Zimbra 目前的 Daffodil (v10) 管理員指南將全域位址清單 (GAL) 描述為一項基於網域的功能,並提供三種模式:內部模式、外部模式和兩者兼有。 GAL 同步帳戶會將同步的 GAL 聯絡人儲存在通訊錄中,以便用戶端能夠更快地自動完成位址填入和瀏覽。 Zimbra 也指出,如果 GAL 同步帳戶不可用,系統可以回退到傳統的基於 LDAP 的搜尋。這一點很重要:成功查找並不能證明計劃的 GAL 同步運作正常。

參考資料:Zimbra Daffodil v10 管理員指南。

在進行任何變更之前,請先確定目前的全域位址清單 (GAL) 模式和同步帳戶。

以zimbra作業系統使用者身分執行管理員命令:

su - zimbra
zmprov gd example.com | egrep 'zimbraGalMode|zimbraGalMaxResults|zimbraGalAccountId'

替換example.com為真實的 Zimbra 網域。第一個有用的結果是 GAL 模式:

  • 內部:GAL 資料來自 Zimbra LDAP 目錄。
  • 外部:GAL 尋找並同步使用外部 LDAP 目錄,例如 Active Directory。
  • 兩者兼備:Zimbra 結合了內部和外部 GAL 源。

常見誤解: GAL 模式和 GAL 同步並非相同設定。 GAL 模式用於告知 Zimbra 目錄資訊的來源。自動同步由 GAL 資料來源及其輪詢間隔控制。建議:先確認網域模式,然後檢查資料來源,而不是變更無關的自動完成設定。

在編輯排程表之前,請檢查 GAL 同步資料來源。

如果該網域已有全域位址清單 (GAL) 同步帳戶,請列出其資料來源:

zmprov gds galsync@example.com

尋找類似這樣的值:

zimbraDataSourceName: InternalGAL
zimbraDataSourceEnabled: TRUE
zimbraDataSourcePollingInterval: 1d
zimbraGalLastSuccessfulSyncTimestamp: ...
zimbraGalLastFailedSyncTimestamp: ...
zimbraGalStatus: enabled

確切的資料來源名稱可能有所不同。 `<interior datasource>`InternalGAL是內部資料來源的常用名稱;外部資料來源的名稱可以是 `<interterior datasource>` ExternalGAL、ADGAL`<interterior datasource>` 或管理員選擇的其他名稱。

Zimbra 技術中心的文件顯示,資料來源輪詢間隔決定了自動匯入的頻率。目前的 v10 管理員指南也指出,該間隔可以以天、小時、分鐘或秒為單位,並且可以針對每個資料來源進行設定。

參考:Zimbra 技術中心:GAL 同步帳戶。

設定一個實際的 GAL 輪詢間隔

若要將現有資料來源的同步頻率變更為每小時一次:

zmprov mds galsync@example.com InternalGAL   zimbraDataSourcePollingInterval 1h

其他範例包括30m、12h或1d。 Zimbra 發佈的模式文件使用諸如h、m、s和 等持續時間單位d。

較短的同步間隔並非一定更好。對於小型內部目錄,一小時的同步間隔可能比較合理。但對於大型外部 LDAP 目錄或連接到廣域網路的 Active Directory,頻繁的輪詢可能會增加目錄和郵件伺服器不必要的負載。建議:根據目錄變更需要多久顯示一次以及在您的環境中執行完整同步或增量同步的成本來選擇合適的同步間隔。

常見誤解: forceSync此設定不配置自動同步,而是立即啟動同步。週期性同步計劃由 [此處應填寫設定來源] 提供zimbraDataSourcePollingInterval。解決方法:先設定同步間隔,然後僅使用強制同步來立即驗證配置。

強制執行一次同步以驗證配置

設定間隔後,立即觸發同步:

zmgsautil forceSync -a galsync@example.com -n InternalGAL

使用傳回的確切資料來源名稱zmprov gds。 Zimbra 官方技術中心文件中,此指令對內部和外部 GAL 資料來源均適用。

然後再次檢查資料來源:

zmprov gds galsync@example.com | egrep 'zimbraDataSourceName|zimbraDataSourceEnabled|zimbraDataSourcePollingInterval|zimbraGalLastSuccessfulSyncTimestamp|zimbraGalLastFailedSyncTimestamp|zimbraGalStatus'

一個有用的驗證結果不僅僅是「命令返回時沒有明顯的錯誤」。你還需要看到最近的成功同步時間戳記、已啟用的資料來源、預期的輪詢間隔,以及沒有新的失敗同步時間戳,這表示操作沒有重複失敗。

如何從管理控制台設定全域位址清單 (GAL) 自動同步

對於新建或重新配置的網域,Zimbra v10 支援的圖形路徑是透過網域的全域位址清單 (GAL) 設定:

  1. 開啟 Zimbra 管理控制台。
  2. 轉到配置→網域。
  3. 選擇所需的網域名稱。
  4. 從網域操作中開啟「設定全域位址清單」 。
  5. 根據實際情況選擇內部、外部或兩者兼有。
  6. 確認全域位址清單 (GAL) 同步帳戶和資料來源名稱。
  7. 設定 GAL 輪詢間隔。
  8. 完成精靈後,zmgsautil forceSync如果需要立即進行測試,請使用此功能。

v10 管理員指南特別指出,當 GAL 模式為「兩者」時,會為每個 LDAP 資料來源建立一個通訊錄。指南還警告管理員不要直接編輯這些已同步的地址簿,因為同步操作可能會覆蓋手動變更。操作方法:在權威 LDAP 來源上進行目錄更改,而不是在 GAL 同步帳戶產生的通訊錄中進行更改。

如果 GAL 同步帳號不存在怎麼辦?

對於新部署,請盡可能使用管理控制台,因為它能保持網域、全域位址清單帳戶和資料來源關係的一致性。

Zimbra 技術中心也提供了 CLI 創建的相關文件zmgsautil createAccount。一個已記錄的內部全域位址清單 (GAL) 範例如下:

zmgsautil createAccount   -a galsync@example.com   -n InternalGAL   --domain example.com   -s mailstore.example.com   -t zimbra   -f _InternalGAL

郵件-s伺服器選項的文件已在 ZCS 8 及更高版本的技術中心文章中說明。由於特定的命令列行為可能因版本和打包方式而異,zmgsautil因此在建立新帳戶之前,請先查看已安裝伺服器的說明訊息,而不是盲目複製舊命令。

常見誤解:使用通用帳戶刪除命令刪除損壞的全域位址清單 (GAL) 帳戶與使用 GAL 公用程式刪除它並不相同。 Zimbra 技術中心警告說,錯誤地刪除 GAL 帳戶可能會導致網域zimbraGalAccountId指向無效帳戶。操作:如果您確實需要刪除並重新建立 GAL 帳戶,請按照文件中說明的zmgsautil deleteAccount步驟操作,而不是像處理普通郵件帳戶那樣處理它。

參考:Zimbra 技術中心:刪除、建立和強制同步 GAL 帳戶。

外部 LDAP 或 Active Directory:有哪些變化?

使用外部 GAL 時,計劃機制仍然是 GAL 資料來源輪詢間隔,但成功同步也取決於外部 LDAP 設定:伺服器 URL、綁定 DN、綁定密碼、搜尋基準和過濾器。

Zimbra 文件指出,第一個外部資料來源可以從網域繼承全域位址清單 (GAL) 配置。其他資料來源可以設定自己的 LDAP 連線設定。如果外部同步失敗,縮短輪詢間隔並不能解決綁定密碼錯誤、LDAP 主機無法存取、搜尋基準錯誤、TLS 問題或過濾器排除預期使用者等問題。

操作:如果forceSync失敗,請驗證外部目錄連線並進行過濾,然後再進一步降低間隔。

如何判斷自動同步是否真的在運作

配置完成後,請使用以下簡短的驗證清單:

查看健康跡象如果不健康
已啟用資料來源zimbraDataSourceEnabled: TRUE在變更時序之前,請啟用或修復資料來源。
輪詢間隔與預期值相符,例如1h用zmprov mds.改正。
手動強制同步完成且無錯誤檢查資料來源或 LDAP 配置。
同步成功時間戳強制同步後的更新檢查伺服器日誌和資料來源設定。
新目錄條目在下一個預定週期之後出現比較來源 LDAP 資料、時間戳記和過濾條件。

不要僅使用自動完成功能作為唯一的健康檢查手段。因為當同步帳戶不可用時,Zimbra 可以回退到基於 LDAP 的全域位址清單 (GAL) 搜索,所以即使計劃的 GAL 通訊錄同步已過期,使用者仍然可能找到聯絡人姓名。

故障排除:當日程安排看起來正確但資料仍然過時時該怎麼辦?

檢查同步時間戳記是否失敗

如果zimbraGalLastFailedSyncTimestamp時間戳比上次成功同步的時間戳更新,則排程器可能運作正常,但資料來源發生故障。這與「自動同步已停用」的情況不同。操作:排查資料來源故障,而不是重複更改輪詢間隔。

檢查同步嘗試前後信箱的日誌

Zimbra 會將/opt/zimbra/log/mailbox.log郵件信箱活動日誌記錄為主要日誌。您可以利用該日誌來關聯強製或計劃的全域位址清單 (GAL) 作業前後發生的錯誤:

tail -f /opt/zimbra/log/mailbox.log

對於生產系統,除非確實需要並且了解額外的日誌量,否則請避免啟用廣泛的偵錯日誌記錄。

如果發現重複聯絡人,請檢查是否有重疊資料來源。

Zimbra 指出,多個具有重疊搜尋範圍的全域位址清單 (GAL) 資料來源可能會匯入重複條目;系統不會自動協調這些重複項。操作方法:縮小 LDAP 搜尋範圍或設定過濾器,確保每個資料來源都有明確的搜尋範圍,然後執行新的同步。

請勿重新命名現有的全域位址清單 (GAL) 同步帳戶

目前的 Zimbra v10 管理員指南指出,建立後變更名稱可能會破壞同步。若要變更名稱,請使用受支援的流程刪除並重新建立全域位址清單 (GAL) 配置。操作:除非有實際的維運原因,否則請勿變更正在使用的 GAL 同步帳號名稱。

推薦配置模式

對於典型的單域部署,一個可靠的方法是:

  • 保持與目錄架構相符的正確全域位址清單 (GAL) 模式。
  • 使用透過 Zimbra 的 GAL 設定工作流程建立的專用 GAL 同步帳戶。
  • 保持每個資料來源啟用狀態。
  • 設定輪詢間隔,使其與可接受的目錄變更延遲相符。
  • 僅用於zmgsautil forceSync立即驗證或故障排除。
  • 使用資料來源時間戳確認成功,而不僅僅是使用使用者自動完成功能。
  • 對於外部 LDAP,請將連接性、綁定憑證、搜尋基準和過濾器視為單獨的依賴項。

如果這些檢查通過,Zimbra 應按配置的計畫更新其 GAL 同步通訊錄。如果時間戳停止更新或強制同步失敗,下一步不是縮短更新間隔,而是找出導致計劃任務無法完成的資料來源或 LDAP 錯誤。

留下評論

如何在 ownCloud 伺服器中限制公共連結的過期日期

如何在 ownCloud 伺服器中限制公共連結的過期日期

為 ownCloud Server 公共連結設定最長過期日期,了解它會影響哪些共享,並在不忽略較舊連結的情況下驗證策略。

如何配置 Zimbra GAL 自動同步並驗證其是否正常運作

如何配置 Zimbra GAL 自動同步並驗證其是否正常運作

設定 Zimbra GAL 自動同步,設定輪詢間隔,強制執行測試同步,驗證時間戳,並追蹤過時的內部或外部 LDAP 聯絡人。

如何在 ownCloud Infinite Scale 中設定 LDAP 身份驗證

如何在 ownCloud Infinite Scale 中設定 LDAP 身份驗證

為 ownCloud Infinite Scale 配置 LDAP 支援的登錄,映射使用者和群組,選擇內建或外部 OIDC,保護憑證,並安全地驗證身份驗證。

如何從 ownCloud 10 Classic 遷移到 ownCloud Infinite Scale

如何從 ownCloud 10 Classic 遷移到 ownCloud Infinite Scale

使用支援的 migrate-to-ocis 應用程式規劃 ownCloud Classic 10 到 Infinite Scale 的遷移。了解哪些資料會遷移,哪些資料不會遷移,LDAP 先決條件,指令以及切換檢查。

如何在 Zimbra 中安全地設定 SpamAssassin 自訂規則

如何在 Zimbra 中安全地設定 SpamAssassin 自訂規則

了解 Zimbra 在何處載入自訂 SpamAssassin 規則、如何編寫和驗證 .cf 規則、重新啟動 Amavis、測試郵件頭以及如何安全地回溯。

如何在 Zimbra CE 中備份和還原單一郵箱

如何在 Zimbra CE 中備份和還原單一郵箱

使用 zmmailbox 備份和還原單一 Zimbra CE 郵箱。匯出包含元資料的 ZIP 存檔,進行驗證,並在測試帳戶中安全地測試復原功能。

如何在 ownCloud oCIS 中為使用者配置儲存配額

如何在 ownCloud oCIS 中為使用者配置儲存配額

了解如何為 ownCloud Infinite Scale 使用者設定個人空間配額,將其與專案空間和全域限制區分開來,並按角色為新使用者指派預設值。

修復 BigBlueButton FreeSWITCH SIP 註冊逾時問題:實用診斷指南

修復 BigBlueButton FreeSWITCH SIP 註冊逾時問題:實用診斷指南

透過檢查服務運作狀況、SIP 和 ESL 監聽器、NAT 位址、防火牆規則和日誌來診斷 BigBlueButton FreeSWITCH SIP 註冊逾時問題。

如何修復 ownCloud 行動應用程式「連線被拒絕」錯誤

如何修復 ownCloud 行動應用程式「連線被拒絕」錯誤

透過檢查伺服器 URL、HTTPS 連接埠、Web 伺服器、防火牆、代理、TLS 和受信任的網域來修復 ownCloud 行動應用程式連線被拒絕的錯誤。

如何在自架的 Matrix 伺服器上限制使用者註冊

如何在自架的 Matrix 伺服器上限制使用者註冊

比較在 Synapse 上控制新 Matrix 帳戶的方法,從停用公用註冊到頒發有限用途的令牌,並提供設定範例和檢查。