尽pipe显式定义了URI,SSSD仍然无法为AD全局目录服务发现

我遇到了SSSD和Active Directory集成的问题。 我的广告设置了9个域控制器的设置,其中一些是防火墙,由于各种安全原因无法访问。 因此,服务发现不适用于SSSD。 这应该没问题,因为我应该能够根据需要显式定义URI。

我有我的sssd.conf中定义这些URI的相关部分如下所示:

[domain/ad.utah.edu] ldap_uri = ldap://myserver.domain ldap_backup_uri = ldap://backup-server.domain krb5_server = myserver.domain 

但是,当试图使用getent组[email protected]此configuration时,我在与sssd域日志(debuglevel = 9)中的查找有关的活动的开始处看到这些消息:

 (Tue Nov 7 17:20:26 2017) [sssd[be[mydomain]]] [sdap_id_op_connect_step] (0x4000): beginning to connect (Tue Nov 7 17:20:26 2017) [sssd[be[mydomain]]] [fo_resolve_service_send] (0x0100): Trying to resolve service 'AD_GC' ... (Tue Nov 7 17:20:26 2017) [sssd[be[mydomain]]] [ad_get_dc_servers_send] (0x0400): Looking up domain controllers in domain mydomain (Tue Nov 7 17:20:26 2017) [sssd[be[mydomain]]] [resolv_discover_srv_next_domain] (0x0400): SRV resolution of service 'ldap'. Will use DNS discovery domain 'mydomain' 

它最终发现一个无法访问的DC,并且服务parsing失败:

 (Tue Nov 7 17:20:26 2017) [sssd[be[mydomain]]] [sdap_connect_host_resolv_done] (0x0400): Connecting to ldap://inaccessible-host.mydomain:389 .... (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [fo_resolve_service_timeout] (0x0080): Service resolving timeout reached (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [sss_ldap_init_state_destructor] (0x0400): closing socket [26] (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [sdap_handle_release] (0x2000): Trace: sh[0xc861f0], connected[0], ops[(nil)], ldap[(nil)], destructor_lock[0], release_memory[0] (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [be_resolve_server_done] (0x1000): Server resolution failed: 14 (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [sdap_id_op_connect_done] (0x0400): Failed to connect to server, but ignore mark offline is enabled. (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [sdap_id_op_connect_done] (0x4000): notify error to op #1: 5 [Input/output error] (Tue Nov 7 17:20:56 2017) [sssd[be[mydomain]]] [acctinfo_callback] (0x0100): Request processed. Returned 3,5,Group lookup failed 

我已经在手册页上search了一个选项来禁用服务发现(似乎应该通过指定我在configuration中定义的URI来完成),或者一些选项来控制这个“AD_GC”服务的行为推断是本文中的AD全球目录服务: https : //community.hortonworks.com/articles/92314/sssd-1.html )。

然而,我不知道如何控制这种行为并将其禁用或将其指向适当的服务器。

我在ubuntu 16.04.3上运行SSSD版本1.13.4,如果有帮助的话。

我不知道SSSD – 但是我知道AD和DNS之间的关系。 SRV resolution of service 'ldap'这一行SRV resolution of service 'ldap'与您有意孤立域控制器的事实相结合,使我相信,一旦它试图从域中的LDAP SRVlogging列表中查询隔离的DC,就会发生错误。 如果是这种情况,请防止这些DC在DNS中注册其SRVlogging 。

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters Value name: DnsAvoidRegisterRecords Data type: REG_MULTI_SZ Data value: Ldap 

在几个build议想知道为什么有SRV DNSlogging的无法访问的服务器,我意识到所有的域控制器有“网站”信息描述他们打算服务的网站。 事实certificate,当使用这个configuration选项发现服务时,SSSD可以被引导使用特定的站点:

 dns_discovery_domain = SiteName._sites.example.com 

在版本1.12之前( https://pagure.io/SSSD/sssd/issue/2486 ),没有完全支持指定这些信息(keberos发现不尊重站点规范)。

据我所知,SSSD不应该做任何服务发现,如果我明确地定义了LDAP和kerberos的URI,但至less我有一个解决我原来的问题。