PUB:20170111 Join an Additional Ubuntu DC to Samba4 AD DC for FailOver Replication – Part 5.md

@rusking
This commit is contained in:
wxy 2017-03-31 09:30:27 +08:00
parent 53a8737744
commit 4b9b912aaa

View File

@ -1,16 +1,19 @@
将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式 ——(五)
Samba 系列(五):将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式
============================================================
这篇文章将讲解如何使用 **Ubuntu 16.04** 服务器版系统来创建第二台 **Samba4** 域控制器,并将其加入到已创建好的 **Samba AD DC** 林环境中,以便为一些关键的 AD DC 服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如 DNS 服务和使用 SAM 数据库的 AD DC LDAP 模式。
#### 需求
1、 这篇文章是 **Samba4 AD DC** 系列的第**五**篇,前边几篇如下:
这篇文章是 **Samba4 AD DC** 系列的第**五**篇,前边几篇如下:
[在 Ubuntu16.04 系统上使用 Samba4 软件来创建活动目录架构(一)][1]
[在 Linux 命令行下管理 Samba4 AD 架构(二)][2]
[使用 Windows 10 系统的 RSAT 工具来管理 Samba4 活动目录架构 (三)][3]
[在 Windows 系统下管理 Samba4 AD 域管制器 DNS 和组策略(四)][4]
1、[在 Ubuntu16.04 系统上使用 Samba4 软件来创建活动目录架构(一)][1]
2、[在 Linux 命令行下管理 Samba4 AD 架构(二)][2]
3、[使用 Windows 10 系统的 RSAT 工具来管理 Samba4 活动目录架构 (三)][3]
4、[在 Windows 系统下管理 Samba4 AD 域管制器 DNS 和组策略(四)][4]
### 第一步:为设置 Samba4 进行初始化配置
@ -24,7 +27,7 @@
# hostnamectl set-hostname adc2
```
或者你也可以手动编辑 **/etc/hostname** 文件,在新的一行输入你想设置的主机名。
或者你也可以手动编辑 `/etc/hostname` 文件,在新的一行输入你想设置的主机名。
```
# nano /etc/hostname
@ -55,11 +58,11 @@ IP_of_main_DC FQDN_of_main_DC short_name_of_main_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
@ -90,7 +93,7 @@ dns-search tecmint.lan
*配置 Samba4 AD 服务器的 DNS*
当你通过简写名称(用于构建 FQDN 名)查询主机名时, **dns-search** 值将会自动把域名添加上。
当你通过简写名称(用于构建 FQDN 名)查询主机名时, `dns-search` 值将会自动把域名添加上。
4、为了测试 DNS 解析是否正常,使用一系列 ping 命令测试,命令后分别为简写名, FQDN 名和域名,如下图所示:
@ -108,7 +111,7 @@ dns-search tecmint.lan
# apt-get install ntpdate
```
6、假设你想手动强制本地服务器与 **samba4 AD DC** 服务器时间同步,使用 **ntpdate** 命令加上主域控服务器的主机名,如下所示:
6、假设你想手动强制本地服务器与 **samba4 AD DC** 服务器时间同步,使用 `ntpdate` 命令加上主域控服务器的主机名,如下所示:
```
# ntpdate adc1
@ -121,7 +124,7 @@ dns-search tecmint.lan
### 第 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 +135,7 @@ dns-search tecmint.lan
*在 Ubuntu 系统中安装 Samba4*
8、在安装的过程中你需要提供 Kerberos 域名。输入大写的域名然后按 [Enter] 键完成安装过程。
8、在安装的过程中你需要提供 Kerberos 域名。输入大写的域名然后按回车键完成安装过程。
[
![Configure Kerberos Authentication for Samba4](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-Kerberos-Authentication-for-Samba4.png)
@ -140,7 +143,7 @@ dns-search tecmint.lan
*为 Samba4 配置 Kerberos 认证*
9、所有依赖包安装完成后通过使用 kinit 命令为域管理员请求一个 Kerberos 票据以验证设置是否正确。使用 klist 命令来列出已授权的 kerberos 票据信息。
9、所有依赖包安装完成后通过使用 `kinit` 命令为域管理员请求一个 Kerberos 票据以验证设置是否正确。使用 `klist` 命令来列出已授权的 kerberos 票据信息。
```
# kinit domain-admin-user@YOUR_DOMAIN.TLD
@ -161,7 +164,7 @@ dns-search tecmint.lan
# 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"
@ -173,7 +176,7 @@ dns-search tecmint.lan
# samba-tool domain join tecmint.lan DC -U "tecmint_user"
```
##### 输出示例
输出示例
```
Finding a writeable DC for domain 'tecmint.lan'
@ -242,7 +245,7 @@ Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC
# nano /etc/samba/smb.conf
```
添加以下内容到 smb.conf 配置文件中。
添加以下内容到 `smb.conf` 配置文件中。
```
dns forwarder = 192.168.1.1
@ -255,7 +258,7 @@ winbind enum users = yes
winbind enum groups = yes
```
使用你自己的 **DNS forwarder IP** 地址替换掉上面地址。 Samba 将会把域权威区之外的所有 DNS 解析查询转发到这个 IP 地址。
使用你自己的 **DNS 转发器 IP** 地址替换掉上面 `dns forwarder` 地址。 Samba 将会把域权威区之外的所有 DNS 解析查询转发到这个 IP 地址。
13、最后重启 samba 服务以使修改的配置生效,然后执行如下命令来检查活动目录复制功能是否正常。
@ -270,9 +273,9 @@ winbind enum groups = yes
*配置 Samba4 DNS*
14、另外还需要重命名原来的 /etc 下的 kerberos 配置文件,并使用在加入域的过程中 Samba 生成的新配置文件 krb5.conf 替换它。
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
@ -285,7 +288,7 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
*配置 Kerberos*
15、同样使用 samba 的 **krb5.conf** 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。
15、同样使用 samba 的 `krb5.conf` 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。
```
# kinit administrator
@ -299,7 +302,7 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
### 第 4 步:验证其它域服务
16、你首先要做的一个测试就是验证 **Samba4 DC DNS** 解析服务是否正常。要验证域 DNS 解析情况,使用 host 命令,加上一些重要的 AD DNS 记录,进行域名查询,如下图所示:
16、你首先要做的一个测试就是验证 **Samba4 DC DNS** 解析服务是否正常。要验证域 DNS 解析情况,使用 `host` 命令,加上一些重要的 AD DNS 记录,进行域名查询,如下图所示:
每一次查询DNS 服务器都应该返回两个 IP 地址。
@ -322,15 +325,15 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
*通过 Windows RSAT 工具来验证 DNS 记录*
18、下一个验证是检查域 LDAP 复制同步是否正常。使用 **samba-tool** 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。
18、下一个验证是检查域 LDAP 复制同步是否正常。使用 `samba-tool` 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。
##### On adc2:
在 adc2 上:
```
# samba-tool user add test_user
```
##### On adc1:
在 adc1 上:
```
# samba-tool user list | grep test_user
@ -349,7 +352,7 @@ Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linu
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)