我是服务器配置领域的新手,很难理解域是什么,尤其是在内部环境中。例如,我读过并被告知内部域的最佳命名约定是 domain_name.local。但是我不知道拥有域的目的和它的作用是什么?
我的第二个问题是,如果我有一个注册的域名(例如 example.com),它指向一个网站,使用域名 example.com 如何影响我在设置 Web 服务器和邮件服务器时使用相同的名称?
我不确定 Windows 和 Linux 中是否存在相同的术语,但是如果存在的话,我想知道这与 Linux 有何关系。
答案1
想象一下你负责管理一组计算机。我们再想象一下,你厌倦了只用 IP 地址来指代它们。假设你给了他们很酷的名字而是。现在您希望网络上的每台机器都能够通过名称相互找到。因此,您去设置一个 DNS 服务器,可以查询这些名称及其所属者的信息。
DNS 是分层的,因此在顶部(或树的根)有根 DNS 服务器(用“.”表示),然后有顶级域(.org、.com 等),然后是域和子域,依此类推无限地。因此,您需要将您的名称分组到一个容器中。此容器是您的域名命名空间。例如,假设您的域名是中土你的工作站是佛罗多(佛罗多.中土世界)并且您的服务器是甘道夫(甘道夫.中土世界)。
“内部域”和“外部域”之间的最大区别在于谁能够查询您的 DNS 服务器,从而了解有关您的域的所有信息。如果您已设置中土域,因为您和您的组织已经厌倦了使用 IP 地址来指代您的所有机器(请参阅 @JamesHannah 的回答,了解为什么这很烦人),那么您就不希望公众/互联网/世界与您的 DNS 服务器对话;因此在您的网络之外,甚至没有人知道您的域“存在”。在您的网络内部,您的所有机器都知道邮件服务器是刚铎.中土世界并且您的 DNS 服务器知道在哪里找到它。
“外部域名”是您希望公众/互联网/世界了解的域名……例如您的网站。因此,您从提供商处购买域名,他们会更改记录(或者如果您的 DNS 服务器是公开访问的,您可以自己更改),现在每个人都可以找到您的域名。如果您已经拥有示例网站你可以再次通过提供 DNS 服务的任何人或你自己提供 DNS 服务的人添加一个名为mail.example.org(使用 MX 记录),或者实际上您希望成为该命名空间一部分的任何内容。
正如 sysadmin1138 所指出的,这个概念是 Windows Active Directory 域的一部分,但并不包括它的全部内容。
我认为这实际上是一个关于 DNS 的问题。我一直很喜欢 Technet 的文章这里,但你可能会觉得它太长了。作为一名系统管理员,了解 DNS 是值得的。它是将互联网紧密结合在一起的粘合剂(嗯,还有 perl...)。
答案2
域名非常方便,因为它允许您使用单个命名空间来定位资源。即使在内部,这也非常有用。大多数公司只有几个外部可访问的地址和相当多的内部地址。使用公开可见的域(“example.com”)下的子域(“winserv023.hosting-nyc-usa.example.com”)可以轻松设置,并且不会与互联网上的其他任何内容发生冲突。
使用任意根 (“winserv023.companyname”) 有其自身的问题,即使它永远不会被世界看到。随着未来几年顶级域名的预期爆炸式增长,“companyname.” 可能是一个完全有效的顶级域名,这并非不可能。
DNS 域与 Windows Active Directory 域完全不同,尽管 AD 域确实使用 DNS 进行资源定位。DNS 域在 Linux 和 Windows 上的功能相同,并且遵循非常相似的术语。Windows DNS 和 Linux BIND DNS 在其文档中的术语用法略有不同,但最终它们都做同样的事情。
答案3
假设您了解域在互联网上的使用方式,那么最简单的方法是将本地域视为域的扩展。如今,DNS 是识别网络上主机的主要方式。所有 DNS 条目都必须位于域内。因此,域是必需的。
举例来说,我们公司网络上的所有计算机在公司内部域中都有 DNS 条目,就像我们的公共资源在我们的公共域中都有 DNS 条目一样。
答案4
因此,域名基本上只是一种通过名称而不是 IP 地址来引用资源(服务器/服务器组)的方式。
通过 IP 地址引用资源是不好的,原因显而易见,您无法更改资源的 IP 地址,除非更新引用该资源的所有配置。如果您使用 DNS 或某种零配置域名系统(例如 Bonjour),那么您只需更新域名和 IP 地址之间的映射即可指向新的物理资源。
显然,使用私有域名还是公共域名就像使用私有或公共 IP 地址一样。私有域名(例如“mailserver.local”或“pdns.mycorp”)意味着资源将仅可寻址内部。如果您希望某个内容可公开寻址,或者不想推出私有 DNS 基础设施,则需要购买并使用公共域名,以 .com 或 .net 或其他任何名称结尾的域名。
这基本上取决于你,你需要选择一个一致的、让你的 DNS 服务可靠的服务。它也是与平台无关的,你唯一需要担心的是你使用的 DNS 服务器/方法。我相信 Windows 部署往往主要使用 ActiveDirectory 作为 DNS 服务器,因为无论如何你都需要在 Windows 域中拥有一个。
在 *nix 上,传统的、值得尊敬的选择是 Bind,但其他 DNS 服务器也可用。