当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

作者:精品下载站 日期:2024-12-14 13:19:16 浏览:14 分类:玩电脑

如何在 Linux 上为 AD 创建域控制器


Linux 服务器上的域控制器?!不可能的!这种反应是合理的,尤其是对于那些第一次听到这个概念的人来说。事实证明,您不仅可以设置域控制器 Linux 服务器,而且还可以免费!

无论您是出于成本、标准化还是更环保、更精简的技术堆栈而选择 Linux,学习如何设置 Linux DC 对每个管理员来说都是一项好技能。

继续阅读以了解如何使用 Samba 作为可靠的域控制器 Linux 服务器。

扫描您的 AD,查找 930 多个被泄露的密码。下载 Specops Password Auditor,这是一款免费的只读工具,可识别与密码相关的漏洞。

先决条件

本教程将是一个实践演示。如果您想继续操作,请确保您有 Ubuntu 服务器。本教程将使用具有以下配置的 Ubuntu Server 22.04 LTS。

  • 主机名:oddjobs-dc
  • IP 地址:192.168.8.10
  • 域名:OJI.COM
  • FQDN:oddjobs-dc.oji.com

在Linux服务器上准备域控制器

满足所有先决条件后,您必须确保没有可能妨碍 DC 运行的默认操作系统设置。不用担心。这一步并不像听起来那么复杂。请按照以下步骤完成此任务。

设置 Hosts 文件条目

第一个任务是在本地 hosts (/etc/hosts) 文件中添加服务器的主机名和 FQDN 条目。

1. 首先,打开您首选的 SSH 客户端并登录到您的 Ubuntu 服务器。

2. 在文本编辑器(例如 nano)中打开 hosts(/etc/hosts) 文件。

sudo nano /etc/hosts

3. 删除将您的主机名或 FQDN 映射到除静态 IP 之外的任何 IP 的任何条目。例如,该服务器的静态 IP 地址是 192.168.8.10,因此如果存在该条目,请保留该条目。请参阅下面的示例。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

4. 接下来,添加一个条目来映射主机的 FQDN 和静态 IP 地址。在本教程中,服务器 FQDN 为 oddjobs-dc.oji.com,因此要添加的条目为:

192.168.8.10 oddjobs-dc.oji.com oddjobs-dc

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

5. 保存hosts(/etc/hosts) 文件并退出编辑器。

确认主机名和 FQDN 解析

运行以下命令以确认服务器的主机名以及 FQDN 是否解析为正确的 IP 地址。

# verify server FQDN
hostname -A

# verify FQDN resolves to your server IP address
ping -c1 oddjobs-dc.oji.com

如下所示,命令返回了预期的 FQDN 和 IP 地址。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

禁用网络名称解析服务

Ubuntu 有一个名为 systemd-resolved 的服务,它负责处理 DNS 解析请求。此服务不适合 Samba,您必须禁用它并手动配置 DNS 解析器。

1. 通过运行以下命令禁用 systemd-resolved 服务。

sudo systemctl disable --now systemd-resolved

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

2. 接下来,删除文件 /etc/resolv.conf 的符号链接。

sudo unlink /etc/resolv.conf

3. 在文本编辑器中创建新的 /etc/resolv.conf 文件。这个例子使用了nano。

sudo nano /etc/resolv.conf

4. 使用以下信息填充 /etc/resolv.conf 文件。将 192.168.8.10 替换为您服务器的 IP 地址,将 oji.com 替换为您的域名。将名称服务器 1.1.1.1 保留为后备 DNS 解析器,这是 Cloudflare 的公共 DNS 解析器。

# your Samba server IP Address
nameserver 192.168.8.10

# fallback resolver
nameserver 1.1.1.1

# your Samba domain
search oji.com

您的 /etc/resolv.conf 应类似于下面的屏幕截图。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

5. 保存文件并退出编辑器。

安装桑巴

完成服务器准备后,就可以安装 Samba 和其他所需的软件包来配置域控制器。

1. 首先,通过运行以下命令确保存储库缓存是最新的。

sudo apt-get update

2. 运行以下命令安装功能齐全的域控制器所需的软件包。

sudo apt install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools

3. 在“配置 Kerberos 身份验证”步骤中,输入大写的 DNS 域。在此示例中,默认领域域是 OJI.COM。突出显示“确定”,然后按 Enter 接受该值。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

4. 在下一个屏幕上询问您的领域的 Kerberos 服务器,输入服务器主机名并按 Enter 键。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

5. 在下一个屏幕上询问 Kerberos 领域的管理服务器,键入服务器主机名并按 Enter 键。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

