各种NTP SERVER平台软件测试与测试结果

更新时间:2024-06-19 12:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

各种NTP SERVER平台软件测试与测试结果

一、测试的软件与结果 ................................................................................................................... 2 二、各NTP SERVER配置与测试方法 ............................................................................................. 2

2.1 CENTOS LINUX NTP配置与测试......................................................................................... 2 2.2 WINDOWS NTP SERVER设置.............................................................................................. 5

1

想做NTP SERVER功能,实现全网时钟同步,以为很简单的功能,但实际做起来却是阻碍重重。尤其是windows 服务器自带的NTP SERVER功能,耗费的时间最多,效果却不是很理想。为了大家以后少走弯路,特写此文档如下。

文档参考了网上的资料,并根据测试过程中发现的问题,多方查找资料后完善的。相较而言,算是至今为止最完善的资料了。

一、测试的软件与结果

NTP软件测试结果 NTP CLIENT兼容性 序号 NTP SERVER Windows Linux client client windows开启NTP SERVER功能 LINUX NTP服务 ABOUT TIME 自有客户端 TimeSyncAll_1.3 自有客户端 r-iTimeSync 自有客户端 支持 支持 支持 支持 vsphere5.0 华为USG防火墙 不支持 支持 不支持 不支持 未测 中兴5250交换机 支持 支持 不支持 不支持 未测 中兴3900交换机 支持 支持 不支持 不支持 支持 中兴2800S交换机 不支持 支持 不支持 不支持 不支持 1 2 3 4 5 不支持 支持 不支持 不支持 未测 不支持 不支持 不支持 不支持 未测 未测 以上测试结果以能查找到的资料为参考的情况下,多番尝试后做的测试结果。

相对来说,LINUX NTP服务的兼容性最好,这也可以理解,大部分的嵌入式系统(交换机、防火墙等设备)后台均是类UNIX系统。Windows较差。所以如果需要NTP服务功能,有选择的话还是选LINUX NTP吧。但如果只是windows系统时钟同步,不考虑交换机与防火墙等设备,可以考虑windows自带NTP SERVER。

二、各NTP SERVER配置与测试方法

上表中的3、4、5项比较简单,不再提供安装配置方法。各测试方法简单,部分提供简述,并不提供非常详细的方法。

2.1 CENTOS LINUX NTP配置与测试

2.1.1、安装与配置系统,并保证网络正常 2.1.2、安装NTP

2

Yum install –y ntp 2.1.3、配置NTP 2.1.3.1 备份配置

Cp /etc/ntp.conf /etc/ntp.conf.old

2.1.3.2 修改配置

Vi /etc/ntp.conf

允许相应的网段访问与校时

restrict 192.168.76.0 mask 255.255.255.0 nomodifynotrap

2.1.3.3关闭防火墙功能,仅供测试使用(centos7使用firewall)

Systemctl stop firewalld.service

实际情况下不允许这样做,应该启用并开放防火墙端口 查看网络接口对应的区域

Firewall-cmd get-zone-of-interface=ens32 #为public

启用防火墙并开放端口

Systemctl start firewalld.service

firewall-cmd --zone=public --add-port=123/udp–permanent

2.1.3.4 启动NTP服务

Ntpdate 202.112.128.33 #更新系统时间

Hwclock–w --systohc #设置硬件时钟与系统时钟同步 Systemctl start ntpd #启动NTP服务或service ntpd start systemctl enable ntp#设置为开机自动启动

Cat /var/log/messages #查看日志信息,默认使用此文件

2.1.3.5 验证NTP服务器时钟

可以使用ntpq命令,检查本地服务器的时钟如何通过NTP实现同步。

各参数意义如下:

3

2.1.4、测试结果

Windows7 测试成功 Vsphere 5.0 测试成功

中兴5250-24T,中兴2826S 测试成功

2.1.5、Linux ntp其他配置项 ####restrict参数####

Kod使用kod技术防范“kiss of death”攻击 Ignore 拒绝所有NTP连接

Nomodify用户端不能使用ntpc,ntpq修改时间服务参数,但是可以网络校时 Noquery用户端不能使用ntpc,ntpq查询时间服务器参数,不可以进行网络校时 Notrap不提供远程日志功能 Notrust拒绝没有认证的客户端

Restrict ip或者restrict IP地址 + 子网掩码 + 参数例如:

Restrict default nomodifynotrapnopeernoquery #默认拒绝所有访问

Restrict 192.168.10.0 mask 255.255.255.0 nomodify #添加192.168.10.0/24网段访问与校时,但不可以修改服务器时间参数

####SERVER参数####

Server + ip或者server + hostname 添加服务器 使用prefer参数可以设置优先上级服务器,例如:

