选择诸如 mycompany.local 之类的本地域名与诸如 mycompany.com 之类的公开注册域名(假设您的组织已注册公共名称)的优缺点是什么?你什么时候会选择一个而不是另一个?
更新
感谢 Zoredache 和 Jay 向我指出这个问题,这些问题得到了最有用的回答。这也让我找到了这篇Microsoft Technet 文章,其中指出:
最好使用在 Active Directory 命名空间中向 Internet 机构注册的 DNS 名称。只有注册的名称才能保证是全球唯一的。如果另一个组织后来注册了相同的 DNS 域名,或者如果您的组织与使用相同 DNS 名称的其他公司合并、收购或被其他公司收购,则这两个基础架构无法相互交互。
笔记
不建议使用单个标签名称或未注册的后缀,例如 .local。
结合 mrdenny 的建议,我认为正确的方法是使用:
- 永远不会公开使用的注册域名(例如 mycompany.org、mycompany.info 等)。
- 永远不会公开使用的现有公共域名的子域(例如 corp.mycompany.com)。
“从未公开使用”部分是一项业务决策,因此最好获得公司中有权保留域名和子域的人员的签字。例如,您不想使用营销部门稍后想要用于某些公共营销活动的注册名称或子域。
以下是我对类似问题的回答摘录: 专用网络的顶级域/域后缀?.
微软推荐了
互联网上不可用的专用注册域名
用作 Active Directory 林根域名的公共域名的子域
自从他们在 Windows 2000 Server 中发布 Active Directory 以来。对我来说,使用公共域名的子域的主要好处是命名空间的一致性,从而减少了您、其他管理员和用户必须记住的事情。
将您公司注册域的子域用于您不希望在 Internet 上提供其名称的内部机器。(然后,当然,只在您的内部 DNS 服务器上托管这些名称。)以下是虚构的 Example Corporation 的一些示例。
面向 Internet 的服务器:
www.example.com
mail.example.com
dns1.example.com
内部机器:
dc1.corp.example.com
dns1.corp.example.com
client1.corp.example.com
我用“corp”来表示这个子域描述了内部公司网络上的机器,但是你可以在这里使用任何你想要的东西,比如“internal”:client1.internal.example.com。
使用相同的域会使事情变得困难。
不幸的是,使用 .local 也会导致问题。特别是 .local 用于Bonjour /Zeroconf。如果您使用 .local tld,您将需要调整任何 OSX 机器或运行 avahi 的 Linux 主机上的设置。
在有点相关的问题“专用网络的顶级域”中。关于不应该使用什么有很多建议,但对于私有网络应该使用什么 TLD 并没有真正达成共识。
除非我弄错了,如果我弄错了,请纠正我,但我不相信 IETF、IANA 或任何其他标准机构允许将 .local 用于任何事情。
您真的不应该使用公共域名作为您的 AD 名称。
您会发现的第一个问题是访问您自己的公共网站。您的公共站点名称与您的内部站点名称相匹配。因此,当您
nslookup
为您执行操作时,mycompany.com
您会获取内部 AD 服务器的 IP 地址,而不是公司网站的公共 IP。如果您为公共站点设置了 FTP 名称,您也将无法找到该名称。其中一些解决方法是将公共名称和 IP 放入您的内部 DNS 中,以便您可以从防火墙内部访问它们,但这意味着您现在必须在公共端发生任何变化时管理两个 DNS 场。
将它们分开的另一个原因是攻击者不知道您的内部域名。不知道域名只是攻击者需要解决的另一个难题。
如果您不想使用外部命名空间,那么您的任何想法(例如 corp.mycompany.com 或 mycompany.net)都可以正常工作并且很常见。我个人更喜欢 .net 选项而不是子域,但我已经做过很多次了。
上面提到的 TechNet 文章比这更早;
在这里,微软一贯建议为 Active Directory 域名使用私有命名空间。您还将找到有关使用公开注册域名的缺点和问题的项目符号详细信息。
早在 2000 年,就有一个 IETF Internet-Draft 题为DNS Top Level Domain For Private Networks,建议使用
.pri
:不知道结果如何,但这是一个很好的主意。
(更新:IETF Tracker 说:草稿从未走得更远。)