NTP服务器和客户端搭建
NTP协议介绍及实现方案(服务器端和客户端)

NTP协议介绍及实现方案1 NTP协议简介 (2)2 NTP协议实现原理 (2)2.1 NTP协议的分层结构 (2)2.2 NTP协议的对时方式 (3)2.3 NTP协议的工作模式 (4)3 NTP报文格式 (4)4 NTP实现方案 (7)4.1 服务器端实现方案 (9)4.2 客户端实现方案 (11)5 遗留问题 (12)6 参考文献 (12)1 NTP协议简介NTP(Network Time Protocol,网络时间协议)是由RFC1305定义的时间同步协议,用来在分布时间服务器和客户端之间进行时钟同步,同时也是一个因特网标准,它采用应用层同步方法将计算机时钟和UTC时间(格林尼治时间)进行同步,因此时间精度不高,一般在10ms到100ms之间。
NTP协议属于应用层协议,定义了协议实现过程中所使用的结构、算法、实体和协议,它是基于IP和UDP的,也可以被其它协议组使用。
NTP协议时OSI参考模型的最高层协议,符合UDP传输协议格式,拥有专用端口123。
NTP协议是OSI参考模型的高层协议,符合UDP传输协议格式,拥有专用端口123,在嵌入式linux系统中,采用Server/Cilent的模式来实现网络通信,客户端主动提出申请,而服务器端被动打开。
又由于使用UDP套接字建立连接的好处在于,只有被该套接字指定为远程地址的计算机端口才能向该套接字发送数据,如果没有建立连接,任何IP地址和端口都能将数据发送到这个UDP套接字上。
所以采用建立连接的UDP套接字来传输时间信息。
2 NTP协议实现原理2.1 NTP协议的分层结构NTP采用分层的方法来定义时钟的准确性,可分为从0~15共16个级别,级别编码越低,精确度和重要性越高。
第0级设备是时间同步网络的基准时间参考源,位于同步子网络的顶端,目前普遍采用全球卫星定位系统,即由GPS播出的UTC时间代码。
级别(n+1)从级别n获取时间。
图1 NTP协议分层结构图子网络中的设备可以扮演多重角色,可以做客户机、服务器,也可以做对等机。
Windowsntp客户端配置

Windows ntp服务客户端配置
1、打开“开始”,点击运行输入gpedit.msc,然后“确定”
2、进入如下界面,单击“计算机配置”下的管理模板
3、进入如下界面,双击“系统”,可看到如下选项
4、双击“windows时间服务”,后双击“时间提供程序”
5、双击“启动windows NTP 客户端”,然后选择”已启用”选项,点击“下一设置”
6、将“设置”
7、然后确定即可,双击桌面右下角的时间,然后选择
“internet时间”选项
8、修改如下,点击“应用”,选择“立即更新”,不出问题的话你将获得精确的gps
时间,如果更新后提示连接超时,再尝试几次,初次同步比较缓慢。
9、如果提示RPC服务器不可用,在“开始”——“运行”中输入Services.msc,
然后找到Remote Procedure Call (RPC)和Remote Procedure Call (RPC) Locator 选项双击后修改启动类型为“自动”,然后重启计算机就ok了
10、可通过如下设置进行同步频率的设置在“开始”——“运行”中输入regedit,修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProvid ers\NtpClient\SpecialPollInterval,值为十进制900(双击SpecialPollInterval 即可进行修改)。
server2008搭建NTP时间服务器和客户端

server2008搭建NTP时间服务器和客户端背景:处于内⽹内的多台服务器(我们称之为NTP客户端)时间经过长时间运⾏,系统时间相差5分钟,有⼀台服务器连接外⽹(我们称为NTP服务器)。
由于外⽹服务器可以和internet时间同步,故选做NTP服务器。
部署步骤:⼀:服务端默认情况下,独⽴服务器WINDOWS SERVER 2008是作为NTP客户端⼯作的,所以必须通过修改注册表,以使系统作为NTP服务器运⾏。
⼯作之前请先备份注册表⽂件。
1.修改以下选项的键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer内的[Enabled]设定为1。
打开NTP服务器功能(默认是不开启NTP Server服务,除⾮电脑升级成为域控制站)。
2.修改以下键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags设定为5.该设定强制主机将它⾃⾝宣布为可靠的时间源,从⽽使⽤内置的互补⾦属氧化物半导体 (CMOS) 时钟。
如果要采⽤外⾯的时间服务器就⽤默认的a值即可.3.修改以下键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type内的[Type]设定为NTP。
4.重启Win32Time服务:先关闭 windows time 服务,再开启该服务。
可以在“管理⼯具”的“服务”界⾯下完成,也可以以 DOS ⽅式输⼊“net stop w32time”、“net start w32time”。
⾄此,已完成服务器端设定.⼆:客户端实际上客户端可以通过界⾯设置,具体如下:1、开始-->运⾏输⼊gpedit.msc2、计算机配置-->管理模板-->系统-->Windows时间服务-->时间提供程序-->右单击“配置Window NTP客户端”,选择属性。
NTP时间同步客户端配置步骤

