Windows客户端连接到DC在错误的网站?

好,所以站点被广网隔开

Domain : production.contoso.local SITE A Site network: 192.168.0.0/16 Site DCs : DC1-SiteA, DC2-SiteA Client : serverA SITE B Site network: 172.16.0.0/16 Site DCS : DC1-SiteB, DC2-SiteB Client : serverB 

随机服务器似乎将域名parsing为另一个站点中的DC。

我将login到服务器A(192. *),并ping我们的域名“生产”,它将parsing到在不同的站点(DC1-SiteB,172.16.0.0/16)DC的IP,而另一方面,如果我使用完整的fqdn“production.contoso.com”来ping域名,然后我将parsing到正确的DC(DC1-SiteA,192.168.0.0/16)

如果我flushdns,然后情况逆转它自己,“生产”解决DC1-SiteA(192 *)和“production.contoso.com”解决DC1-SiteB(172. *)。

所有客户端和服务器都通过http://www.powershellmagazine.com/2013/04/23/pstip-get-the-ad-site-name-of-a-computer/通过正确的网站进行报告

DCDiags在所有DC上签出

所有的DNSlogging和_msdcs看起来都是正确的。

这是正常吗..?

如果域名在另一个站点parsing为DC,是否提取策略并对其进行身份validation,从而减缓login/重启时间?

我需要检查的任何其他途径?

您的问题是,ping命令不是Active Directory站点感知。 当您针对域的FQDN发出ping命令时,会针对返回所有DC的IP的名称发出简单的DNS查询。 然后从结果中select一个循环来实际用于ping。

你想通过ping域名来testing/完成什么? 如果只是检查服务器是否使用正确的域控制器进行身份validation,则我知道的最快捷的方法是使用命令提示符中的set命令。 查找LOGONSERVER环境variables。 多input一点,可以通过inputecho %LOGONSERVER%直接得到。

如果您需要考虑连接到域名的服务或应用程序,而这些服务或应用程序不能识别网站,则需要做更多的工作。 在我工作的一些公司中,我们做了一个超便宜的方法,就是在DNS中手动创build站点别名。 在你的情况下,你会在你的DNS服务器上创build4个额外的Alogging:

  • sitea.production.contoso.local – > <DC1-SiteA的IP>
  • sitea.production.contoso.local – > <DC2-SiteA的IP>
  • siteb.production.contoso.local – > <DC1-SiteB的IP>
  • siteb.production.contoso.local – > <DC2-SiteB的IP>

我们已经在我工作的一些公司做过这样的事情,例如通过LDAP进行AD集成的网站。 LDAP协议本身不是站点感知*。 因此,如果托pipe站点的服务器位于站点A中,并且您将LDAPconfiguration设置为使用域的FQDN,则可以select使用站点B中的一个DC。通过附加的DNSlogging,可以设置LDAPconfiguration改为使用sitea.production.contoso.local。 然后,只要您在添加/删除DC时保持这些logging的最新状态,就不需要重新configuration应用程序。

身份validation和活动目录通信将取决于您在AD站点和服务中设置的内容,而不依赖于DNS。 通过在您的networking上设置各种子网并将其分配到相应的站点,您可以控制域的AD通信量和复制拓扑。