為 Active Directory 域配置 NTP 時間源

Jacki

Active Directory 中的時間同步對於域服務和安全機制的正常運行至關重要。如果域中未配置正確且可靠的時間同步方案,則在與內部和外部系統交互時,可能會導致身份驗證、加密協議的使用和證書驗證出現問題。例如,Kerberos認證要求客戶端和服務器之間的時間差小於5分鐘。在本指南中,我們將探討 Active Directory 中時間同步的工作原理以及如何配置域控制器以將其時間與外部準確的 NTP 時間源同步。

內容:

Active Directory 時間同步方案基於嚴格的域層次結構:

  • AD 中的主要時間源是域控制器PDC仿真器FSMO 角色。
  • 其他域控制器將他們的時間與 PDC 同步。
  • 會員服務器和工作站按照AD拓撲與最近的DC同步時間(默認情況下,Windows計算機與外部時間源同步時間)time.windows.com,但加入域後,按照AD域層次結構進行時間同步)。

來源:https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc773013(v=ws.10)?redirectedfrom=MSDN

為了確保所有域計算機上的時間準確,必須將 PDC 配置為使用 NTP 協議將其時間與可靠的外部時間源同步。

找出正在運行的域控制器的名稱PDC仿真器FSMO角色,運行PowerShell命令

Get-ADDomain | Select-Object PDCEmulator

手動配置 PDC 與外部 NTP 服務器同步時間

默認情況下,主域控制器 (PDC) 仿真器將時間與主機上系統的本地 CMOS 硬件時鐘同步。對其運行命令進行檢查:

w32tm /query /source

本地 CMOS 時鐘表示使用本地時鐘作為時間源。在這種情況下,PDC 上的事件查看器日誌包含事件 ID12來自授時服務:

Time Provider NtpClient: This machine is configured to use the domain hierarchy to determine its time source, but it is the AD PDC emulator for the domain at the root of the forest, so there is no machine above it in the domain hierarchy to use as a time source. It is recommended that you either configure a reliable time service in the root domain, or manually configure the AD PDC to synchronize with an external time source. Otherwise, this machine will function as the authoritative time source in the domain hierarchy. If an external time source is not configured or used for this computer, you may choose to disable the NtpClient.

如果 DC 運行在配置為與主機(虛擬機管理程序)同步時間的虛擬機上,則此命令將返回:

VM IC Time Synchronization Provider

因此,在所有域控制器上,您應該在虛擬機設置中禁用時間同步,或者通過配置適當的註冊表選項來阻止 DC 與主機同步時間:

reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesw32timeTimeProvidersVMICTimeProvider /v Enabled /t REG_DWORD /d 0 /f

讓我們在 PDC 上重新配置 Windows 時間設置,以使用外部 NTP 服務器作為時間源。作為時間源,您可以使用距您所在位置最近的 NTP 服務器https://www.ntppool.org項目池。

對於英國,這可以是 NTP 服務器uk.pool.ntp.org:0.uk.pool.ntp.org,1.uk.pool.ntp.org, 和2.uk.pool.ntp.org

確保可以從 PDC 訪問這些 NTP 服務器(並且端口 123/UDP 未被防火牆阻止)。

w32tm /stripchart /computer:1.uk.pool.ntp.org

如果您收到來自 NTP 服務器的響應,則可以使用這些外部主機作為主 DC 的時間源。運行命令:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.uk.pool.ntp.org,0x8 1.uk.pool.ntp.org,0x8 2.uk.pool.ntp.org,0x8"
w32tm /config /reliable:yes
net start w32time
w32tm /config /update

將主機時間與 NTP 同步:

建議閱讀:如何重置 Active Directory 域管理員密碼

w32tm /resync

檢查外部 NTP 服務器時間現在是否用作 PDC 上的時間源(檢查 TimeProviders 部分):

w32tm /query /configuration

使用組策略為 PDC 配置 NTP 時間源

由於 PDC 模擬器角色可以轉移(佔用)到另一個域控制器,因此您可以配置一個組策略,自動將外部 NTP 同步設置應用於當前擁有 PDC 角色的 DC。

為此,請打開組策略管理控制台 (GPMC.msc)並創建一個新的 WMI 組策略過濾器。導航至WMI 過濾器部分,創建一個名為的過濾器PDC仿真器使用 WMI 查詢:

Select * from Win32_ComputerSystem where DomainRole = 5

創建一個新的 GPO,打開它,然後轉到計算機配置 -> 管理模板 -> 系統 -> Windows 時間服務 -> 時間提供程序

配置以下三個 GPO 選項:

  • 配置 Windows NTP 客戶端:Enabled (策略設置如下所述)
  • 啟用 Windows NTP 客戶端:Enabled
  • 啟用 Windows NTP 服務器:Enabled

在中設置以下參數配置 Windows NTP 客戶端政策設置:

  • NTP服務器:0.uk.pool.ntp.org,0x8 1.uk.pool.ntp.org,0x8 2.uk.pool.ntp.org,0x8 3.uk.pool.ntp.org,0x8
  • 類型:NTP
  • 跨站點同步標誌:2
  • 解決對等退避分鐘數:15
  • 解決PeerBackoffMaxTimes:7
  • 特殊池間隔:1024
  • 事件日誌標誌:0

分配PDC仿真器您之前為 GPO 創建的過濾器。

現在將此 GPO 鏈接到域控制器組織單位。

AD 中客戶端計算機上的時間同步設置

在一個域中,您僅有的必須在具有 PDC 角色的域控制器上手動配置時間同步。它應該與外部 NTP 同步時間。其餘域控制器或客戶端計算機(工作站)上的時間同步不需要特殊的策略或設置。事實上,做出這樣的改變可能會適得其反。根據 AD 層次結構 (NT5DS),域中的時間同步應該可以正常工作。

在剩餘的(額外的)域控制器和其他客戶端上,應根據域層次結構執行時間同步。驗證這一點:

w32tm /query /configuration

如果配置正確,TimeProviders部分的時間源類型應該是NT5DS(Net Time 5 目錄服務)。

客戶端上的時間服務設置存儲在HKLMSYSTEMCurrentControlSetServicesW32TimeParameters註冊表項。

如果不是這種情況,您可以重置客戶端的時間同步設置並強制其使用默認的域層次結構時間同步方案

net stop w32time
w32tm.exe /unregister
w32tm.exe /register
net start w32time
w32tm /config /syncfromflags:DOMHIER /update
w32tm /resync

驗證最近的域控制器 (LogonServer) 現在是否用作客戶端上的時間源:

w32tm /query /source

如何修復 Windows 客戶端上的常見時間同步錯誤。