无法从不同子网查询 Win2K 域控制器上端口 389 上的 LDAP 服务器

无法从不同子网查询 Win2K 域控制器上端口 389 上的 LDAP 服务器

我在 Windows 域中对 Active Directory 的 LDAP 访问遇到了一个相当令人困惑的问题。配置如下:

  • 有两个主网络:192.168.0.0/24 和 192.168.100.0/24
  • 这些网络通过OpenVPN链接连接(传输网络为192.168.201.0/30)
  • 192.168.0.0/24 网络中运行 Windows 2000 SP3 Server 和 Exchange 2000 的域控制器
  • 适当的路线
  • 两个子网均在站点和服务管理单元中向该站点注册

几乎一切都正常:两个网络中的计算机的用户都可以登录、访问 192.168.0.0/24 网络中文件服务器上的 SMB 共享、使用 Outlook 及其 Exchange 帐户等等。此外,所有 DNS 查询(包括 AD 特定的 SRV 记录(例如 _ldap._tcp.dc._msdcs.$DOMAINNAME))都指向正确的位置

OpenVPN链路上没有防火墙。

现在的问题是:我无法从 192.168.100.0/24 网络中的任何计算机查询 DC LDAP 服务器(NTDS,端口 389)。有趣的是,全局目录(同一服务器上的端口 3268)上的 LDAP 查询工作正常。我甚至连接到端口 389,但它立即被服务器重置。

即使使用最高可能的日志级别,目录服务事件日志(LDAP 接口)中也没有可疑条目。

下面是 LDP 工具尝试连接到 192.168.0.1 的 DC 的示例输出:

0x0 = ldap_unbind(ld);
ld = ldap_open("192.168.0.1", 389);
已建立与 192.168.0.1 的连接。
正在检索基本 DSA 信息...
服务器错误:<空>
错误 <94>:ldap_parse_result 失败:消息中没有结果
获取 0 个条目:

我在网上找到的所有信息基本上都提到了同样的两件事:“检查 DNS”和“检查防火墙”。好吧,我反复检查了 DNS 和 IP 路由/过滤,似乎没有问题。

您还有什么想法需要查看哪里以及检查什么吗?如果您能回答,我将不胜感激。如果您需要进一步的诊断输出,我很乐意提供。

更新

感谢 adamo 的回答,我能够进一步缩小问题范围。问题是所有到 192.168.0.0/24 网络的流量在端口 389 上不知何故被 OpenVPN 所运行的机器弄坏了。无论我尝试通过端口 389/tcp 连接到哪台目标机器,甚至无论目标机器是否真的在侦听端口 389,都会发生这种情况。任何其他端口(例如 390)都可以正常工作,如果没有进程在该端口上侦听,我会收到连接或“连接被拒绝”消息。

端口 389/udp 也可以正常工作。

什么原因导致 Windows 2000 服务器以这种极具选择性的方式干扰流量?

更新 2

为了尽量减少 DC/NTDS 服务和 OpenVPN 之间的交互,我将 OpenVPN 服务器移到了另一台机器上(并相应地更改了 IP 路由)。现在我可以通过端口 389/tcp 连接到除 DC 之外的任何机器。但是,如果我尝试从 192.168.100.0/24 网络通过端口 389/tcp 连接到 DC 上的 LDAP 服务器,LDAP 服务器会立即关闭连接,因此基本上我又回到了原点。

有什么办法可以让 NTDS 与另一个网络通信吗?或者也许有一些解决方法?

答案1

3个问题:

  1. 您能从与 LDAP 服务器位于同一 LAN 上的计算机查询端口 389/tcp 吗?
  2. OpenVPN 服务器是这些局域网之间的“防火墙”,还是存在第三个网关?这些设备的操作系统是什么?
  3. 在 LDAP 服务器所在的 LAN 上,您可以设置一台机器并在端口 389/tcp 上运行 netcat 侦听器吗? 如果是这样,连接是否会立即重置?

答案2

ms ldap 存在问题,导致 tcp 389 上的新连接立即重置

http://support.microsoft.com/kb/2000061

相关内容