近期的项目用到NTP,在使用的时候碰到一些问题,特记录如下:
(1)NTP Server部分
若要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作: 1. 将服务器类型更改为 NTP。为此,请按照下列步骤操作: a. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 b. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type c. 在右窗格中,右键单击“Type”,然后单击“修改”。 d. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。 2. 将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作: a. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags b. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。 3. 启用 NTPServer。为此,请按照下列步骤操作: a. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。 4. 指定时间源。为此,请按照下列步骤操作: a. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters b. 在右窗格中,右键单击“NtpServer”,然后单击“修改”。 c. 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。 注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。 5. 选择轮询间隔。为此,请按照下列步骤操作: a. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval b. 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。 注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。 6. 配置时间校准设置。为此,请按照下列步骤操作: a. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection b. 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。 d. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。 注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。 e. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection f. 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。 g. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。 h. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。 注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。 7. 退出注册表编辑器。 8. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter: net stop w32time && net start w32time(2) NTP Client部分
要想使用NTP,首先要确定Windows Time服务已启动设置windows默认使用的NTP地址具体设置在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers下的默认值Dos下通过调用如下指令来完成时间同步操作net time /setsntp:192.168.1.232 ---- (设置时间服务器地址)
net stop w32time --- (停止时间服务)
net start w32time --- (启动时间服务)
w32tm –s --- (立即同步时间)