网站搜索

将额外的 Ubuntu DC 连接到 Samba4 AD DC 以进行故障转移复制 - 第 5 部分


本教程将向您展示如何将在 Ubuntu 16.04 服务器上配置的第二个 Samba4 域控制器添加到现有的 Samba AD DC 林中,以便按顺序为一些关键的 AD DC 服务提供一定程度的负载平衡/故障转移,尤其是 DNS 和带有 SAM 数据库的 AD DC LDAP 架构等服务。

要求

  1. 在 Ubuntu 上使用 Samba4 创建 Active Directory 基础设施 – 第 1 部分

本文是Samba4 AD DC系列的第5部分,内容如下:

第 1 步:Samba4 设置的初始配置

1. 在开始实际执行第二个 DC 的域加入之前,您需要进行一些初始设置。首先,确保将集成到 Samba4 AD DC 中的系统的主机名包含描述性名称。

假设第一个配置领域的主机名名为 adc1,您可以使用 adc2 命名第二个 DC,以提供一致的命名方案跨域控制器。

要更改系统主机名,您可以发出以下命令。

hostnamectl set-hostname adc2

否则,您可以手动编辑 /etc/hostname 文件并添加具有所需名称的新行。

nano /etc/hostname

此处添加主机名。

adc2

2.接下来,打开本地系统解析文件并添加一个条目,其中IP地址指向主域控制器的短名称和FQDN,如下所示截屏。

在本教程中,主 DC 名称为 adc1.howtoing.lan,它解析为 192.168.1.254 IP 地址。

nano /etc/hosts

添加以下行:

IP_of_main_DC		FQDN_of_main_DC 	short_name_of_main_DC

3.下一步,打开/etc/network/interfaces并为您的系统分配一个静态IP地址,如下面的屏幕截图所示。

注意 dns-nameserversdns-search 变量。这些值应配置为指向主 Samba4 AD DC 和领域的 IP 地址,以便 DNS 解析正常工作。

重新启动网络守护程序以反映更改。验证 /etc/resolv.conf 文件以确保网络接口中的两个 DNS 值都更新到该文件。

nano /etc/network/interfaces

编辑并替换为您的自定义 IP 设置:

auto ens33
iface ens33 inet static
        address 192.168.1.253
        netmask 255.255.255.0
        brodcast 192.168.1.1
        gateway 192.168.1.1
        dns-nameservers 192.168.1.254
        dns-search tecmint.lan

重新启动网络服务并确认更改。

systemctl restart networking.service
cat /etc/resolv.conf

当您按主机短名称(将形成 FQDN)查询主机时,dns-search 值将自动附加域名。

4. 为了测试 DNS 解析是否按预期工作,请针对您的域名短名称、FQDN 和领域发出一系列 ping 命令,如下面的屏幕截图所示。

在所有这些情况下,Samba4 AD DC DNS 服务器应回复主 DC 的 IP 地址。

5. 您需要注意的最后一个附加步骤是与主域控制器的时间同步。这可以通过发出以下命令在您的系统上安装 NTP 客户端实用程序来完成:

apt-get install ntpdate

6. 假设您要手动强制与 samba4 AD DC 进行时间同步,请通过发出以下命令对主 DC 运行 ntpdate 命令。

ntpdate adc1

步骤 2:安装 Samba4 和所需的依赖项

7.为了将Ubuntu 16.04系统注册到您的域中,首先安装Samba4Kerberos客户端和一些通过发出以下命令从 Ubuntu 官方存储库中获取其他重要的软件包供以后使用:

apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

8. 在安装过程中,您需要提供 Kerberos 领域名称。用大写字母写下您的域名,然后按[Enter]键完成安装过程。

9. 软件包安装完成后,使用 kinit 命令向域管理员请求 Kerberos 票证来验证设置。使用klist命令列出授予的Kerberos票证。

kinit domain-admin-user@YOUR_DOMAIN.TLD
klist

步骤 3:作为域控制器加入 Samba4 AD DC

10. 在将您的计算机集成到 Samba4 DC 之前,首先确保系统上运行的所有 Samba4 守护进程都已停止,并且重命名默认的 Samba 配置文件以便启动干净的。在配置域控制器时,samba 将从头开始创建一个新的配置文件。

systemctl stop samba-ad-dc smbd nmbd winbind
mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

11.为了启动域加入过程,首先仅启动samba-ad-dc守护进程,然后运行samba-tool命令使用对您的域具有管理权限的帐户加入领域。

samba-tool domain join your_domain DC -U "your_domain_admin"

域集成摘录:

