校对完毕

校对完毕
This commit is contained in:
jasminepeng 2017-01-20 17:37:16 +08:00 committed by GitHub
parent b8b22bf5d9
commit 144d067331

View File

@ -1,44 +1,42 @@
Join an Additional Ubuntu DC to Samba4 AD DC for FailOver Replication Part 5
将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式 ——(五)
============================================================
将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式——(五)
这篇文章将讲解如何使用 Ubuntu 16.04 服务器版系统来创建第二台 Samba4 域控制器,并将其加入到已创建好的 Samba AD DC 林环境中,以便为一些关键的 AD DC 服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如 DNS 服务和使用 SAM 数据库的 AD DC LDAP 模式提供这种功能
这篇文章将讲解如何使用 **Ubuntu 16.04** 服务器版系统来创建第二台 **Samba4** 域控制器,并将其加入到已创建好的 **Samba AD DC** 林环境中,以便为一些关键的 AD DC 服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如 DNS 服务和使用 SAM 数据库的 AD DC LDAP 模式。
#### 需求
1、 [在 Ubuntu16.04 系统上使用 Samba4 软件来创建活动目录架构(一)][1]
这篇文章是 Samba4 AD DC 序列文章中的第五篇,前边几篇如下:
1、 这篇文章是 **Samba4 AD DC** 系列的第**五**篇,前边几篇如下:
[在 Ubuntu16.04 系统上使用 Samba4 软件来创建活动目录架构(一)][1]
[在 Linux 命令行下管理 Samba4 AD 架构(二)][2]
[使用 Windows 10 系统的 RSAT 工具来管理 Samba4 活动目录架构 (三)][3]
[在 Windows 系统下管理 Samba4 AD 域管制器 DNS 和组策略(四)][4]
### 第一步:为设置 Samba4 进行初始化配置
1、在开始把第二个 DC 服务器加入到 Samba4 AD DC 域环境之前,你需要注意一些初始化设置信息,首先,确保这个新系统的主机名符合命名规范要求
1、在开始把第二个 DC 服务器加入到 **Samba4 AD DC** 域环境之前,你需要注意一些初始化设置信息,首先,确保这个新系统的**主机名**包含描述性名称
假设第一个域服务器的主机名叫做 adc1 ,你可以把第二个域服务器命名为 'adc2',以保持域控制器名称的一致性。
假设第一个域服务器的主机名叫做 `adc1` ,你可以把第二个域服务器命名为 `adc2`,以保持域控制器名称的一致性。
执行下面的命令来修改系统主机名:
执行下面的命令来修改系统**主机名**
```
# hostnamectl set-hostname adc2
```
或者你也可以手动编辑 /etc/hostname 文件,在新的一行输入你想设置的主机名。
或者你也可以手动编辑 **/etc/hostname** 文件,在新的一行输入你想设置的主机名。
```
# nano /etc/hostname
```
设置主机名。
这里添加主机名。
```
adc2
```
2、下一步打开本地系统解析文件并添加一个条目包含主域控制器的 IP 地址 FQDN 名称和简写名称。如下图所示:
2、下一步打开本地系统解析文件并添加一个条目包含主域控制器的 IP 地址和 FQDN 名称。如下图所示:
在这篇教程中,主域控服务器的主机名为 `adc1.tecmint.lan` ,其对应的 IP 地址为 192.168.1.254 。
@ -55,13 +53,13 @@ IP_of_main_DC FQDN_of_main_DC short_name_of_main_DC
![Set Hostname for Samba4 AD DC](http://www.tecmint.com/wp-content/uploads/2017/01/Set-Hostname-for-Samba4-AD-DC.jpg)
][5]
为 Samba4 AD DC 服务器设置主机名
*为 Samba4 AD DC 服务器设置主机名*
3、下一步打开 /etc/network/interfaces 配置文件并设置一个静态 IP 地址,如下图所示:
3、下一步打开 **/etc/network/interfaces** 配置文件并设置一个静态 IP 地址,如下图所示:
注意 dns-nameservers 和 dns-search 这两个参数的值。为了能够正常解析 DNS ,需要把这两个值都设置成主 Samba4 AD DC 服务器的 IP 地址和域名。
注意 **dns-nameservers****dns-search** 这两个参数的值。为了使 DNS 解析正常工作,需要把这两个值设置成主 Samba4 AD DC 服务器的 IP 地址和域名。
重启网卡服务以让修改的配置生效。检查 /etc/resolv.conf 文件确保该网卡上配置的这两个 DNS 的值已更新到这个文件。
重启网卡服务以让修改的配置生效。检查 **/etc/resolv.conf** 文件确保该网卡上配置的这两个 DNS 的值已更新到这个文件。
```
# nano /etc/network/interfaces
@ -80,7 +78,7 @@ dns-nameservers 192.168.1.254
dns-search tecmint.lan
```
重启网卡服务并确认生效
重启网卡服务并确认生效
```
# systemctl restart networking.service
@ -90,27 +88,27 @@ dns-search tecmint.lan
![Configure DNS for Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-DNS-for-Samba4-AD.jpg)
][6]
配置 Samba4 AD 服务器的 DNS
*配置 Samba4 AD 服务器的 DNS*
当你通过简写名称(来自 FQDN 名)查询主机名时, dns-search 值将会自动把域名添加上。
当你通过简写名称(用于构建 FQDN 名)查询主机名时, **dns-search** 值将会自动把域名添加上。
4、为了测试 DNS 解析是否正常,使用 ping 命令加上简写名, FQDN 名和域名进行测试,如下图所示:
4、为了测试 DNS 解析是否正常,使用一系列 ping 命令测试,命令后分别为简写名, FQDN 名和域名,如下图所示:
在所有 ping 命令的测试过程中Samba4 AD DC DNS 服务器都应该返回主域控服务器的 IP地址。
在所有测试用例中,**Samba4 AD DC DNS** 服务器都应该返回主域控服务器的 IP 地址。
[
![Verify DNS Resolution for Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-DNS-Resolution-for-Samba4-AD.png)
][7]
验证 Samba4 AD 环境 DNS 解析是否正常
*验证 Samba4 AD 环境 DNS 解析是否正常*
5、最后你需要注意的是确保这个主机跟域控服务器时间同步。你可以通过下面的命令在系统上安装 NTP 客户端工具来实现时间同步功能:
5、最后你需要注意的是确保这个主机跟域控服务器时间同步。你可以通过下面的命令在系统上安装 **NTP** 客户端工具来实现时间同步功能:
```
# apt-get install ntpdate
```
6、假设你想手动强制本地服务器与 samba4 AD DC 服务器时间同步,使用 ntpdate 命令加上主域控服务器的主机名,如下所示:
6、假设你想手动强制本地服务器与 **samba4 AD DC** 服务器时间同步,使用 **ntpdate** 命令加上主域控服务器的主机名,如下所示:
```
# ntpdate adc1
@ -119,11 +117,11 @@ dns-search tecmint.lan
![Time Synchronize with Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Time-Synchronize-with-Samba4-AD.png)
][8]
与 Samba4 AD 服务器进行时间同步
*与 Samba4 AD 服务器进行时间同步*
### 第 2 步:安装 Samba4 必须的依赖包
7、为了让 Ubuntu 16.04 系统加入到你的域中,你需要通过下面的命令从 Ubuntu 官方软件库中安装 Samba4 套件, Kerberos 客户端和其它一些重要的软件包以便将来使用:
7、为了让 **Ubuntu 16.04** 系统加入到你的域中,你需要通过下面的命令从 Ubuntu 官方软件库中安装 **Samba4 套件, Kerberos** 客户端和其它一些重要的软件包以便将来使用:
```
# apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind
@ -132,7 +130,7 @@ dns-search tecmint.lan
![Install Samba4 in Ubuntu](http://www.tecmint.com/wp-content/uploads/2017/01/Install-Samba4-in-Ubuntu.png)
][9]
在 Ubuntu 系统中安装 Samba4
*在 Ubuntu 系统中安装 Samba4*
8、在安装的过程中你需要提供 Kerberos 域名。输入大写的域名然后按 [Enter] 键完成安装过程。
@ -140,9 +138,9 @@ dns-search tecmint.lan
![Configure Kerberos Authentication for Samba4](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Kerberos-Authentication-for-Samba4.png)
][10]
为 Samba4 配置 Kerberos 认证
*为 Samba4 配置 Kerberos 认证*
9、所有依赖包安装完成后通过使用 kinit 命令请求一个 Kerberos 票据以验证设置是否正确。使用 klist 命令来列出已授权的 kerberos 票据信息。
9、所有依赖包安装完成后通过使用 kinit 命令为域管理员请求一个 Kerberos 票据以验证设置是否正确。使用 klist 命令来列出已授权的 kerberos 票据信息。
```
# kinit domain-admin-user@YOUR_DOMAIN.TLD
@ -152,18 +150,18 @@ dns-search tecmint.lan
![Verify Kerberos on Samba4 Domain](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Kerberos-on-Samba4-Domain.png)
][11]
在 Samba4 域环境中验证 Kerberos
*在 Samba4 域环境中验证 Kerberos*
### 第 3 步:以域控制器的身份加入到 Samba4 AD DC
10、在把你的机器集成到 Samba4 DC 环境之前,先把系统中所有运行着的 Samba4 服务停止,并且重命名默认的 Samba 配置文件。在域控制器配置的过程中, Samba 将会创建一个新的配置文件。
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 命令将服务器加入到域。
11、在准备加入域前先启动 **samba-ad-dc** 服务,之后使用域管理员账号运行 **samba-tool** 命令将服务器加入到域。
```
# samba-tool domain join your_domain -U "your_domain_admin"
@ -175,7 +173,7 @@ dns-search tecmint.lan
# samba-tool domain join tecmint.lan DC -U"tecmint_user"
```
##### Sample Output
##### 输出示例
```
Finding a writeable DC for domain 'tecmint.lan'
@ -231,11 +229,12 @@ Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC
```
[
![Join Domain to Samba4 AD DC](http://www.tecmint.com/wp-content/uploads/2017/01/Join-Domain-to-Samba4-AD-DC.png)
][12]
把域加入到 Samba4 AD DC
*把域加入到 Samba4 AD DC*
12、在已安装了 Samba4 套件的 Ubuntu 系统加入域之后,打开 Samba 主配置文件添加如下行:
@ -256,7 +255,7 @@ winbind enum users = yes
winbind enum groups = yes
```
使用你自己的 DNS 转发器 IP 地址替换掉上面的 dns forwarder ip 地址。 Samba 将会把域认证区之外的所有 DNS 解析查询转发到这个 IP 地址。
使用你自己的 **DNS forwarder IP** 地址替换掉上面地址。 Samba 将会把域权威区之外的所有 DNS 解析查询转发到这个 IP 地址。
13、最后重启 samba 服务以使修改的配置生效,然后执行如下命令来检查活动目录复制功能是否正常。
@ -264,15 +263,16 @@ winbind enum groups = yes
# systemctl restart samba-ad-dc
# samba-tool drs showrepl
```
[
![Configure Samba4 DNS](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Samba4-DNS.png)
][13]
配置 Samba4 DNS
*配置 Samba4 DNS*
14、另外还需要重命名原来的 kerberos 配置文件,并使用在加入域的过程中 Samba 生成的新配置文件 krb5.conf 替换 /etc 目录下的那个文件
14、另外还需要重命名原来的 /etc 下的 kerberos 配置文件,并使用在加入域的过程中 Samba 生成的新配置文件 krb5.conf 替换
Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linux 的符号链接命令对该文件创建一个软链接指向 /etc 目录。
Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linux 的符号链接将该文件链接到 /etc 目录。
```
# mv /etc/krb6.conf /etc/krb5.conf.initial
@ -283,9 +283,9 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Configure Kerberos](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Kerberos.jpg)
][14]
配置 Kerberos
*配置 Kerberos*
15、同样使用 samba 的 krb5.conf 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。
15、同样使用 samba 的 **krb5.conf** 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。
```
# kinit administrator
@ -295,11 +295,11 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Verify Kerberos Authentication with Samba](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Kerberos-Authentication-with-Samba.jpg)
][15]
使用 Samba 验证 Kerberos 认证是否正常
*使用 Samba 验证 Kerberos 认证是否正常*
### 第 4 步:验证其它域服务
16、你首先要做的一个测试就是验证 Samba4 DC DNS 解析服务是否正常。要验证域环境中的 DNS 解析情况,使用 host 命令查询域名或者加上其它一些重要的 AD DNS 记录进行查询,如下图所示:
16、你首先要做的一个测试就是验证 **Samba4 DC DNS** 解析服务是否正常。要验证域 DNS 解析情况,使用 host 命令,加上一些重要的 AD DNS 记录进行域名查询,如下图所示:
每一次查询DNS 服务器都应该返回两个 IP 地址。
@ -312,7 +312,7 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Verify Samba4 DC DNS](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Samba4-DC-DNS.png)
][16]
验证 Samba4 DC DNS
*验证 Samba4 DC DNS *
17、这些 DNS 记录也可以从注册过的[已安装了 RSAT 工具的 Windows 机器][17]上查询到。打开 DNS 管理器,展开到你的域 tcp 记录,如下图所示:
@ -320,9 +320,9 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Verify DNS Records on Windows RSAT Tool](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-DNS-Records-on-Windows-RSAT-Tool.png)
][18]
通过 Windows RSAT 工具来验证 DNS 记录
*通过 Windows RSAT 工具来验证 DNS 记录*
18、下一个验证是检查域 LDAP 同步是否正常。使用 samba-tool 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。
18、下一个验证是检查域 LDAP 复制同步是否正常。使用 **samba-tool** 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。
##### On adc2:
@ -339,41 +339,41 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Create User Account on Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Create-User-Account-on-Samba4-AD.jpg)
][19]
在 Samba4 AD 服务器上创建账号
*在 Samba4 AD 服务器上创建账号*
[
![Verify Replication on Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Replication-on-Samba4-AD.jpg)
][20]
在 Samba4 AD 服务器上验证同步功能
*在 Samba4 AD 服务器上验证同步功能*
19、你也可以从 Microsoft AD DC 控制台创建一个账号,然后验证该账号是否都出现在两个域控服务器上。
19、你也可以从 **Microsoft AD DC** 控制台创建一个账号,然后验证该账号是否都出现在两个域控服务器上。
默认情况下,这个账号都应该在两个 samba 域控制器上自动创建完成。在 'adc1' 服务器上使用 wbinfo 命令查询该账号的名字
默认情况下,这个账号都应该在两个 samba 域控制器上自动创建完成。在 `adc1` 服务器上使用 **wbinfo** 命令查询该账号名
[
![Create Account from Microsoft AD UC](http://www.tecmint.com/wp-content/uploads/2017/01/Create-Account-from-Microsoft-AD-UC.png)
][21]
从 Microsoft AD UC 创建账号
*从 Microsoft AD UC 创建账号*
[
![Verify Account Replication On Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Account-Replication-On-Samba4-AD.png)
][22]
在 Samba4 AD 服务器上验证账号同步功能
*在 Samba4 AD 服务器上验证账号同步功能*
20、实际上打开 Windows 机器上的 AD DC 控制台,展开到域控制器,你应该看到两个已注册的 DC 服务器。
20、实际上打开 Windows 机器上的 **AD DC** 控制台,展开到域控制器,你应该看到两个已注册的 DC 服务器。
[
![Verify Samba4 Domain Controllers](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Samba4-Domain-Controllers.png)
][23]
验证 Samba4 域控制器
*验证 Samba4 域控制器*
### 第 5 步:启用 Samba4 AD DC 服务
21、要启用 Samba4 AD DC 的服务 system-wide ,首先你得禁用原来的不需要的 Samba 服务,然后执行如下命令启用 samba-ad-dc 服务:
21、要在整个系统启用 Samba4 AD DC 的服务,首先你得禁用原来的不需要的 Samba 服务,然后执行如下命令启用 samba-ad-dc 服务:
```
# systemctl disable smbd nmbd winbind
@ -383,9 +383,9 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Enable Samba4 AD DC Services](http://www.tecmint.com/wp-content/uploads/2017/01/Enable-Samba4-AD-DC-Services.png)
][24]
启用 Samba4 AD DC 服务
*启用 Samba4 AD DC 服务*
22、如果你从 Microsoft 客户端远程管理 Samba4 域控制器,或者有其它 Linux 或 Windows 机器集成到当前域中,请确保把其它机器网卡的 DNS 地址设置成 'adc2' 服务器的 IP 地址,以实现某种程序上的冗余。
22、如果你从 Microsoft 客户端远程管理 Samba4 域控制器,或者有其它 Linux 或 Windows 客户机集成到当前域中,请确保在它们的网卡 DNS 服务器地址设置中提及 `adc2` 服务器的 IP 地址,以实现某种程序上的冗余。
下图显示 Windows 和 Debian/Ubuntu 客户机的网卡配置要求。
@ -393,17 +393,20 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
![Configure Client to Administer Samba4 DC](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Client-to-Administer-Samba4-DC.png)
][25]
配置 Windows 客户端来管理 Samba4 DC
*配置 Windows 客户端来管理 Samba4 DC*
[
![Configure Linux Client to Administer Samba4 DC](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Linux-Client-to-Administer-Samba4-DC.png)
][26]
配置 Linux 客户端来管理 Samba4 DC
*配置 Linux 客户端来管理 Samba4 DC*
假设第一台 DC 服务器 192.168.1.254 网络不通,则调整配置文件中 DNS 服务器 IP 地址的顺序,以防止优先查询这台不可用的 DNS 服务器。
如果第一台 DC 服务器 192.168.1.254 网络不通,则调整配置文件中 DNS 服务器 IP 地址的顺序,以先查询这台不可用的 DNS 服务器。
最后,如果你想在 Linux 系统上使用 Samba4 活动目录账号来进行本地认证,或者为 AD LDAP 账号授予 root 权限,请查看[在 Linux 命令行下管理 Samba4 AD 架构][27] 这篇教程的 第 2 节和第 3 节。
Assuming that the first DC with 192.168.1.254 goes offline, reverse the order of the DNS server IP addresses in the configuration file so it wont try to query first an unavailable DNS server.
Finally, in case you want to perform local authentication on a Linux system with a Samba4 Active Directory account or grant root privileges for AD LDAP accounts in Linux, read the steps 2 and 3 from the tutorial Manage Samba4 AD Infrastructure from Linux Command Line.
最后,如果你想在 Linux 系统上使用 Samba4 活动目录账号来进行本地认证,或者为 AD LDAP 账号授予 root 权限,请查看[在 Linux 命令行下管理 Samba4 AD 架构][27] 这篇教程的 第 2 步和第 3 步。
--------------------------------------------------------------------------------