如何找出我的 Windows 域上托管 LDAP 的服务器?

Posted

技术标签:

【中文标题】如何找出我的 Windows 域上托管 LDAP 的服务器?【英文标题】:How can I find out which server hosts LDAP on my windows domain? 【发布时间】:2010-10-19 10:54:35 【问题描述】:

我正在尝试开发一个应用程序 (C#) 来查询 LDAP 服务器。我不知道要查询的实际服务器 - 有没有办法使用标准 Windows 工具或 .net 中的东西来查找?

我还听说过,只要我的查询字符串中有 dc=domain,dc=com,并不总是需要使用服务器名称 (ldap://server/),但我确实如此远远能够以这种方式使用它。

有什么建议吗?

谢谢

【问题讨论】:

【参考方案1】:

AD 在其 DNS 服务器中注册服务位置 (SRV) 资源记录,您可以查询这些记录以获取您域中负责的 LDAP 服务器的端口和主机名。

只需在命令行上试试这个:

C:\> nslookup 
> set types=all
> _ldap._tcp.<<your.AD.domain>>
_ldap._tcp.<<your.AD.domain>>  SRV service location:
      priority       = 0
      weight         = 100
      port           = 389
      svr hostname   = <<ldap.hostname>>.<<your.AD.domain>>

(前提是您的域名服务器是 AD 域名服务器,这样 AD 才能正常运行)

请参阅Active Directory SRV Records 和Windows 2000 DNS white paper 了解更多信息。

【讨论】:

澄清一下,> 可能是您电子邮件地址中@ 之后的部分。 您也可以省略域名以检索所有可用域:C:\> nslookup > set types=all > _ldap._tcp _ldap._tcp.> SRV 服务位置:优先级 = 0 权重 = 100 端口 = 389 svr 主机名 = >.> _ldap._tcp.> SRV 服务位置:优先级 = 0 权重 = 100 端口 = 389 svr 主机名 = >. type=all,不是类型 那么我如何从上面查询中获得的信息创建 LDAP 连接字符串。这是我的:端口:389,主机名:winabc.sp2010.coc。【参考方案2】:

如果您使用 AD,则可以使用 serverless binding 为默认域查找域控制器,然后使用 LDAP://rootDSE 获取有关目录服务器的信息,如链接文章中所述。

【讨论】:

【参考方案3】:

如果您所在的机器是 AD 域的一部分,它应该将其名称服务器设置为 AD 名称服务器(或者希望使用最终解析您的 AD 域的 DNS 服务器路径)。使用您的 dc=domain,dc=com 示例,如果您在 AD 名称服务器中查找 domain.com,它将返回每个 AD 控制器的 IP 列表。我公司的示例(域名已更改,否则为真实示例):

mokey 0 /home/jj33 > nslookup example.ad 服务器:172.16.2.10 地址:172.16.2.10#53 非权威答案: 名称:example.ad 地址:172.16.6.2 名称:example.ad 地址:172.16.141.160 名称:example.ad 地址:172.16.7.9 名称:example.ad 地址:172.19.1.14 名称:example.ad 地址:172.19.1.3 名称:example.ad 地址:172.19.1.11 名称:example.ad 地址:172.16.3.2

请注意,我实际上是从非 AD 机器进行查询,但我们的 unix 名称服务器知道将我们的 AD 域 (example.ad) 的查询发送到 AD DNS 服务器。

我确信有一种超级流畅的 windowsy 方法可以做到这一点,但是当我需要从非 windows 服务器中查找 LDAP 服务器时,我喜欢使用 DNS 方法。

【讨论】:

以上是关于如何找出我的 Windows 域上托管 LDAP 的服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 nginx 上托管的单个域下托管多个烧瓶应用程序?

React/webpack - 如何在一台服务器上托管 React 应用程序,在另一台服务器上托管图像/字体?

如何将非 www 域重定向到 Azure 上托管的 asp.net mvc 中的 WWW 域?

Sendgrid 集成:如何在与 CNAME 重定向相同的域上托管 AASA 文件

Django VirtualHosting:如何在一个 VPS 上托管具有不同域的多个 django 项目

如何在单个 AWS EC2 实例上托管多个域和子域