samba-tool domain join tecmint.lan DC -U"tecmint_user"
样本输出
Finding a writeable DC for domain 'tecmint.lan'
Found DC adc1.tecmint.lan
Password for [WORKGROUP\tecmint_user]:
workgroup is TECMINT
realm is tecmint.lan
checking sAMAccountName
Deleted CN=ADC2,CN=Computers,DC=tecmint,DC=lan
Adding CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Adding CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding CN=NTDS Settings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding SPNs to CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Setting account password for ADC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Provision OK for domain DN DC=tecmint,DC=lan
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[402/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[804/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1206/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1550/1550] linked_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[402/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[804/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1206/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1608/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1614/1614] linked_values[28/0]
Replicating critical objects from the base DN of the domain
Partition[DC=tecmint,DC=lan] objects[97/97] linked_values[24/0]
Partition[DC=tecmint,DC=lan] objects[380/283] linked_values[27/0]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=tecmint,DC=lan
Partition[DC=DomainDnsZones,DC=tecmint,DC=lan] objects[45/45] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=tecmint,DC=lan
Partition[DC=ForestDnsZones,DC=tecmint,DC=lan] objects[18/18] linked_values[0/0]
Committing SAM database
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC

12.将带有samba4软件的Ubuntu集成到域中后,打开samba主配置文件并添加以下行:

nano /etc/samba/smb.conf

将以下摘录添加到 smb.conf 文件中。

dns forwarder = 192.168.1.1
idmap_ldb:use rfc2307 = yes

   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
        winbind enum users = yes
        winbind enum groups = yes

dns 转发器 IP 地址替换为您自己的 DNS 转发器 IP。 Samba 会将域权威区域之外的所有 DNS 解析查询转发到此 IP 地址。

13. 最后,通过执行以下命令重新启动 samba 守护程序以反映更改并检查 Active Directory 复制。

systemctl restart samba-ad-dc
samba-tool drs showrepl

14. 此外,重命名 /etc 路径中的初始 Kerberos 配置文件,并将其替换为 samba 在配置时生成的新 krb5.conf 配置文件域。

该文件位于 /var/lib/samba/private 目录中。使用 Linux 符号链接将此文件链接到 /etc 目录。

mv /etc/krb5.conf /etc/krb5.conf.initial
ln -s /var/lib/samba/private/krb5.conf /etc/
cat /etc/krb5.conf

15. 另外,使用 samba krb5.conf 文件验证 Kerberos 身份验证。为管理员用户请求票证,并通过发出以下命令列出缓存的票证。

kinit administrator
klist

第 4 步:额外的域服务验证

16.您需要执行的第一个测试是Samba4 DC DNS解析。要验证您的域 DNS 解析,请使用 host 命令针对一些关键的 AD DNS 记录查询域名,如下面的屏幕截图所示。

DNS 服务器现在应该为每个查询重放一对两个 IP 地址。

host your_domain.tld
host -t SRV _kerberos._udp.your_domain.tld  # UDP Kerberos SRV record
host -t SRV _ldap._tcp.your_domain.tld  # TCP LDAP SRV record

17. 这些 DNS 记录也应该可以从安装了 RSAT 工具的注册 Windows 计算机上看到。打开 DNS 管理器并展开到您的域 TCP 记录,如下图所示。

18. 下一个测试应表明域 LDAP 复制是否按预期工作。使用samba-tool,在第二个域控制器上创建一个帐户,并验证该帐户是否自动复制到第一个 Samba4 AD DC 上。

在 adc2 上:
samba-tool user add test_user
在 adc1 上:
samba-tool user list | grep test_user

19. 您还可以从 Microsoft AD UC 控制台创建帐户,并验证该帐户是否出现在两个域控制器上。

默认情况下,该帐户应在两个 samba 域控制器上自动创建。使用wbinfo命令从adc1查询帐户名。

20. 事实上,从 Windows 打开 AD UC 控制台,展开到域控制器,您应该会看到两台已注册的 DC 计算机。

步骤5:启用Samba4 AD DC服务

21.为了在系统范围内启用 samba4 AD DC 服务,请首先禁用一些旧的和未使用的 Samba 守护进程,并通过运行以下命令仅启用 samba-ad-dc 服务:

systemctl disable smbd nmbd winbind
systemctl enable samba-ad-dc

22. 如果您从 Microsoft 客户端远程管理 Samba4 域控制器,或者您的域中集成了其他 Linux 或 Windows 客户端,请确保提及 adc2 的 IP 地址计算机的网络接口 DNS 服务器 IP 设置,以获得一定程度的冗余。

下面的屏幕截图说明了 Windows 或 Debian/Ubuntu 客户端所需的配置。

假设第一个具有 192.168.1.254DC 离线,请颠倒配置文件中 DNS 服务器 IP 地址的顺序,这样它就不会尝试先查询不可用的 DNS 服务器 IP 地址。 DNS 服务器。

最后,如果您想使用 Samba4 Active Directory 帐户在 Linux 系统上执行本地身份验证或为 Linux 中的 AD LDAP 帐户授予 root 权限,请阅读教程从 Linux 命令行管理 Samba4 AD 基础设施中的步骤 2 和 3。