计算机指向错误站点的 DC

Ale*_*v95 7 active-directory domain dfs windows-server-2008-r2

我需要你的帮助。我已经为此苦苦挣扎了几个月,我在网上找到的任何东西都没有帮助我。问题是,域计算机有时会指向不同站点中不正确的域控制器。我有两个通过 VPN 连接的站点:站点 A带有两个域控制器,站点 B带有一个域控制器。这是我目前的配置:

网络配置

Site-A 中的计算机通常连接到 SRV-1 或 SRV-2(它们应该连接),但 Site-B 中的计算机很少连接到 SRV-3。站点之间的 ADSL 连接速度非常慢,因此连接到错误的站点会使客户端几乎无法使用。

所有 DC 也是 DFS 服务器。最大的缺点是,当客户端连接到错误的 DC 时,它们也会连接到错误的 DFS 服务器,并且只将错误站点中的服务器列为可用的 DFS 服务器。

SRV-1 上有一个 WINS 服务器,所有机器都将其 WINS 客户端指向 192.168.0.70。WINS 记录似乎没问题:

SRV-1 上的 WINS 记录

我还查看了所有服务器上的 DNS 记录,它们似乎是正确的。服务器位于 AD 站点和服务中的正确站点中,并且它们已分配了正确的子网。所有服务器都在 NTDS 设置中相互连接(双向)。

我所做的一些观察:

站点 A 中的 SRV-1 (192.168.0.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator>nltest /DSGETSITE
Site-A
The command completed successfully

C:\Users\Administrator>nltest /DSGETDC:DOMAIN
           DC: \\SRV-1
      Address: \\192.168.0.70
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator>nltest /dsgetsitecov
Site-A
The command completed successfully
Run Code Online (Sandbox Code Playgroud)

站点 A 中的 SRV-2 (192.168.0.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETSITE
Site-A
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETDC:DOMAIN
           DC: \\SRV-2
      Address: \\192.168.0.71
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /dsgetsitecov
Site-A
The command completed successfully
Run Code Online (Sandbox Code Playgroud)

Site-B 中的 SRV-3 (192.168.2.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETSITE
Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETDC:DOMAIN
           DC: \\SRV-3
      Address: \\192.168.2.70
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-B
Our Site Name: Site-B
        Flags: GC DS LDAP KDC WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /dsgetsitecov
Site-B
The command completed successfully
Run Code Online (Sandbox Code Playgroud)

站点 B (192.168.2.0/24) 中的客户端 PC:

C:\WINDOWS\system32>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-2'.
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\WINDOWS\system32>nltest /DSGETSITE
Site-A
The command completed successfully

C:\WINDOWS\system32>nltest /DSGETDC:DOMAIN
           DC: \\SRV-2
      Address: \\192.168.0.71
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully
Run Code Online (Sandbox Code Playgroud)

请注意 DSGETSITE 和 DSGETDC 在客户端 PC 上返回错误的值。

有趣的是,它每天都在变化,客户决定将自己指向哪里。我试过重新启动客户端,它没有帮助。我试过一一重启服务器,没有区别。没有一个服务器是多宿主的。

服务器为 Windows Server 2008 R2 和客户端 Win7 Pro / Win10 Pro。

任何帮助都感激不尽!

Ale*_*v95 3

好吧,我明白了。最终是网络问题;无需对域控制器进行任何更改。我已经为 VPN 配置了策略路由,但我忘记指定如何确定数据包的优先级。我为 LAN 内流量添加了一条额外的策略路由,并为其分配了 cs4 的 DSCP 值。对于隧道路线,我给出了 cs5。我对DSCP不熟悉,但我知道数字越小,路由越重要(4和5只是随机数)。下面是我的 ZyXEL ZyWall 路由器上的最终配置的屏幕截图(希望您欣赏绘画艺术):

在此输入图像描述

我有点明白为什么这解决了我的问题:现在的主要优先事项是将数据包发送到本地网络,然后才通过 VPN。我还是觉得有点混乱。是否有可能,如果服务器和客户端位于不同的网络中,服务器看不到客户端的 IP,而是看到其中一台路由器的 IP,从而无法判断 IP 地址属于哪个站点?我很好奇找到进一步的解释。

感谢所有帮助过我的人,我很感激:)