各种NTP SERVER平台软件测试与测试结果一、测试的软件与结果 (2)二、各NTP SERVER配置与测试方法 (2)2.1 CENTOS LINUX NTP配置与测试 (2)2.2 WINDOWS NTP SERVER设置 (5)想做NTP SERVER功能,实现全网时钟同步,以为很简单的功能,但实际做起来却是阻碍重重。
尤其是windows 服务器自带的NTP SERVER功能,耗费的时间最多,效果却不是很理想。
为了大家以后少走弯路,特写此文档如下。
文档参考了网上的资料,并根据测试过程中发现的问题,多方查找资料后完善的。
相较而言,算是至今为止最完善的资料了。
一、测试的软件与结果以上测试结果以能查找到的资料为参考的情况下,多番尝试后做的测试结果。
相对来说,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、安装NTPYum install –y ntp2.1.3、配置NTP2.1.3.1 备份配置Cp /etc/ntp.conf /etc/ntp.conf.old2.1.3.2 修改配置Vi /etc/ntp.conf允许相应的网段访问与校时restrict 192.168.76.0 mask 255.255.255.0 nomodifynotrap2.1.3.3关闭防火墙功能,仅供测试使用(centos7使用firewall)Systemctl stop firewalld.service实际情况下不允许这样做,应该启用并开放防火墙端口查看网络接口对应的区域Firewall-cmd get-zone-of-interface=ens32 #为public启用防火墙并开放端口Systemctl start firewalld.servicefirewall-cmd --zone=public --add-port=123/udp–permanent2.1.3.4 启动NTP服务Ntpdate 202.112.128.33 #更新系统时间Hwclock–w --systohc #设置硬件时钟与系统时钟同步Systemctl start ntpd #启动NTP服务或service ntpd startsystemctl enable ntp#设置为开机自动启动Cat /var/log/messages #查看日志信息,默认使用此文件2.1.3.5 验证NTP服务器时钟可以使用ntpq命令,检查本地服务器的时钟如何通过NTP实现同步。
各参数意义如下: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.33Server 202.112.10.60 #备用上级时间服务器为202.112.10.60Fudge 127.127.1.0 stratum 3 #设置本地时间级别为3,如果上级时间服务器均失效,对外发布本地时间,时间层级是4。
Driftfile /var/lib/ntp/drift #本地与上层服务器BIOS晶片振荡频率差值保存目录,不需要修改!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 ntpd2.2 WINDOWS NTP SERVER设置2.2.1 windows 如何从广域网时间服务器,同步时间?1)将时间服务器改成,中国科学院国家授时中心net time /setsntp : 210.72.145.442)启动时间同步服务sc start w32time3)同步时间w32tm /resync实际上,大多数情况下,光作第三步即可。
2.2.2 linux 如何从广域网时间服务器,同步时间?同步时间ntpdate 210.72.145.44保存hwclock–systohc老电脑用这个命令才能保存hwclock --systohc --directisa–localtime2.2.3 windows 和 linux 客户端,如何从局域网windows电脑获得时间?win:net use //192.168.0.1/ipc$ /user:用户名密码目的登陆到服务器net time //192.168.0.1 /set目的设置密码linux:首先安装sambanet time set -I 192.168.0.1或者(linux是客户机,win是域控制器)ntpdate 192.168.10.12.2.4 windows是否可以去linux网络时间服务器中获取时间?可以,参照 1,把时间服务器改成 即可。
2.2.5 win作为客户机,调整同步间隔。
展开[ HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Tim eProviders/NtpClient ] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的2.2.6 用win搭建ntp时间服务器(从上级获取时间,并为客户机提供时间)1). 将服务器类型更改为 NTP。
为此,请按照下列步骤操作:a. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
b. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Param eters/Typec. 在右窗格中,右键单击“Type”,然后单击“修改”。
d. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。
2). 将 AnnounceFlags 设置为 5。
为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Confi g/AnnounceFlagsb. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
c. 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。
该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。
3). 启用 NTPServer。
为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeP roviders/NtpServerb. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c. 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
4). 指定时间源。
为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Param eters/NtpServerb. 在右窗格中,右键单击“NtpServer”,然后单击“修改”。
c. 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。
注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。
列出的每个 DNS 名称都必须是唯一的。
必须在每个 DNS 名称后面附加 ,0x1。
如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。
5). 选择轮询间隔。
为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeP roviders/NtpClient/SpecialPollIntervalb. 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。
c. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。
注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。
建议值为 900(十进制)。