要求:
第1步:跨DC的精确时间同步
1.在开始在两个域控制器之间复制 sysvol目录的内容之前,您需要为这些计算机提供准确的时间。 如果两个方向上的延迟大于5分钟,并且它们的时钟未正确同步,则应该开始遇到AD帐户和域复制的各种问题。 要克服两个或更多域控制器之间的时间漂移的问题,您需要通过执行以下命令在您的计算机上 安装和配置NTP服务器 。# apt-get install ntp2.安装NTP守护程序后,打开主配置文件,注释默认池(在每个池行前添加一个 # ),并添加一个新池,它将指向 安装了 NTP服务器的主 Samba4 AD DC FQDN ,如下面的例子所示。
# nano /etc/ntp.conf将以下行添加到 ntp.conf文件。
pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst pool adc1.youcl.lan # Use Ubuntu's ntp server as a fallback. pool ntp.ubuntu.com
为Samba4配置NTP
restrict source notrap nomodify noquery mssntp ntpsigndsocket /var/lib/samba/ntp_signd/4.最后,保存并关闭配置文件并重新启动NTP守护程序,以便应用更改。 等待几秒或几分钟的时间同步并发出 ntpq命令,以便打印 adc1同步的当前摘要状态。
# systemctl restart ntp # ntpq -p
使用Samba4 AD同步NTP时间
第2步:通过Rsync与第一个DC进行SysVol复制
默认情况下, Samba4 AD DC不通过 DFS-R ( 分布式文件系统复制 )或 FRS ( 文件复制服务 )执行 SysVol复制。 这意味着只有当第一个域控制器处于联机状态时, 组策略对象才可用。如果第一个DC不可用,则组策略设置和登录脚本将不会在已注册到域中的Windows计算机上进一步应用。 为了克服这个障碍并实现SysVol复制的基本形式,我们将使用 基于密钥的SSH身份验证计划 Linux rsync命令结合SSH加密隧道,以便将 GPO对象从第一个域控制器安全地传输到第二个域控制器。 此方法确保 GPO对象在域控制器之间的一致性,但有一个巨大的缺点。 它仅在一个方向上工作,因为 rsync将在同步GPO目录时将所有更改从源DC传输到目标DC。 源上不再存在的对象也将从目标中删除。为了限制和避免任何冲突,所有GPO编辑只能在第一个DC上进行。 5.要启动 SysVol复制的过程,请首先 在第一个Samba AD DC上生成SSH密钥,然后执行以下命令将该密钥传输到第二个DC。 不要为此密钥使用密码,以便计划传输在没有用户干扰的情况下运行。# ssh-keygen -t RSA # ssh-copy-id root@adc2 # ssh adc2 # exit
在Samba4 DC上生成SSH密钥
--dry-run
参数,以模拟SysVol复制。相应地替换adc2。
# rsync --dry-run -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/7.如果模拟过程按预期工作,请再次运行rsync命令,而不使用
--dry-run
选项,以便实际在域控制器中复制GPO对象。
# rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/
Samba4 AD DC SysVol复制
# ls -alh /var/lib/samba/sysvol/your_domain/Policiers/
验证Samba4 DC SysVol复制
# crontab -e添加rsync命令以每5分钟运行一次,并将命令的输出(包括错误)指向日志文件 /var/log/sysvol-replication.log 。如果某些操作无法正常工作,请查阅此文件以排除故障。
*/5 * * * * rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&110.假设将来会出现与 SysVol ACL权限相关的一些问题,您可以运行以下命令以检测和修复这些错误。
# samba-tool ntacl sysvolcheck # samba-tool ntacl sysvolreset
修复SysVol ACL权限
更改Samba4域控制器
选择Samba4域控制器