如果想设置NTP客户端,与时间服务器同步,可以采用如下步骤
1、客户端查询NTP服务器
ntp客户端使用 ntpdate 命令来确认是否可用指定的 ntp 服务器进行时间同步,命令的结果会显示客户端与服务器的时间偏移。
#ntpdate -d 192.168.30.221
……
18 Mar 10:52:54 ntpdate[23578]: step time server 192.168.30.221 offset 86323.068272 sec
c. driftfile /etc/ntp.drift
(3)编辑/etc/rc.config.d/netdaemons
更改一个参数:
export XNTPD=1 下次重启主机仍然生效
(4)启动xntpd
#date
Wed Mar 19 11:06:54 BEIST 2003
2、编辑 NTP 客户端上的 /etc/ntp.conf文件
内容如下:
#vi /etc/ntp.conf
—————————-
#broadcastclient
server 192.168.30.221
driftfile /etc/ntp.drift
touch
server 133.64.5.84/132.129.24.6
fudge 133.64.5.83 stratum 8
driftfile /etc/ntp.drift
IBM AIX:
xntpd是一个关于网络时间协议的守护进程,它遵循了因特网时间服务器的通用标准。在启动 xntpd 时, xntpd 会读取/etc/ntp.conf 配置文件来确定网络中系统时钟服务器,以ntp 服务器的系统时间为标准,来调整本机的系统时间。
NTP服务器的搭建过程

