针对托pipe服务提供的Active Directorydevise

我经营一家小型托pipe服务公司,作为偿还学生贷款的一种手段。 我拥有一些位于数据中心的Windows机架式服务器。 configuration是通过我在C#中编写的一些工具完成的,这些工具配合WMI和ADSI为我的客户端configurationActive Directory,IIS和Exchange。

[1]我应该说“虚拟主机”,但我提供更多的服务。

到目前为止,这一切都行得通,但是当我开始的时候,我决定在内部使用相同的域名。 “Foohost.com”既是我的AD目录名,也是我公司网站的域名。 AD DNS服务器已公开。

当我扩展到两台服务器并build立它们之间的专用链接时(使用192.168.xx频段),当因特网上的人试图查找我的服务器的地址时,DNS服务器正在返回这些私有IP地址,所以事情就开始了。

现在我已经阅读了关于Active Directorydevise的TechNet上的一些文章,他们build议在Active Directory域中使用“internal.foohost.com”,在外部使用“foohost.com”。 这对我来说是有道理的,但是当涉及到正确设置我的DNS服务器时,我感到困惑:

我正在使用Server 2008上的Microsoft DNS服务器,该服务器不支持ACL或对recursion进行更严格的控制。 DNS服务器对每个网站或客户的域名都有一个区域文件(有时候是AD集成的,有时是使用文件系统的)。 我不知道是否应该使用一个单独的,专用的DNS服务器(我不能真正负担得起),只是为了托pipe我的客户端的区域文件而禁用recursion,并严格使用AD的DNS服务器作为AD域区域文件,启用了recursion(因此域中的服务器可以parsingInternet DNS条目),但通过防火墙将其与公共密封。

这是另一回事:我没有适当的防火墙。 我只是在我的所有服务器上使用Windows防火墙。

你真的应该保持DNS的Active Directory和DNS公开解决您的托pipe域在不同的DNS服务器。 您已经看到,Microsoft DNS服务器虽然适用于为Active Directory提供DNS并为客户端计算机recursion名称parsing的“防火墙”职责,但缺less您可能需要在Internet DNS服务器中的function(ACL是你已经提到的大一个)。

我不会自己托pipe任何DNS,或者build议我的客户这样做。 第三方DNS托pipe总是我走的路。 话虽如此,如果您为了成本/控制的原因而考虑自己托pipe您的DNS,您可以考虑运行一些运行BIND的小型Linux虚拟机以供公共DNS使用。

编辑:

这里有一些关于域名重新命名的讨论: https : //web.archive.org/web/1/http : //techrepublic%2ecom%2ecom/5208-6230-0.html?forumID=102&threadID=229757&start=0

我已经在小型环境(低于20台PC,2个DC)和实验室场景中进行了域名重命名,并且没有任何问题。 在techrepublic.com链接相关的经验几乎镜像我的。 如果你正在处理less量的域成员服务器计算机,我认为这是非常可行的。 (很显然,先在实验室环境中进行testing。)

最好的解决scheme当然是使用单独的DNS服务器来为你的外部和内部域,所以要避免它们之间的冲突; 但是如果你买不起其他服务器,你必须坚持使用你的服务器。

虚拟化呢? 您可以轻松设置虚拟机来托pipe您的公共DNS服务器(只有这样做); 仅启用了DNS服务的Windows系统只需要很less的资源。

如果你想走这条路,首先你需要重新命名你的AD域:

http://technet.microsoft.com/en-us/library/cc786120(WS.10).aspx http://technet.microsoft.com/en-us/library/cc794869(WS.10).aspx

我build议使用“foohost.local”(或“foohost.internal”,“foohost.dom”,“foohost.private”等),以消除内部和外部域名之间的依赖关系。

当您成功完成域名重命名操作时,您将可以正确pipe理“foohost.com”的单独DNS区域。

您可以禁用DNS中某些适配器的注册,这将解决这个问题。

域名重新命名是一个重大考验,而不是我会推荐的。 你的AD是company.com和你的互联网是company.com绝对没有错。 这是一个非常常见的设置。

一般来说,你有互联网独立的DNS。 也许看看你的互联网面临的DNS外包的东西? 它相对便宜,它将免除你的负担/责任。

我build议使用一个单一的命名空间的域,所有的服务器将不得不用作他们的FQDN。 否则,你会发现,随着你的成长,你将不得不将DC添加到每个域以获得冗余。

请注意,域成员资格不一定与您的应用程序有关系。 您可以调用您的域“datacenter.foo.com”,并使用绑定来为您的外部域提供服务。 通过这样做,您也可以从位置pipe理GPO。

用微乎其微的眼光阅读微软有关这些主题的文档,因为他们通常认为你有一个大而扁平的networking。