命名新的Active Directory林 – 为什么不推荐水平分割DNS?

希望我们都知道 命名Active Directory林的build议是什么,它们非常简单。 也就是说,它可以用一句话来概括。

使用现有注册域名的子域名,并select一个不会在外部使用的域名。 例如,如果我要合并并注册hopelessn00b.com域,我的内部AD林应命名为internal.hopelessn00b.comad.hopelessn00b.comcorp.hopelessn00b.com

避免使用“虚假” 域名或单标签域名是非常有说服力的理由,但是我很难find同样令人信服的理由来避免使用根域( hopelessn00b.com )作为我的域名并使用子域名如corp.hopelessn00b.com代替。 真的,我似乎可以find的唯一理由是从内部访问外部网站需要一个A name DNSlogging和inputwww. 在浏览器的网站名称前面,就问题而言,这是相当“唔”的。

那么,我错过了什么? 为什么使用ad.hopelessn00b.com作为我的活动目录森林名称而不是hopelessn00b.com

只是为了纪录,这真的是我的雇主需要说服力 – 老板的人回来了,在给我开始创build一个名叫corp.hopelessn00b'semployer.com的新的AD森林给我们的内部networking之后,他想要坚持一个名为hopelessn00b'semployer.com的AD林(与我们的外部注册域相同)。 我希望能得到一些令人信服的理由或理由,认为最好的做法是更好的select,所以我可以说服他…因为看起来比放弃和/或find新工作更容易,至less此时此刻。 现在,“微软最佳实践”和内部访问公司网站似乎并没有削减,我真的 真的希望这里的某个人更有说服力。

    这么多代表有。 来到我的宝贝。

    好的,微软很好的logging了你不应该使用水平分割(split-horizo​​n),或者你已经连接了很多次的组合TLD(大声喊出我的博客!)。 这有几个原因。

    1. 您在上面指出的www问题。 讨厌,但不是一个交易断路器。

    2. 它迫使你维护所有面向内部的公用服务器的重复logging,而不仅仅是wwwmail.hopelessnoob.com是一个常见的例子。 在一个理想的情况下,您可以为mail.hopelessnoob.compublicwebservice.hopelessnoob.com这样的东西build立一个单独的外围networking。 通过一些configuration, 如具有内部和外部接口的ASA ,您无论是需要内部NAT还是水平分割DNS 但是对于具有合法外围networking的大型组织来说,您的面向networking的资源并不落后于发夹式NAT边界 -这导致不必要的工作。

    3. 想象一下这种情况 – 你是hopelessnoob.com内部和外部。 你有一个你与之合作的公司叫做example.com ,他们也做同样的事情 – 在他们的AD内部和他们的可公开访问的DNS名称空间内部进行水平分割。 现在,您需要configuration一个站点到站点的VPN,并希望信任的内部身份validation能够穿越隧道,同时访问其外部公共资源以通过Internet访问。 如果没有令人难以置信的复杂的策略路由或保存自己的内部DNS区域副本,这几乎是不可能的 – 现在,您只是创build了一组额外的DNSlogging来维护。 所以你不得不在你的端处理结束,策略路由/ NAT,以及其他各种欺骗。 (我实际上是在这种情况下inheritance了我的AD)。

    4. 如果您部署DirectAccess ,则会大大简化您的名称parsing策略 – 对于其他拆分隧道VPN技术来说也是如此。

    其中有些是边缘情况,有些则不是,但都很容易避免。 如果你有能力从一开始就做到这一点,不妨做正确的做法,以免在十年内遇到这种情况。

    这个陈述:“真的,我似乎可以find的唯一理由是,从内部访问外部网站需要一个SRV DNSlogging,并在浏览器中inputwww。在网站名称前”是不正确的。

    这意味着您需要在AD DNS服务器上保留所有公共logging的副本,这可能会导致问题,特别是如果您没有正确地执行操作 – 错过某些内容等。如果有人想要访问ftp.company。 com,但你忘了在内部DNS中创build别名(或没有正确自动化),内部人员根本无法访问公共FTP站点。

    在您链接到的问题中,这非常充实: Windows Active Directory命名最佳实践?

    如果维护DNS区域的多个副本是一个容易的问题,你永远无法正确解决,那么我想你可以做你想做的事情。 直到MS改变的东西,打破它。 你可以按照他们的build议。

    我不太在乎代表今天创造一个长的答案…所以我会保持简短。

    我以前用split-dns很好,并且多次实现它,直到Evan和Mark相信我。 老实说,这不可能完成…它可以,有些可能会很好(尽pipe开销和工作已经完成了)。

    几年前,我发现了两个具体的东西,那就是坚决不使用它:

    1. 就像你在你的问题中指出的那样,你只是不能让内部用户通过域名进入你的外部网站。 不要问为什么这是一个很大的问题,但我们有内部用户会得到生气,只需input一个没有www的浏览器的域名将不会带来实际的网站,因为域logging对应于AD域并不是一个万能的网站,不能在内部。
    2. Exchange问​​题 – Exchange自动发现可能无法获得证书,并会提示错误。 这可能发生在内部和外部。 当我们在Exchange组织中开始使用“外部森林邮箱”时,这变得更加明显,他们没有看到与我们一样的内部DNS。

    希望有所帮助。