6. 配置完成后,禁用不必要的服务(winbind、smbd 和 nmbd)。

sudo systemctl disable --now smbd nmbd winbind

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

7. 启用并激活 samba-ad-dc 服务。该服务是 Samba 充当 Active Directory 域控制器 Linux 服务器所需的服务。

# unmask the samba-ad-dc service
sudo systemctl unmask samba-ad-dc

# enable samba-ad-dc service
sudo systemctl enable samba-ad-dc

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

配置域控制器 Linux 服务器

使用 samba-tool 二进制文件,您现在可以在安装 Samba 时配置域控制器。 Samba-tool 是一个配置工具,用于与基于 Samba 的 AD 进行交互并配置其各个方面。

1. 为了更好地采取措施,请备份现有的 /etc/samba/smb.conf 和 /etc/krb5.conf 文件。

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo mv /etc/krb5.conf /etc/krb5.conf.bak

2. 运行以下命令将 Samba 提升为 Active Directory 域控制器 Linux 服务器。

-use-rfc2307 开关启用网络信息服务 (NIS) 扩展,允许 DC 适当管理基于 UNIX 的用户帐户。

sudo samba-tool domain provision --use-rfc2307 --interactive

3. 按如下所示回答提示。

  • 领域 - 该工具自动检测您的 Kerberos 领域。在此示例中,领域是 OJI.COM。按 Enter 接受默认值。
  • 域名 - 该工具自动检测 NetBIOS 域名。在此示例中,NetBIOS 是 OJI。按 Enter 键继续。
  • 服务器角色 - 该工具自动将服务器角色填充为域控制器 (dc)。按 Enter 键继续。
  • DNS 后端 - 默认为SAMBA_INTERNAL。按 Enter 接受默认值。
  • DNS 转发器 IP 地址 - 输入您之前在 resolve.conf 中指定的后备解析器地址,即 1.1.1.1。按 Enter 键继续。
  • 管理员密码 - 设置默认域管理员的密码。您指定的密码必须满足 Microsoft 的最低复杂性要求。按 Enter 继续。
  • 重新输入密码 - 重新输入默认域管理员密码,然后按 Enter。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

配置结束后,您将看到以下信息。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

4. samba-tool 命令在 /var/lib/samba/private/krb5.conf 生成 Samba AD Kerberos 配置文件。您必须将此文件复制到/etc/krb5.conf。为此,请运行以下命令。

sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

5. 最后,启动 samba-ad-dc 服务。

sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc

如下所示,服务状态现在为活动(正在运行)。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

测试域控制器 Linux 服务器

Samba AD DC 服务器现已运行。在本节中,您将执行一些安装后测试,以确认关键组件是否按预期运行。其中一项测试是尝试登录 DC 上的默认网络共享。

运行 smbclient 命令以默认管理员帐户登录并列出 (ls) netlogon 共享的内容。

smbclient //localhost/netlogon -U Administrator -c 'ls'

输入默认管理员密码。如果 DC 状态良好,则应该可以无错误地访问共享。如下所示,该命令列出了 netlogon 共享目录。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

验证关键域记录的 DNS 解析

运行以下命令来查找以下 DNS 记录。

  • 域的基于 TCP 的 LDAP SRV 记录。
  • 域的基于 UDP 的 Kerberos SRV 记录。
  • 域控制器的记录。
host -t SRV _ldap._tcp.oji.com
host -t SRV _kerberos._udp.oji.com
host -t A oddjobs-dc.oji.com

每条命令应返回如下结果,表明DNS解析成功。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

测试 Kerberos

最后一个测试是尝试成功颁发 Kerberos 票证。

1. 以管理员用户身份执行kinit命令。该命令会自动将领域附加到用户帐户。例如,管理员将变为[电子邮件受保护],其中 OJI.com 是领域。

kinit administrator

2. 根据提示输入管理员密码,然后按 Enter。如果密码正确,您将看到有关密码过期的警告消息,如下所示。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

3. 运行下面的 klist 命令列出票证缓存中的所有票证。

klist

下面的屏幕截图显示管理员帐户的 Kerberos 票证位于票证缓存中。此结果表明 Kerberos 身份验证在您的域控制器 Linux 服务器上有效。

[玩转系统] 如何在 Linux 上为 AD 创建域控制器

扩展组策略的功能并简化细粒度密码策略的管理。使用 Specops 密码策略将字典和密码短语设置定位到任何 GPO 级别、组、用户或计算机。免费试用!

结论

恭喜您完成了本教程。您现在已经学会了快速建立 Active Directory 域控制器 Linux 服务器。通过学习创建用户并将客户端计算机加入域中,加深您对该主题的了解。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