内部DNS委托给外部主机

我们一直面临内部DNS代表团的问题。

以下是对我们的架构和问题的描述:

build筑

域1

  • DHCPDNS1和DHCPDNS2(Windows Server 2012)

域2

  • extDNS1和extDNS2(Windows Server 2003) – 外部DNS
  • intDNS1和intDNS2(Windows Server 2003) – Domain2服务器的内部DNS
  • srv1和srv2(Windows Server 2003) – Web服务器

以下是我们的架构的描述:我们的环境中有两个Active Directory域(森林)。 首先是“Domain1”(我们用于通用服务器和用户/客户端机器)和“Domain2”(我们用于Web开发服务器)。 Domain2还包括我们的外部DNS“extDNS1”和“extDNS2”。 我们有很多外部托pipe的网站(“Domain1”和“Domain2”以外),但需要在“Domain2”的networking服务器(“srv1”和“srv2”)内部引用,以便与其他网站和门户。 这些网站使用“extDNS1”和“extDNS2”作为他们的DNS。 为了使“srv1”和“srv2”能够引用这些外部服务器,我们在服务器“intDNS1”和“intDNS2”的域2的内部DNS中为这些域设置了代理。 这些代表指向我们在“域1”中的服务器“DHCPDNS1”和“DHCPDNS2”以获得外部DNS地址。 “DHCPDNS1”和“DHCPDNS2”是我们的DHCP服务器。

直到我们在Windows Server 2008上有“DHCPDNS1”和“DHCPDNS2”,这个设置完美运行。我们最近将这两台服务器迁移到了Windows Server 2012,它们使用了与之前相同的DHCP和DNS设置。 迁移后,在“srv1”或“srv2”上,我们无法parsing代理指向“DHCPDNS1”和“DHCPDNS2”的域的IP地址。

以下是一些观察和我们尝试的一些事情:

  1. 如果我们在Domain1或DHCPDNS1或DHCPDNS2上的任何客户机或服务器上ping这些子域,则可以检索外部IP地址,然后将其存储在其DNSparsing器caching中。 只要这些logging存在于DHCPDNS1或DHCPDNS2的parsing器caching中,srv1和srv2(以及Domain2中的所有服务器)就能够ping这些子域。 当DHCPDNS1和DHCPDNS2上的parsing器cachinglogging过期时,来自Domain2服务器的ping无法正常工作。 请记住,这只适用于具有指向DHCPDNS1和DHCPDNS2的委托的域。 同样,我们的目标是Domain2中的服务器能够检索外部IP地址,这是不可能的,因为外部DNS在同一个域中。

  2. 在DHCPDNS1上将“dynamic更新”从“无”更改为“不安全且安全”,Domain2服务器立即能够通过DHCPDNS1和DHCPDNS2成功路由其ping请求。 这工作了7天,现在所有Domain2服务器上的ping请求都无法parsing。 我不确定在默认情况下,DHCPDNS1设置为7天是否与老化有关。

希望有人能够帮助在这里投下一些光。 再一次,我们的目标是Domain2中的所有服务器(包括外部DNS)必须能够ping外部地址(使用extDNS1和extDNS2作为其DNS)。 因此,域Domain2中的内部DNS必须指向外部IP地址。

我们将DHCPDNS1和DHCPDNS2上的转发设置为8.8.8.8,现在Domain2中的所有服务器都可以parsing这些地址。