这一节的Samba4 AD DC 架构系列文章,我们将会讨论如何把 Windows 10 系统的电脑添加到 Samba4 域环境中,以及如何在 Windows 10 系统下管理域环境。
一旦 Windows 10 系统加入到 Samba4 AD DC ,我们就可以在 Windows 10 系统中创建、删除或者禁用域用户和组了,可以创建新的组织单元,创建、编辑和管理域策略,还可以管理 Samba4 域 DNS 服务。
上面所有的功能和其它一些复杂的与域管理相关的工作都可以通过 Windows 环境下的 RSAT 工具来完成—— Microsoft 远程服务器管理工具。
要求
1、 在 Ubuntu 系统上使用 Samba4 来创建活动目录架构(一)
2、 在 Linux 命令行下管理 Samba4 AD 架构(二)
第一步:配置域时间同步
1、在使用 Windows 10 系统的 RSAT 工具来管理 Samba4 ADDC 之前,我们需要了解与活动目录相关的一个很重要的服务,该服务要求精确的时间同步。
在大多数的 Linux 发行版中,都由 NTP 进程提供时间同步机制。AD 环境默认允许最大的时间差距是 5 分钟。
如果时间差距超过 5 分钟,你将会遇到各种各样的异常报错,最严重的会影响到 AD 用户、域成员服务器或共享访问等。
为了在 Ubuntu 系统中安装网络时间协议进程和 NTP 客户端工具,可执行以下命令:
$ sudo apt-get install ntp ntpdate
在 Ubuntu 系统下安装 NTP 服务
2、下一步,修改 NTP 配置文件,使用一个离你最近的 NTP 服务地址列表替换默认的 NTP 池服务列表。
NTP 服务器地址列表可以从 NTP 地址库项目官方网站获取:http://www.pool.ntp.org/en/。
$ sudo nano /etc/ntp.conf
在每一行 pool
前添加一个 #
符号以注释默认的服务器列表,并替换为适合你的 NTP 服务器地址,如下图所示:
pool 0.ro.pool.ntp.org iburstpool 1.ro.pool.ntp.org iburstpool 2.ro.pool.ntp.org iburst# Use Ubuntu's ntp server as a fallback.pool 3.ro.pool.ntp.org
在 Ubuntu 系统下配置 NTP 服务
3、此时,先不要关闭该文件。移动光标到文件顶部,在 driftfile
参数后面添加下面一行内容。该设置是为了让客户端查询该服务时使用 AD 的 NTP 签署请求。
ntpsigndsocket /var/lib/samba/ntp_signd/
使用 NTP 来同步 AD
4、最后,移动光标到文件底部并添加如下一行内容,如截图所示,仅允许网络客户端查询该服务器上的时间。
restrict default kod nomodify notrap nopeer mssntp
限制 NTP 服务的查询客户端
5、设置完成之后,保存并关闭 NTP 配置文件,为了让 NTP 服务读取 ntp_signed
目录,需要授予 NTP 服务合适的权限。
以下是 Samba NTP socket 的系统路径。之后,重启 NTP 服务以应用更改,并使用 netstat 命令与grep 过滤相接合来检查 NTP 服务是否正常。
$ sudo chown root:ntp /var/lib/samba/ntp_signd/$ sudo chmod 750 /var/lib/samba/ntp_signd/$ sudo systemctl restart ntp$ sudo netstat –tulpn | grep ntp
给 NTP 服务授权
使用 ntpq 命令行工具来监控 NTP 进程,加上 -p
参数来显示摘要信息。
$ ntpq -p
监控 NTP 服务器池
第二步:处理 NTP 时间同步异常问题
6、有时候 NTP 进程在尝试与上游 ntp 服务端同步时间的计算过程中会卡住,导致客户端使用 ntpdate
工具手动强制同步时间时报如下错误:
# ntpdate -qu adc1ntpdate[4472]: no server suitable for synchronization found
NTP 时间同步异常
ntpdate
命令加上 -d
调试选项:
# ntpdate -d adc1.tecmint.lanServer dropped: Leap not in sync
NTP Server Dropped Leap Not in Sync
7、为了避免出现该问题,使用下面的方法来解决这个问题:在服务器上停止 NTP 服务,使用 ntpdate
客户端工具加上 -b
参数指定外部 peer 地址来手动强制同步时间,如下图所示:
# systemctl stop ntp.service# ntpdate -b 2.ro.pool.ntp.org [你的 ntp peer]# systemctl start ntp.service# systemctl status ntp.service
强制 NTP 时间同步
8、当时间正确同步之后,启动服务器上的 NTP 服务,并且在客户端服务器上执行如下命令来验证 NTP 时间同步服务是否可用:
# ntpdate -du adc1.tecmint.lan [你的 AD DC 服务器]
验证 NTP 时间同步
至此, NTP 服务应该已经工作正常了。
编译自:http://www.tecmint.com/manage-samba4-ad-from-windows-via-rsat/作者: Matei Cezar
原创:LCTT https://linux.cn/article-8097-1.html译者: rusking