Server 202.112.128.33 prefer #默认上级时间服务器为202.112.128.33 Server 202.112.10.60 #备用上级时间服务器为202.112.10.60 Fudge 127.127.1.0 stratum 3 #设置本地时间级别为3,如果上级时间服务器均失效,对外发布本地时间,时间层级是4。

Driftfile /var/lib/ntp/drift #本地与上层服务器BIOS晶片振荡频率差值保存目录,

4

不需要修改!

Keys /etc/ntp/keys #可以借此来给客户端设置认证信息,不需要修改! 使用自定义日志文件 logfile /var/log/ntpd.log

并在系统中修改该文件所有权和SELINUX上下文 # chownntp:ntp /var/log/ntpd.log

# chcon -t ntpd_log_t /var/log/ntpd.log #systemctl restart ntpd

2.2 WINDOWS NTP SERVER设置

2.2.1 windows 如何从广域网时间服务器,同步时间? 1)将时间服务器改成,中国科学院国家授时中心 net time /setsntp : 210.72.145.44 2)启动时间同步服务 sc start w32time 3)同步时间 w32tm /resync

实际上,大多数情况下,光作第三步即可。 2.2.2 linux 如何从广域网时间服务器,同步时间? 同步时间

ntpdate 210.72.145.44 保存

hwclock–systohc 老电脑用这个命令才能保存

hwclock --systohc --directisa–localtime

2.2.3 windows 和 linux 客户端,如何从局域网windows电脑获得时间?win:

net use //192.168.0.1/ipc$ /user:用户名 密码 目的登陆到服务器

net time //192.168.0.1 /set 目的设置密码 linux: 首先安装samba

net time set -I 192.168.0.1

或者 (linux是客户机,win是域控制器)

5

ntpdate 192.168.10.1

2.2.4 windows是否可以去linux网络时间服务器中获取时间? 可以,参照 1,把时间服务器改成 clock.redhat.com 即可。

2.2.5 win作为客户机,调整同步间隔。 展开

[ HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient ] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的

2.2.6 用win搭建ntp时间服务器(从上级获取时间,并为客户机提供时间) 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,然后单击“确定”。该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。

3). 启用 NTPServer。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpServer

6

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,然后单击“确定”。

7

注意: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

一般来说我们没有必要自己搭建时间服务器,直接从网上最精确的时间服务器获取时间即可。

个人认为中国的时间比美国的准,微软的要比红帽的和欧洲linux的准,原因是网速,延时越小越准。

时间同步一级时间服务器更精确(stratum 1)、二级时间服务器(stratum 2)、……、15级时间服务器(stratum 15)。 stratum 1:

210.72.145.44 中国科学院国家授时中心 s1a.time.edu.cn 北京邮电大学 s1b.time.edu.cn 清华大学 s1c.time.edu.cn 北京大学 s1d.time.edu.cn 东南大学 s1e.time.edu.cn 清华大学 time.windows.com 美国微软

2.2.7.相关注册表项说明

注册表项 MaxPosPhaseCorrection

8

路径

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config

注意:该项指定服务可进行的最大正时间校准量(以秒为单位)。如果服务确定某个更改幅度大于所需的幅度,它将记录一个事件。(0xFFFFFFFF是一种特殊情况,它表示总是校准时间。)域成员的默认值是 0xFFFFFFFF。独立客户端和服务器的默认值是54,000,即15小时。

注册表项MaxNegPhaseCorrection 路径

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config

注意:该项指定服务可进行的最大负时间校准量(以秒为单位)。如果服务确定某个更改幅度大于所需的幅度,它将转而记录一个事件。(-1是一种特殊情况,它表示总是校准时间。)域成员的默认值是 0xFFFFFFFF。独立客户端和服务器的默认值是54,000,即15小时。

注册表项 MaxPollInterval 路径

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config

注意:该项指定系统轮询间隔所允许的最大间隔(单位是对数表示的秒)。尽管系统必须根据预定的间隔进行轮询,但是提供程序可以根据请求拒绝生成示例。域成员的默认值是10。独立客户端和服务器的默认值是15。

注册表项 SpecialPollInterval 路径

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\TimeProviders\\NtpClient

注意: 该项指定手动对等端的特殊轮询间隔(以秒为单位)。当启用SpecialInterval 0x1 标志时,W32Time 将使用此轮询间隔而非操作系统确定的轮询间隔。域成员的默认值是 3,600。独立客户端和服务器的默认值是 604,800。

注册表项MaxAllowedPhaseOffset 路径

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config

注意:该项指定 W32Time 尝试使用时钟速率调整计算机时钟的最大偏移量(以秒为单位)。当偏移量大于该速率时,W32Time 将直接设置计算机时钟。域成员的默认值是 300。独立客户端和服务器的默认值是 1。

9

本文来源:https://www.bwwdw.com/article/1pe3.html

Top