GAL search и GAL sync с AD

 Здравствуйте,

Не могли бы вы мне помочь с моей проблемой.

Поставили мы тут zimbra 7.2 и сейчас находимся в процессе настройки. Первоначально настройкой занимался один админ, но его перевели в другой офис на другие проекты, и зимбра досталась мне.

На данный момент основная проблема  - Не получается прицепить GAL из AD.

Тот админ настроил первоначально external gal over ldap. при концигурировании тест поиска проходил и даже находил юзеров, и тест sync тоже проходил, однако при синхронизации прицепленный датасорс не заполнял вобще. 

При этом ldapsearch из консоли отрабатывает нормально. Стал вайршарком ловить пакеты на порту 389 на DC.

в пакетах шел запрос, в ответах шли пользовательские данные, нов от email адресов в них почему то не наблюдалось. То есть возникло подозрение что проблема в фильтрах. Но он же с этим же фильтром без проблем во время настроечных тестов находит все.

Если же настраивать не через ldap а через AD конфигурацию проходит, тесты тоже но во время теста на поиск ничего не находит, хоть и говорит что тест успешный. Есть подозрение что проблема в фильтре:

zimbraGalLdapFilterDef: ad:(&(|(displayName=*%s*)(cn=*%s*)(sn=*%s*)(givenName=*%s*)(mail=*%s*))(!(msExchHideFromAddressLists=TRUE))(|(&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=contact))(objectCategory=group)(objectCategory=publicFolder)(objectCategory=msExchDynamicDistributionList)))

Вопрос как его поправить что бы искал?

Решил поднять тикет с саппортом. Саппорт удаленно через тимвьюер начал сам все настраивать, сказал что надо все через AD делать, в итоге пришли к выводу что проблема либо в фильтре (но как ее исправить он не знает, говорит пробуйте разные комбинации) либо вот в этом:

Кусок из лога взятый после попытки синхронизации

Exception in thread "main" java.lang.NullPointerException
        at com.zimbra.cs.gal.ADGalGroupHandler.isGroup(ADGalGroupHandler.java:45)
        at com.zimbra.cs.account.ldap.LdapGalMapRules.apply(LdapGalMapRules.java:118)
        at com.zimbra.cs.account.ldap.LdapUtil.searchGal(LdapUtil.java:806)
        at com.zimbra.cs.account.ldap.LdapProvisioning.searchZimbraWithNamedFilter(LdapProvisioning.java:5228)
        at com.zimbra.cs.account.ldap.LdapProvisioning.searchResourcesGal(LdapProvisioning.java:5180)
        at com.zimbra.cs.account.ldap.LdapProvisioning.searchGal(LdapProvisioning.java:5087)
        at com.zimbra.cs.account.ldap.LdapProvisioning.searchGal(LdapProvisioning.java:5028)
        at com.zimbra.cs.account.ProvUtil.doSyncGal(ProvUtil.java:2008)
        at com.zimbra.cs.account.ProvUtil.execute(ProvUtil.java:1061)
        at com.zimbra.cs.account.ProvUtil.main(ProvUtil.java:3298)
[zimbra@mail log]$
 
Я загрузил лог файл к ним  в запрос, сказали посмотрят что да как. И вот пока молчат.
 
У кого нибудь есть какие нибудь идеи как все это наладить?
 

Комментарии

Саппорт предожил сделать так:

zmprov md fostermoore.com +zimbraGalLdapAttrMap "objectClass=objectClass"

zmprov fc domain 

Сделал после чего попробовал снова синхронизировать:

[zimbra@mail log]$ zmprov -l syg mydomain.com
[] INFO: Loading extensions from /opt/zimbra/lib/ext
[] INFO: extension com.zimbra.bp.ZimbraBulkProvisionExt found in /opt/zimbra/lib/ext/com_zimbra_bulkprovision/com_zimbra_bulkprovision.jar
[] INFO: extension com.zimbra.clam.ClamScanner found in /opt/zimbra/lib/ext/clamscanner/clamscanner.jar
[] INFO: extension com.zimbra.zimbrasync.ZimbraSync found in /opt/zimbra/lib/ext/zimbrasync/zimbrasync.jar
[] INFO: extension com.zimbra.cs.voice.VoiceExtension found in /opt/zimbra/lib/ext/voice/zimbravoice.jar
[] INFO: extension com.zimbra.cs.convert.ConverterExtension found in /opt/zimbra/lib/ext/convertd/zimbraconvertd.jar
[] INFO: extension com.zimbra.cert.ZimbraCertMgrExt found in /opt/zimbra/lib/ext/com_zimbra_cert_manager/com_zimbra_cert_manager.jar
[] INFO: extension com.zimbra.iminterop.ZimbraInteropExtension found in /opt/zimbra/lib/ext/zimbraiminterop/zimbraiminterop.jar
[] INFO: extension com.zimbra.xmbxsearch.ZimbraXMbxSearchExtension found in /opt/zimbra/lib/ext/com_zimbra_xmbxsearch/com_zimbra_xmbxsearch.jar
[] INFO: extension com.zimbra.cs.nginx.NginxLookupExtension found in /opt/zimbra/lib/ext/nginx-lookup/nginx-lookup.jar
[] INFO: extension com.zimbra.cs.network.license.LicenseExtension found in /opt/zimbra/lib/ext/zimbra-license/zimbra-license.jar
[] INFO: extension com.zimbra.cs.hsm.HsmInitializer found in /opt/zimbra/lib/ext/zimbrahsm/zimbrahsm.jar
[] INFO: extension com.zimbra.cs.backup.BackupExtension found in /opt/zimbra/lib/ext/backup/zimbrabackup.jar
[] INFO: extension com.zimbra.ldaputils.ZimbraLDAPUtilsExtension found in /opt/zimbra/lib/ext/zimbraldaputils/zimbraldaputils.jar
[] INFO: extension com.zimbra.cs.network.NetworkInitializer found in /opt/zimbra/lib/ext/network/zimbranetwork.jar
[] INFO: extension com.zimbra.cs.versioncheck.VersionCheckExtension found in /opt/zimbra/lib/ext/zimbraadminversioncheck/zimbraadminversioncheck.jar
[] INFO: extension com.zimbra.cs.archive.ArchiveInitializer found in /opt/zimbra/lib/ext/zimbra-archive/zimbra-archive.jar
# token = 19700101000000Z
 
# name uid=americano-room,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
# name uid=java-room,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
# name uid=kona-room,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
# name uid=sumatra-room,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
# name uid=venti-room,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
# name uid=fmconferenceroom1,ou=people,dc=mydomain,dc=com
objectClass: organizationalPerson
objectClass: zimbraAccount
objectClass: zimbraCalendarResource
objectClass: amavisAccount
 
[zimbra@mail log]$
 
Но GAL так и не заработал.
Рестартанул сервисы Зимбры - не помогло. 
Есть идеи?

у вас в фильтре используются параметры специфические для exchange, он был установлен в домене или нет?

 Нет не был

тогда нужно проще, вот вариант, который добавит в GAL из AD пользователей и контакты у которых прописан электронный адрес в свойствах

фильтр LDAP (&(|( cn=*%s*)( sn=*%s*)( gn=*%s*)( mail=*%s*))(mail=*)(objectCategory=person)(objectClass=contact))

фильтр автозаполнения (|(cn=%s*)(sn=%s*)(gn=%s*)(mail=%s*))