Active Directory/LDAP 复制 Windows/Ubuntu

Active Directory/LDAP 复制 Windows/Ubuntu

我正在尝试在 Ubuntu 上设置 Windows AD 和 OpenLDAP 之间的复制。

访问 Windows AD 服务器似乎可以正常工作,Ubuntu 上的 OpenLDAP 似乎也可以工作,但是我在设置两者之间的复制时遇到了困难 —— 我对 AD/LDAP 还不熟悉,可能有一些概念我遗漏了。

我能够列出远程(Windows)AD 上的用户:

ldapsearch -x -h 192.168.1.200 -D 'CN=LDAP OpenVPN,CN=Users,DC=DOMAIN,DC=NET' -w 'xxx' -b "DC=DOMAIN,DC=NET" cn

我使用以下配置设置复制:

dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncrepl

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldap://192.168.1.200:389/
  type=refreshAndPersist
  retry="30 5 300 3"
  interval=00:00:05:00
  searchbase="CN=Users,DC=DOMAIN,DC=NET"
  bindmethod=simple
  binddn="CN=LDAP OpenVPN,CN=Users,DC=DOMAIN,DC=NET"
  credentials="xxx"

add: olcUpdateRef
olcUpdateRef: ldap://192.168.1.200

并应用使用:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=module{0},cn=config"

modifying entry "olcDatabase={1}mdb,cn=config"

但是,复制似乎失败并出现以下错误:

[16-02-2022 22:00:20] slapd debug  slap_client_connect: URI=ldap://192.168.1.200:389/ DN="cn=admin,dc=domain,dc=net" ldap_sasl_bind_s failed (49)
[16-02-2022 22:00:20] slapd debug  do_syncrepl: rid=001 rc 49 quitting
[16-02-2022 22:00:21] slapd debug  slap_client_connect: URI=ldap://192.168.1.200:389/ DN="cn=openvpnldap,dc=domain,dc=net" ldap_sasl_bind_s failed (49)
[16-02-2022 22:00:21] slapd debug  do_syncrepl: rid=001 rc 49 quitting
[16-02-2022 22:00:22] slapd debug  do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (12) Critical extension is unavailable
[16-02-2022 22:00:22] slapd debug  do_syncrep2: rid=001 (12) Critical extension is unavailable
[16-02-2022 22:00:22] slapd debug  do_syncrepl: rid=001 rc -2 quitting
[16-02-2022 22:00:22] slapd debug  do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (12) Critical extension is unavailable
[16-02-2022 22:00:22] slapd debug  do_syncrep2: rid=001 (12) Critical extension is unavailable
[16-02-2022 22:00:22] slapd debug  do_syncrepl: rid=001 rc -2 quitting

给出我想要实现的目标的概念:

  • 我们有一个内部网络(192.168.1.0/24),其中运行着基于 Windows 的 Active Directory
  • 我们有一个 Google Cloud VPC 网络 (10.0.0.0/8),其中运行着一些资源
  • 我们在本地网络和 GCP 网络之间运行了 IPSec 隧道。路由设置正确,一切运行正常
  • 我们希望从 Google Cloud VPC 网络内的 VM 访问我们的本地 LDAP(192.168.1.200)——目的是允许来自此 AD 的用户登录到位于此 VM 上的 OpenVPN 服务器
  • 我们希望在失去对内部网络的访问权限时,身份验证仍能继续工作。为了实现这一点,我们的想法是在同一台虚拟机上运行“代理/缓存”OpenLDAP

多谢!

答案1

似乎在身份验证阶段复制已经失败,ldap_sasl_bind_s failed请尝试使用 ldaps 而不是 ldap 或加密的 SASL 机制,例如 GSSAPI 或 DIGEST-MD5

相关内容