linux 里 配置NTP服务SERVER为NTP server. 如何配置ntf服务

linux 里 配置NTP服务SERVER为NTP server. 如何配置ntf服务,第1张

安装NTP:
yum install ntp
配置时间
vi /etc/ntpconf
server 2107214544
server ntpapibz
server 2centospoolntporg
配置对客户端(1721600/24的网段机器)提供NTP服务
# vi /etc/ntpconf
restrict 172160。0 mask 2552552550 nomodify notrap
配置NTP Server的层数提供本地服务
server 12712710 # local clock
fudge 12712710 stratum 2
设置开机时自动运行时间服务
chkconfig ntpd on
启动或停止时间服务
# service ntpd start
# service ntpd stop
# service ntpd restart
验证ntp服务已经运行
pgrep ntpd
更新本服务器的时间
ntpdate -u 2107214544
配置iptable规则允许客户端访问本机NTP Sever
vi /etc/sysconfig/iptables
增加一行(NTP Server使用UDP 123端口)
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
重启iptables
service iptables restart

问题1: 在域控上面设置default domain policy对全域设置了时间同步参数,其中MaxPollInterval=10,MinPollInterval =8;我想请教一下,同步的时间间隔只能从这两个参数定义吗,能不能自定义。

通常我们如果通过注册表的方式配置域的时间同步的话,按照下面的注册表设置来配置:

===主域控制器===
1 PDC宣布它为NTP服务器:
Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Key Name: AnnounceFlags
Type: REG_DWORD (DWORD Value )
Data: 0x5

2 将服务器类型更改为NTP:
Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
Key Name: Type
Type: REG_SZ(String Value)
Data: NTP

3 启用NTP服务器:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
Key Name: Enabled
Type: REG_DWORD
Data: 1

4 指定哪个服务器充当NTP服务器:
Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
Key Name: NtpServer
Type: REG_SZ(String Value)
Data: Peers (example: timewindowscom, 0x9)

5仅当我们的PDC计算机是虚拟机时,才需要设置此注册表。 如果它不是虚拟机,则没有有关此注册表的信息。
HLM\SYSTEM\CurrentControlSet\services\w32time\TimeProviders\VMICTimeProvider
Name: Enabled
Type: REG_DWORD
Data:0

===其他的域控制器和客户端===
Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
Key Name: Type
Type: REG_SZ(String Value)
Data: NT5DS

Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Key Name: AnnounceFlags
Type: REG_DWORD (DWORD Value )
Data: 0xa

之后,使用命令 net stop w32time && net start w32time 重新启动时间服务器。

0x1 为 NtpServer的Flag位,表示启用SpecialInterval。 它将会等待SpecialPollInterval 内设置的时间间隔再和时间源同步。

SpecialPollInterval
这个值指定了特定的取样时间间隔,当NtpServer值的SpecialInterval 0x1 标志设置后 (所以SpecialPollInterval只在时间同步方式为NTP时才有效,简单来讲,就是在PDC上此值才有意义),W32Time用这个时间间隔进行取样,单位为秒。默认值为3600秒。

Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
Key Name: NtpServer
Type: REG_SZ(String Value)
Data: Peers (timewindowscom,0x9)

NTP server键值中,timeserver,0x9的含义,有如下解释:
0x9其实是两种标识的组合,即0x1和0x8。在w32time中,共有4种基础标识。
0x1 specialinterval
0x2 useasfallbackonly
0x4 symmatricactive
0x8 client

具体可以参考这个文章: Parameters\NtpServer

总结:一般如果我们的环境中没有出现时间同步问题的情况下不建议修改对应的值,保持默认的就可以。一般如果有时间跳变或者精度问题,才可能要调整这两个值。请问我们的环境是否出现了什么问题。我们是觉得时间同步精度不够还是什么其他原因需要去自定义这两个参数呢?

问题2: 还有我查看了客户端事件查看器并不是每一次到了间隔时间都会记录时间同步,一天之内只有2次或1次甚至没有记录。不知道该事件日志记录的原理是什么,想请高手指点一下,谢谢!

MaxPollInterval
这个值指定了在使用NT5DS同步机制时(简单的说就是按照域的结构和DC做时间同步),最大的时间取样时间间隔,单位为2的次方秒。 域控制器的默认值为为10(1024秒) ,域成员的默认值为15(32768秒),没有加入域的机器的默认值为15(32768秒)。如果当前值为F,即32768秒。

MinPollInterval
这个值指定了在使用NT5DS同步机制时(简单的说就是按照域的结构和DC做时间同步),最小的时间取样时间间隔,单位为2的次方秒。 域控制器的默认值为为6(64秒) ,域成员的默认值为10(1024秒),没有加入域的机器的默认值为10(1024秒)。如果当前值为A,即1024秒。

LargePhaseOffset (HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\LargePhaseOffset):
当时间差小于LargePhaseOffset时,认为是同步的,默认值为5秒。

MaxAllowedPhaseOffset (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxAllowedPhaseOffset):
当时间差大于LargePhaseOffset时,且当时间差超过MaxAllowedPhaseOffset这个值,则W32Time将直接将时间一次性修改正确;
当时间差大于LargePhaseOffset时,且当时间差小于MaxAllowedPhaseOffset这个值,则以渐进式的方式进行时间修改,直到时间正确为止。

总结:如果每次到了时间间隔确实不一定会记录时间同步,到了间隔时间会进行时间取样,如果没有超过阈值,就不需要同步,那么不同步就不会有记录。

不需要同步的情况:因为如果时间差小于LargePhaseOffset时, 认为是同步的,默认值为5秒。

需要同步的情况:
1 只有每次到了时间间隔,当时间差大于LargePhaseOffset时,且当时间差超过MaxAllowedPhaseOffset这个值,则W32Time将直接将时间一次性修改正确;

REF: >你的NTP服务器是什么系统搭建的呢?因为一般的时钟服务器有两种支持的协议类型:SNTP(简单网络时间协议,目前比较主流)和Time Protocol(时间协议)
如果是Unix,一般支持Time Protocol,当然也支持SNTP。它一般在TCP/UDP 37端口对客户端进行监听。
如果是Windows,则使用SNTP比较多。它一般在TCP/UDP 123端口对客户端进行监听。
当然,不管使用的是哪种类型,都可以使用一款叫做NTPC(Network Time Protocol)免费小软件来进行时间同步。它不需要安装,只让它每次随系统启动即可。设置也很简单,就不多说了。
上面的方法并没有从系统级别进行修改,只是简单的让它自动校时,类似请个小保姆手工调整时间
其实,还可以通过修改注册表的方法让你的DC和外部时间源来同步
以下资料来自与微软:
配置 Windows 时间服务以使用外部时间源
要将内部时间服务器配置为与外部时间源同步,请按照下列步骤 *** 作:
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\NtpServer
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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10841852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存