![什么是 Active Directory 域服务以及它如何工作?](https://linux22.com/image/588478/%E4%BB%80%E4%B9%88%E6%98%AF%20Active%20Directory%20%E5%9F%9F%E6%9C%8D%E5%8A%A1%E4%BB%A5%E5%8F%8A%E5%AE%83%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
这是一个典型问题有关 Active Directory 域服务 (AD DS)。
什么是 Active Directory?它有什么作用?如何工作?
Active Directory 如何组织:林、子域、树、站点或 OU
我发现自己几乎每天都在解释一些我认为是常识的东西。希望这个问题能成为大多数基本 Active Directory 问题的典型问答。如果您觉得可以改进这个问题的答案,请随意编辑。
答案1
什么是 Active Directory?
Active Directory 域服务是 Microsoft 的目录服务器。它提供身份验证和授权机制,以及可部署其他相关服务(AD 证书服务、AD 联合服务等)的框架。它是一个LDAP包含对象的符合标准的数据库。最常用的对象是用户、计算机和组。这些对象可以根据任意数量的逻辑或业务需求组织成组织单位 (OU)。组策略对象 (GPO)然后可以链接到 OU,以集中整个组织内各种用户或计算机的设置。
当人们说“Active Directory”时,他们通常指的是“Active Directory 域服务”。值得注意的是,还有其他 Active Directory 角色/产品,例如证书服务、联合服务、轻量级目录服务、权限管理服务等。此答案专门指 Active Directory 域服务。
什么是域?什么是林?
森林是安全边界。独立森林中的对象无法相互交互,除非每个独立森林的管理员创建相信之间。例如,的企业管理员帐户domain1.com
通常是林中权限最高的帐户,但在名为的第二个林中,它将没有任何权限domain2.com
,即使这两个林位于同一个 LAN 中,除非存在信任关系。
如果您有多个不相交的业务部门或需要单独的安全边界,则需要多个林。
域是管理边界。域是林的一部分。林中的第一个域称为林根域。在许多中小型组织(甚至一些大型组织)中,您只会在一个林中找到一个域。林根域定义林的默认命名空间。例如,如果新林中的第一个域名为domain1.com
,则该域为林根域。如果您有业务需要子域,例如芝加哥的分支机构,您可以将子域命名为chi
。完整限定域名 (FQDN)子域的将是chi.domain1.com
。您可以看到子域的名称是前面加上的林根域的名称。这通常是它的工作原理。您可以在同一个林中拥有不相交的命名空间,但那是另一个完全不同的麻烦。
在大多数情况下,您会想尽一切可能拥有一个 AD 域。这简化了管理,而且现代版本的 AD 可以非常轻松地根据 OU 委派控制,从而减少了对子域的需求。
我可以随意命名我的域名,对吗?
并非如此。dcpromo.exe
处理将服务器升级为 DC 的工具并非万无一失。它确实会让你在命名方面做出错误的决定,所以如果你不确定的话,请注意本节。(编辑:dcpromo 已弃用在 Server 2012 中。使用Install-ADDSForest
PowerShell cmdlet 或从服务器管理器安装 AD DS。
首先,不要使用虚构的顶级域名,如 .local、.lan、.corp 或任何其他垃圾。这些顶级域名不是保留。ICANN 目前正在出售 TLD,因此您mycompany.corp
今天使用的域名明天可能实际上属于某个人。如果您拥有mycompany.com
,那么明智的做法是使用internal.mycompany.com
或之类的ad.mycompany.com
名称作为您的内部 AD 名称。如果您将其用作mycompany.com
外部可解析的网站,则应避免将其也用作您的内部 AD 名称,因为您最终会得到一个裂脑 DNS。
域控制器和全局目录
响应身份验证或授权请求的服务器是域控制器 (DC)。在大多数情况下,域控制器将保存全局目录全局目录 (GC) 是全部林中的域。它是直接可搜索的,这意味着通常可以在 GC 上执行跨域查询,而无需引用目标域中的 DC。如果在端口 3268(如果使用 SSL,则为 3269)上查询 DC,则查询的是 GC。如果在端口 389(如果使用 SSL,则为 636)上查询,则使用标准 LDAP 查询,并且存在于其他域中的对象可能需要转诊。
当用户尝试使用其 AD 凭据登录已加入 AD 的计算机时,经过加盐和哈希处理的用户名和密码组合将发送到登录的用户帐户和计算机帐户的 DC。是的,计算机也会登录。这很重要,因为如果 AD 中的计算机帐户发生某些事情,例如有人重置或删除了帐户,您可能会收到一条错误消息,提示计算机和域之间不存在信任关系。即使您的网络凭据没有问题,计算机也不再被信任可以登录域。
域控制器可用性问题
我听到“我有一个主域控制器 (PDC),并且想要安装一个备份域控制器 (BDC)”的频率比我想象的要高得多。PDC 和 BDC 的概念随着 Windows NT4 的出现而消亡。PDC 的最后堡垒是 Windows 2000 过渡混合模式 AD,当时您仍然拥有 NT4 DC。基本上,除非您支持从未升级过的 15 年以上的安装,否则您实际上没有 PDC 或 BDC,您只有两个域控制器。
多个 DC 能够同时响应来自不同用户和计算机的身份验证请求。如果其中一个发生故障,其他 DC 将继续提供身份验证服务,而不必像 NT4 时代那样将其中一个设置为“主”。最佳做法是至少每个域有两个 DC。这些 DC 都应拥有 GC 的副本,并且都应是 DNS 服务器,并且还拥有域的 Active Directory 集成 DNS 区域的副本。
FSMO 角色
“那么,如果没有 PDC,为什么只有一个 DC 可以拥有 PDC 角色?”
我经常听到这种说法。PDC 模拟器角色。它与 PDC 不同。事实上,5 个灵活的单主操作角色 (FSMO)。这些也被称为操作主角色。这两个术语可以互换。它们是什么?它们做什么?好问题!这 5 个角色及其功能如下:
域名命名大师- 每个林只有一个域命名主机。域命名主机确保在将新域添加到林时它是唯一的。如果担任此角色的服务器处于脱机状态,您将无法对 AD 命名空间进行更改,包括添加新子域等操作。
架构大师- 一个林中只有一个架构操作主机。它负责更新 Active Directory 架构。需要此操作的任务(例如为充当 DC 的新版本的 Windows Server 准备 AD 或安装 Exchange)需要修改架构。这些修改必须从架构主机完成。
基础设施大师- 每个域有一个基础结构管理员。如果您的林中只有一个域,那么您实际上不必担心这一点。如果您有多个林,那么您应该确保此角色不会被作为 GC 持有者的服务器持有,除非林中的每个 DC 都是 GC。基础结构主机负责确保正确处理跨域引用。如果将一个域中的用户添加到另一个域中的组,则相关域的基础结构主机将确保正确处理该操作。如果此角色位于全局目录中,则它将无法正常运行。
RID 主服务器- 相对 ID 主机 (RID 主机) 负责向 DC 颁发 RID 池。每个域都有一个 RID 主机。AD 域中的任何对象都有一个唯一的安全标识符 (SID)。它由域标识符和相对标识符组合而成。给定域中的每个对象都具有相同的域标识符,因此相对标识符使对象具有唯一性。每个 DC 都有一个要使用的相对 ID 池,因此当该 DC 创建新对象时,它会附加一个尚未使用的 RID。由于 DC 发出了不重叠的池,因此每个 RID 应在域的整个生命周期内保持唯一。当 DC 在其池中剩余约 100 个 RID 时,它会向 RID 主机请求一个新池。如果 RID 主机长时间处于脱机状态,则对象创建可能会失败。
PDC 模拟器- 最后,我们来谈谈最容易被误解的角色,即 PDC 仿真器角色。每个域都有一个 PDC 仿真器。如果身份验证尝试失败,则将其转发到 PDC 仿真器。如果密码在一个 DC 上更新但尚未复制到其他 DC,则 PDC 仿真器将充当“决胜局”。PDC 仿真器也是控制域内时间同步的服务器。所有其他 DC 都从 PDC 仿真器同步其时间。所有客户端都从他们登录的 DC 同步其时间。重要的是,所有时间之间的时间差应保持在 5 分钟以内,否则 Kerberos 就会中断,当这种情况发生时,每个人都会哭泣。
需要记住的重要一点是,这些角色运行的服务器并不是一成不变的。移动这些角色通常很简单,因此虽然某些 DC 比其他 DC 做得更多,但如果它们短时间停机,一切通常都会正常运行。如果它们长时间停机,很容易透明地转移角色。这比 NT4 PDC/BDC 时代好多了,所以请不要再用那些旧名字称呼你的 DC 了。:)
那么,嗯...如果 DC 可以彼此独立运作,它们如何共享信息?
当然是复制默认情况下,属于同一站点中同一域的 DC 将以 15 秒的间隔相互复制数据。这确保一切都相对最新。
有一些“紧急”事件会触发立即复制。这些事件包括:帐户因登录失败次数过多而被锁定、域密码或锁定策略发生更改、LSA 机密发生更改、DC 计算机帐户上的密码发生更改或 RID 主机角色转移到新的 DC。任何这些事件都会触发立即复制事件。
密码更改介于紧急和非紧急之间,并以独特的方式处理。如果在 上更改了用户的密码DC01
,并且用户尝试DC02
在复制发生之前登录正在对其验证身份的计算机,您会认为这会失败,对吗?幸运的是,这种情况不会发生。假设这里还有第三个 DC,称为 ,DC03
它担任 PDC 仿真器角色。当DC01
使用用户的新密码更新 时,该更改也会立即复制到DC03
。当 上的身份验证尝试DC02
失败时,DC02
会将该身份验证尝试转发到DC03
,以验证它确实是有效的,并且允许登录。
让我们讨论一下 DNS
DNS 对于 AD 的正常运行至关重要。Microsoft 官方的说法是,只要设置正确,任何 DNS 服务器都可以使用。如果您尝试使用 BIND 来托管您的 AD 区域,那么您就太危险了。说真的。坚持使用 AD 集成 DNS 区域,如果必须,对其他区域使用条件或全局转发器。您的所有客户端都应配置为使用您的 AD DNS 服务器,因此在这里具有冗余性非常重要。如果您有两个 DC,请让它们都运行 DNS,并将您的客户端配置为使用它们两者进行名称解析。
此外,如果您有多个 DC,则需要确保它们不会首先列出自己以进行 DNS 解析。这可能会导致它们处于“复制岛”它们与 AD 复制拓扑的其余部分断开连接,无法恢复。如果您有两台服务器DC01 - 10.1.1.1
和DC02 - 10.1.1.2
,则它们的 DNS 服务器列表应按如下方式配置:
服务器:DC01(10.1.1.1)
主 DNS - 10.1.1.2
辅助 DNS - 127.0.0.1
服务器:DC02(10.1.1.2)
主 DNS - 10.1.1.1
辅助 DNS - 127.0.0.1
好吧,这看起来很复杂。我为什么要使用 AD?
因为一旦你知道自己在做什么,你的生活就会变得无比美好。AD 允许集中管理用户和计算机,以及集中管理资源访问和使用。想象一下办公室中有 50 个用户的情况。如果您希望每个用户在每台计算机上都有自己的登录名,则必须在每台 PC 上配置 50 个本地用户帐户。使用 AD,您只需创建一次用户帐户,默认情况下它可以登录域中的任何 PC。如果您想加强安全性,则必须执行 50 次。有点像噩梦,对吧?再想象一下,您有一个文件共享,只希望其中一半的人可以访问。如果您不使用 AD,您要么需要在服务器上手动复制他们的用户名和密码以提供无缝访问,要么必须创建一个共享帐户并为每个用户提供用户名和密码。一种方法意味着您知道(并且必须不断更新)用户的密码。另一种方法意味着您没有审计线索。不好,对吧?
设置 AD 后,您还可以使用组策略。组策略是一组链接到 OU 的对象,这些对象定义这些 OU 中的用户和/或计算机的设置。例如,如果您希望使“关机”不在 500 台实验室 PC 的开始菜单上,您可以在组策略中的一个设置中完成此操作。您无需花费数小时或数天手动配置正确的注册表项,只需创建一次组策略对象,将其链接到正确的 OU 即可,无需再考虑它。可以配置数百个 GPO,组策略的灵活性是 Microsoft 在企业市场占据主导地位的主要原因之一。
答案2
笔记:此答案已从另一个问题合并到此问题中,该问题询问了林、子域、树、站点和 OU 之间的区别。这最初并不是针对此特定问题而写的答案。
森林
当您需要安全边界时,您需要创建新林。例如,您可能有一个希望使用 AD 管理的外围网络 (DMZ),但出于安全原因,您不希望内部 AD 在外围网络中可用。在这种情况下,您需要为该安全区域创建一个新林。如果您有多个不信任彼此的实体,您可能也希望进行这种分离 - 例如,一个包含独立运营的个体企业的空壳公司。在这种情况下,您希望每个实体都有自己的林。
子域
实际上,您不再需要这些了。有几个很好的例子说明何时需要子域。一个遗留原因是由于不同的密码策略要求,但这不再有效,因为自 Server 2008 以来就有细粒度密码策略可用。如果您所在的区域网络连接极差,并且您想大幅减少复制流量,您实际上只需要一个子域 - 具有卫星 WAN 连接的游轮就是一个很好的例子。在这种情况下,每艘游轮都可以是自己的子域,以便相对独立,同时仍然能够利用与同一家公司的其他域位于同一林中的优势。
树
这是个奇怪的现象。当您想要保持单个林的管理优势,但又想在新的 DNS 命名空间中拥有一个域时,可以使用新树。例如,corp.example.com
可能是林根,但您可以ad.mdmarra.com
在同一个林中使用新树。子域的相同规则和建议也适用于此 - 谨慎使用它们。它们通常在现代 AD 中是不需要的。
地点
站点应代表网络中的物理或逻辑边界。例如,分支机构。站点用于智能地为不同区域的域控制器选择复制伙伴。如果不定义站点,则所有 DC 将被视为位于同一物理位置并以网状拓扑进行复制。实际上,大多数组织在逻辑上都配置为中心辐射型,因此应配置站点和服务以反映这一点。
其他应用程序也使用站点和服务。DFS 使用它来进行命名空间引用和复制伙伴选择。Exchange 和 Outlook 使用它来查找要查询的“最近”全局目录。加入域的计算机使用它来定位要进行身份验证的“最近”DC。如果没有它,您的复制和身份验证流量就像狂野西部一样。
组织单位
这些应该以反映您的组织对权限委派和组策略应用的需求的方式创建。许多组织每个站点都有一个 OU,因为他们以这种方式应用 GPO - 这很愚蠢,因为您也可以从站点和服务将 GPO 应用于站点。其他组织按部门或职能划分 OU。这对许多人来说很有意义,但实际上 OU 设计应该满足您的需求并且相当灵活。没有“一种方法”可以做到这一点。
North America
一家跨国公司可能拥有、Europe
、Asia
、的顶级 OU South America
,Africa
以便他们可以根据大洲委派管理权限。如果这对其他组织更有意义,他们可能拥有Human Resources
、Accounting
、等顶级 OU。其他组织的政策需求最少,并使用只有和 的Sales
“平面”布局。这里真的没有正确的答案,只要能满足您公司的需求就行。Employee Users
Employee Computers