NTP时间同步指南 Linux(Ubuntu) / Windows

上网导航 2023-09-01 382 0条评论
摘要: 一、什么是NPT ?二、为什么要用NPT ?三、如何配置NTP ?...

一、什么是NTP ? NTP

Network Time Protocol 网络时间协议

它属于应用层协议,传输层采用UDP,用于同步设备之间的时间。提供时间规范的的设备为服务器,接收时间服务的设备为客户端。NTP的时间来源是国际标准时间UTC(Universial Time Coordinated)

ntpd

NTP守护进程

它是操作系统守护进程,提供完整的NTP应用服务。为了追求最高精度(可以达到约232皮秒),ntpd会完成复杂的计算。ntpd启动时,从配置文件ntp.conf中读取同步数据来源以及相关设置。使用ntpq命令可以查看当前连接的时间服务器状态。

二、为什么要用NTP ?

对于计算机集群,计算机设备要使用统一的标准时间,来记录各种事件的发生时序,若计算机时间不同步,很多依赖时序运行的应用就会逻辑混乱,出现问题。

配置再好,性能再高的计算机,运行久了也会有时钟误差。只有原子钟能够持续提供高精度的时间,但其费用昂贵,只有少数计算机可以连接原子钟,作为公共NTP服务器。

NTP主要应用于要求网络中全部设备时钟保持一致的场景,比如从计算机集群中获取日志,多终端的计费系统计时,重启网络中所有设备等。

三、如何配置NTP服务器 ? Ubuntu

要把一台主机用作NTP服务器,首先要保证其能通外网。

它先与外部时间服务器同步,然后给内部各主机提供同步服务。

第一步:安装ntp软件包

第二步:修改配置文件

第三步:启动ntpd进程

第四步:监视时间同步情况

第五步:退出ntpd进程

1.安装ntp

~$ sudo apt install ntp

2.编辑配置文件

安装ntpd后,Ubuntu下默认的配置文件绝对路径是 /etc/ntp.conf

~$ sudo vim /etc/ntp.conf

具体编辑如下:

设置本机为NTP服务器

继续添加语句

# set local as server

server 127.127.1.0

fudge 127.127.1.0 stratum 10

设置层级为10,可根据具体情况修改。

层级低的向层级高的获取时间,对于封闭集群,建议stratum设置为0添加限制访问权限

只允许规定网段的主机访问本服务器,于是在

restrict 127.0.0.1

restrict ::1

这两句下面添加语句(请使用ifconfig命令查询你的IP所在网段,mask掩码根据具体情况设置)

restrict 172.16.166.0 mask 255.255.255.0 nomodify notrap

nomodify 限制客户端不能使用ntpc和ntpq来修改服务器的时间参数

notrap 不提供trap这个远程时间登录的功能

另外还提供的参数有:

ignore 拒绝所有类型的NTP连接

noquery 禁止客户端查询服务器时间

notrust 拒绝没有认证的客户端

nopeer 不与同一层级的NTP服务器同步保存退出

Esc,:wq,Enter,休息一下,泡杯咖啡。 3.启动ntpd进程

~$ sudo service ntp start

查看是否开启成功:

~$ sudo service ntp status

4.监视时间同步情况

启动ntpd进程之后,服务器信息是不会打印出来的,需要用监视工具进行查看和监视,一般用到这两个:ntpstat 和 ntpq

项表示

remote

*上级响应中最精准的NTP服务器 +响应请求的NTP服务器

refid

NTP响应服务器的更高级的时间基准服务器

st

响应的NTP服务器对应的stratum层级(stratum意义:低层级向高层级获取时间)

辅助信息

when

多久前做过时间同步更新(秒)

poll

下次更新在多久之后(秒)

reach

已向上层服务器要求更新次数

delay

网络传输中的延迟时间

offset

本地与服务器时间的差距,数值越接近0,时间差越小

jitter

系统时间与硬件时间的差异

5.退出ntpd进程

~$ sudo service ntp stop 即可

Windows

windows上配置NTP服务器的方法较简单,分为以下几步

第一步:关闭默认的时间提供程序

第二步:修改相应注册表项

第三步:剩下的交给命令行

1.关闭默认的时间提供程序 2.修改相应注册表项 3.命令行运行 四、客户端如何使用NTP服务? Ubuntu

客户端和服务端只是在配置文件上有所不同

第一步:安装ntp软件包,以及ntpstat工具

第二步:修改配置文件

第三步:启动ntpd进程

第四步:监视时间同步情况

第五步:退出ntpd进程

第六步:添加定时自动同步功能

1.安装ntp和ntpstat

~$ sudo apt install ntp

~$ sudo apt install ntpstat

2.修改配置文件

~$ sudo vim /etc/ntp.conf

具体修改如下:

3.启动ntpd进程

请先确保您的NTP服务器已经开启ntp服务进程

~$ sudo service ntp start

查看是否开启成功:

~$ sudo service ntp status

4.监视时间同步情况

~$ sudo ntpstat

或者

~$ sudo watch ntpq -p(持续监视)

5.退出ntpd进程

~$ sudo service ntp stop

6.添加定时自动同步功能

现在我设置每隔2小时进行一次时间同步,可以作以下编辑:

0 */2 * * * root service ntp start; sleep 20; service ntp stop;

中间sleep20秒是为了ntpd有足够时间去获取同步,如果使用ntpdate(不推荐)则不需要此操作

Windows

如果您使用的是windows系统,那么需要

第一步:以管理员身份运行Windows命令行终端

第二步:用Windows自带的w32tm服务完成同步

第三步:其它相关操作

1. 运行Windows命令行终端

Windows菜单搜索“命令行提示符”

右键点击并选择“以管理员身份运行”,弹出终端

NTP时间同步指南 Linux(Ubuntu) / Windows

2. 用w32tm服务完成同步 3. 其它相关操作

五、*其它 为什么用ntpd不用ntpdate? 系统时间、硬件时间以及它们的同步 用tzselect工具手动修改时区

You can make this change permanent for yourself by appending the line

TZ=‘Asia/Shanghai’; export TZ

to the file ‘.profile’ in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Shanghai

六、参考资料

国内常用NTP服务器地址

Linux时间同步

ntp服务的细节全解析

Linux配置ntp时间服务器

Linux中怎么搭建NTP服务器

Linux配置自动时间同步

Windows 时间服务技术参考

文章版权及转载声明:

作者:上网导航本文地址:https://www.90xe.com/post/3379.html发布于 2023-09-01
文章转载或复制请以超链接形式并注明出处技术导航

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