NTP服务器的搭建过程⼀、因为⼯作需要,偶需要将搭建⼀个NTP服务器来进⾏时间同步的测试,在公司⾥⼀直以为⾮常的难搭建,也是刚刚⼯作的缘故,就等正导师给帮着弄⼀台服务器,结果导师给了我⼀个系统叫Fedora,让我偶⾃⼰搭建,在公司折腾了⼀下午,没弄出来,回到家⾥⾃⼰研究⽤centos 6.0来搭建NTP服务器,最后终于党建成功,感觉centos系统真棒,因为许多东西都安装好了,不⽤⾃⼰安了,真是服务器系统的最佳系统。
先只说步骤不说原理,搭建的过程都是在Vmware下完成的,我的组件步骤是:1、先安装好系统,然后开始查看系统有没有安装NTP服务器组件,⽤ rmp -qa | grep ntp 命令来查看,结果中包含 ntp 4.2 什么什么,说明 ntp 软件已经装好了,这时候只要启动服务service ntpd resatrt,其实服务器就可⽤了,但是需要⽤到⼀些功能,需要进⼀步来进⾏配置,他的参数配置就是配置 /etc/ntp.conf 这个⽂件。
主要功能都在这个⽂件中。
2、修改/etc/ntp.conf:在⽂件中将restrict default kod nomodify notrap nopeer noquery 注释掉(前添加“#”),这个应该是对客户端的限制太多,所以把它去掉。
添加restrict default nomodify notrust以允许所有客户端获取时间数据。
notrust 参数的功能是并需通过认证才能同步,也就是客户端同步命令中必须有keyid 和key才能通过。
3、将 trustedkey 前⾯的#号勾掉,后边指定数字 trustedkey 1 2 3 ,数字任意,但必须与/etc/ntp/keys⽂件中的值保持⼀致。
注释意思:# Specify the key identifiers which are trusted—>"指定密钥标识符是值得信赖的",也就是说明⽤1 2 3 这三个数分别作为认证的 keyid。
NTP时间服务器搭建

NTP时间服务器搭建NTP(Network Time Protocol)是一种用于同步计算机系统时间的网络协议。
它通过一组算法和协议,使得网络中的计算机可以同步其系统时间,以确保各个计算机之间的时间一致性。
在许多关键和时间敏感的应用,如金融交易、日志记录和数据同步中,正确的时间同步对于确保系统的稳定性和安全性至关重要。
因此,搭建一个可靠和准确的NTP时间服务器是非常重要的。
以下是搭建NTP时间服务器的步骤:1.选择合适的硬件:首先,您需要选择一台合适的计算机作为NTP时间服务器。
服务器的硬件应当具备足够的计算能力和稳定性,以确保准确的时间同步。
同时,对于关键的应用,建议选择具备高精度时钟源的服务器。
一些服务器硬件还可以支持外部GPS或无线电时钟源,以提供更加准确的时间同步。
2. 选择适当的操作系统:选择适当的操作系统非常重要,因为不同的操作系统可能具有不同的NTP实现和配置方法。
目前,常用的操作系统如Linux、Windows和FreeBSD等都支持NTP。
您可以选择其中一个操作系统作为NTP时间服务器的基础。
4.配置防火墙和网络设置:确保您的NTP服务器可以在网络上正常工作,您需要根据您的网络设置和防火墙配置,允许NTP流量通过。
NTP使用UDP协议和端口123进行通信。
确保防火墙和路由器正确配置,以允许NTP流量通过。
5.同步时间源的选择:根据您的需求,选择适当的时间源进行时间同步。
一般来说,您可以选择使用互联网上的公共NTP服务器进行时间同步。
这些公共NTP服务器通过各种网络连接方式连接到准确的时间源,并向其他计算机提供时间同步服务。
您可以从NTP官方网站上找到一份公共NTP 服务器列表,并选择适当的连接方式。
另外,您还可以选择使用定时广播电台或连接到GPS或其他时钟源的硬件进行时间同步。
6.测试和监控:在设置完成后,进行一些测试来确保NTP时间服务器正常工作。
您可以使用NTP客户端工具来检查和测试时间同步的准确性。
NTP网络时间服务器(时间同步装置)使用手册

NTP网络时间服务器(时间同步装置)使用手册NTP网络时间服务器(时间同步装置)使用手册1. 概述NTP网络时间服务器是一种用于同步网络中各个设备时间的重要工具。
本手册将详细介绍NTP网络时间服务器的使用方法,帮助用户准确设置和配置时间同步装置,保证网络中设备的时间始终保持一致。
2. 安装与配置2.1 硬件连接首先,将NTP网络时间服务器与网络中心交换机或路由器相连。
确保连接正常,然后将时间同步装置接通电源。
2.2 系统配置进入NTP网络时间服务器的管理界面(通常通过浏览器输入设备的IP地址进入),按照系统要求进行基本配置和初始化设置。
包括设定服务器的IP地址、子网掩码、网关等参数。
3. 时间同步设置3.1 外部时间源选择在时间同步设置中,用户可以选择适合自身需求的外部时间源。
NTP网络时间服务器支持使用GPS、卫星时间信号、国家授时中心等多种外部时间源,用户可以根据实际网络环境选择合适的时间源。
3.2 同步频率设定用户可以在时间同步设置中设定时间同步的频率。
一般建议将同步频率设置为每天一次,这样可以保证网络中设备的时间与外部时间源的同步。
4. 客户端配置为了让网络中所有客户端设备都能接收到经过时间同步的准确时间,需要对客户端设备进行配置。
4.1 Windows系统配置在Windows操作系统中,打开控制面板,选择“日期和时间”选项,然后在“Internet时间”标签下将NTP服务器地址设置为NTP网络时间服务器的IP地址。
4.2 Linux系统配置在Linux操作系统中,找到NTP配置文件(通常位于/etc/ntp.conf)并进行编辑,在文件中指定NTP服务器的IP地址。
4.3 其他系统配置其他系统根据具体操作系统版本进行相应的配置,设置NTP服务器的IP地址作为时间同步源。
5. 故障排除在使用过程中,如果发现时间同步装置存在故障,用户可以按照以下步骤进行排查和解决。
5.1 检查硬件连接首先,检查NTP网络时间服务器与网络设备的连接是否正常,确保网线连接正常,电源供应稳定。
ntp对时过程中常见问题解决办法

Ntp服务器与客户端搭建,通讯过程中遇到的问题:电脑端为服务端以电脑时间校准通讯管理机。
1、Putty执行。
查看当前服务器时间执行命令date –R:Mon, 16 Mar 2020 14:39:10 +08002、Putty执行:ntpdate 192.168.5.1(电脑IP) //以电脑为服务器显示1:16 Mar 14:34:44 ntpdate[1493]: adjust time server 192.168.5.1 offset -0.219094 sec 则成功。
图1如果出现图一也是正常现象,可以成功对时。
显示2:16 Mar 14:34:03 ntpdate[1477]: the NTP socket is in use, exiting这是由于一台机器不能同时作为服务器和客户端使用。
所以:执行ps –ef |grep “ntp”图2在执行:kill -9 1173此时杀死1173进程。
注:在putty 中执行命令查看的是通讯管理机时间。
在电脑cmd(以管理员身份)执行查看的是电脑时间,其他命令同理。
显示3:1.是由于电脑端服务器进程没有启动。
启动此项,启动类型设为:自动。
2.是电脑防火墙没有关闭。
控制面板\所有控制面板项\Windows 防火墙关闭防火墙。
抓包工具正常显示如下:通讯管理机为服务端以通讯管理机时间校对电脑。
注意:1 、与之前对时命令不同。
2 、命令需要在puttY和电脑cmd(以下全为管理员身份,否则命令无效)之间进行,一下有详细说明。
1、在电脑cmd执行:ntpdate -u 192.168.5.10(通讯管理机IP)//命令与之前不同显示1:16 Mar 12:22:13 ntpdate[2307]: adjust time server 192.168.5.10 offset -0.000002 sec 则成功。
显示2:这是由于管理机服务器没有打开。
则在putty中执行:service ntp restart在电脑端CMD执行:ntpdate -u 192.168.5.10(通讯管理机IP)出现adjust time server 192.168.5.10 offset -0.000002 sec 则成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NTP SERVER和CLIENT配置
1NTPSERVER配置
1.1.Windows下配置NTP SERVER
环境:WindowsServer 2012 R2
【运行】-【regedit】打开注册表
1)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\TimeProviders\NtpServer的Enabled的值为1
2)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config的"AnnounceFlags"值为【5】
3)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config的MaxNegPhaseCorrection值为【ffffffff】,十六进制。
4)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config的
MaxPosPhaseCorrection值为【ffffffff】,十六进制。
5)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config的
UpdateInterval值为【a】,十六进制。
6)修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time \Config\LocalClockDispersion 的值为【0】。
,
7)【gpedit.msc】打开组策略编辑器,依次展开【计算机配置】-【管理模板】
-【系统】-【windows时间服务】-【时间提供程序】,启用【WindowsNTP 服务器】
8)重启WindowsTime服务
net stop w32time &&net start w32time
9)检查NTPSERVER服务是否正常运行
Netstat -ano | findstr 123
1.2.Linux配置下配置NTPSERVER
环境:Debian 9
1)apt-get install ntp //安装ntp服务
2)nano /etc/ntp.conf //修改ntp配置文件
修改
restrict 172.16.0.0 mask 255.255.0.0 trust //172.16.0.0/16修改为允许ntp client的IP
添加
server 172.16.2.100 //配置NTPSERVERIP
3)Servicentp start //启动NTP服务2NTPCLIENT配置
2.1、Windows配置NTPCLIENT
打开控制面板
选择Internet时间
选择更改设置
填入ntf服务器IP
2.2、Linux配置NTPCLIENT
环境:Centos 7
Yum install ntp //安装ntp服务包
Vi /etc/ntp.conf//修改ntp服务配置文件
Server X.X.X.X prefer//X.X.X.X为ntp服务器地址,prefer为优先级
Service ntp restart //重启ntp服务,自动同步时间
提示:ntp只是同步系统时间,如果需要同步硬件时间,需要修改以下文件:/etc/sysconfig/ntpd
添加SYNC_HWCLOCK=yes 参数。
2.3、H3C 配置NTPCLIENT
环境:S5500交换机
<core-switch>clock timezone Beijing add 8 //配置时区为北京时区
[core-switch]ntp-service unicast-server ip /配置/IP为NTPSERVERIP [core-switch]display ntp-service status //查看交换机NTP同步状态
[core-switch]display clock //查看时间是否正确
2.4、锐捷配置NTPCLIENT
环境:S2928交换机
JR1-SWITCH(config)#clock timezone beijing 8 //配置时区为北京时区JR1-SWITCH(config)#ntp server IP //配置NTP SERVER IP地址
JR1-SWITCH(config)#show ntp status //检查NTP同步状态
JR1-SWITCH(config)#show clock //检查同步后的时间是否正确。