Linux【工具 01】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)

本文详细介绍了Linux服务器和Windows客户端的NTP(NetworkTimeProtocol)配置,涉及default权限设置、IP限制、服务器选择、stratum层次、同步过程、防火墙与安全组设置等内容,旨在帮助读者正确配置NTP以实现时间同步。
摘要由CSDN通过智能技术生成

1.default表示对所有的计算机进行控制

restrict default nomodify notrap nopeer noquery

局域网可放行可以指定网段或列出单独IP

restrict xxx.xxx.xxx.x mask 255.255.255.0 nomodify

restrict xxx.xxx.xxx.x nomodify

1.end

restrict 127.0.0.1
restrict ::1

2.注释掉公网NTP服务器

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

2.end

3.开启自身同步

server 127.127.1.0
Fudge 127.127.1.0 stratum 8

3.end

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor


### 2.3 服务器端测试



重启服务

systemctl restart ntpd

测试

[root@aliyun ~]# ntpstat
synchronised to local net (127.127.1.0) at stratum 6
time correct to within 949 ms
polling server every 64 s


## 3.Linux客户端配置


### 3.1 安装


安装过程跟服务器端一致,这里不再赘述。


### 3.2 客户端配置


`ntp.conf`修改前不再赘述,修改后:



driftfile /var/lib/ntp/drift

restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

1.注释掉公网NTP服务器

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

1.end

2.开启服务器同步

server aliyun
Fudge aliyun stratum 8

2.end

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor


### 3.3 客户端测试



查看NTP服务是否开启

[root@tcloud ~]# timedatectl
Local time: Fri 2022-03-25 15:29:25 CST
Universal time: Fri 2022-03-25 07:29:25 UTC
RTC time: Fri 2022-03-25 07:29:24
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

开启NTP服务

[root@tcloud ~]# timedatectl set-ntp yes
[root@tcloud ~]# timedatectl
Local time: Fri 2022-03-25 15:52:30 CST
Universal time: Fri 2022-03-25 07:52:30 UTC
RTC time: Fri 2022-03-25 07:52:29
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a



重启服务

systemctl restart ntpd

测试

[root@tcloud ~]# ntpstat
unsynchronised
time server re-starting
polling server every 8 s

配置后一般要等待几分钟才能与/etc/ntp.conf中的服务器端完成同步

[root@tcloud ~]# ntpstat
synchronised to NTP server (101.201.69.99) at stratum 7
time correct to within 968 ms
polling server every 64 s


### 3.4 另一种方式


使用`ntpdate`命令结合定时任务实现时间同步。此时要停止`ntpd`服务器,测试`ntpdate aliyun`报错,查看报错信息:



[root@tcloud ~]# ntpdate -d aliyun
28 Mar 15:33:22 ntpdate[17145]: ntpdate 4.2.6p5@1.2349-o Tue Jun 23 15:38:19 UTC 2020 (1)
Looking for host aliyun and service ntp
host found : aliyun
transmit(101.201.69.99)
101.201.69.99: Server dropped: no data
server 101.201.69.99, port 123
28 Mar 15:33:30 ntpdate[17145]: no server suitable for synchronization found


解决:关闭防火墙,配置`aliyun`服务器的安全组放开端口`123`。



端口开放后

[root@tcloud ~]# ntpdate aliyun
28 Mar 16:06:57 ntpdate[2330]: adjust time server 101.201.69.99 offset 0.000112 sec



添加定时任务

vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

/etc/crontab 内容如下

For details see man 4 crontabs

Example of job definition:

.---------------- minute (0 - 59)

| .------------- hour (0 - 23)

| | .---------- day of month (1 - 31)

| | | .------- month (1 - 12) OR jan,feb,mar,apr …

| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

| | | | |

* * * * * user-name command to be executed

每分钟同步一次

*/1 * * * * root ntpdate aliyun


## 4.Windows客户端配置


### 4.1 配置并启用客户端


`Win键+r`输入`gpedit.msc`打开本地组策略编辑器,找到`配置 Windows NTP 客户端`(计算间配置-管理模板-系统-Windows 时间服务-时间提供程序)进行客户端配置:


![在这里插入图片描述](https://img-blog.csdnimg.cn/33a4eddcca1144139b311f3850cf4d86.png#pic_center)


配置页面:


![在这里插入图片描述](https://img-blog.csdnimg.cn/4cc63eea37fa4da8b198a40fb580919e.png#pic_center)


启用客户端配置:


![在这里插入图片描述](https://img-blog.csdnimg.cn/596d8588882a44d9a24b0ceb7e80a09a.png#pic_center)


### 4.2 使用客户端配置


![在这里插入图片描述](https://img-blog.csdnimg.cn/94dd2b447cc045aaac71af2c4d822eb8.png#pic_center)


## 5.ntp服务其他参数配置


### 5.1 查看ntp服务器有无和上层ntp连通



[root@aliyun ~]# ntpstat
synchronised to NTP server (139.199.214.202) at stratum 3
time correct to within 1010 ms
polling server every 64 s


### 5.2 查看ntp服务器与上层ntp的状态



[root@aliyun ~]# ntpq -p
remote refid st t when poll reach delay offset jitter

+skitty.itu.ch 84.16.67.12 2 u 49 64 17 174.891 20.582 5.712
+139.199.214.202 100.122.36.196 2 u 47 64 37 46.355 43.764 9.636
-time.cloudflare 10.28.12.207 3 u 49 64 37 216.628 31.101 12.642
*tick.ntp.infoma .GPS. 1 u 49 64 37 156.665 12.054 11.269

或者使用以下命令查看实时状态

[root@aliyun ~]# watch “ntpq -p”


* remote:列出源的 IP 地址或主机名。第一列中的字符指示源的质量。星号 ( \* ) 表示该源是当前引用。
* refid:参考上一层ntp主机地址。
* st:stratum阶层。
* when:多少秒前曾经同步过时间。指出从轮询源开始已过去的时间(秒)。
* poll:下次更新在多少秒后。指出轮询间隔时间。该值会根据本地时钟的精度相应增加。
* reach:已经向上层ntp服务器要求更新的次数。是一个八进制数字,指出源的可存取性。值 377 表示源已应答了前八个连续轮询。
* delay:网络延迟。
* offset:时间补偿。是源时钟与本地时钟的时间差(毫秒)。
* jitter:系统时间与bios时间差。


### 5.3 从其他博客收集的信息


#### 5.3.1 /etc/ntp.conf 配置内容



driftfile /var/lib/ntp/drift

1. 权限设置 包括放行上层服务器以及开放局域网用户来源

restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

放行局域网用户来源 或者列出单独IP

restrict xxx.xxx.xxx.x mask 255.255.255.0 nomodify

2. 设定主机来源 请先将原本的 [0|1|2|3].centos.pool.ntp.org 注掉

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

以这部主机为最优先的server

server xxx.xxx.xxx.xx prefer

3. 默认的一个内部时钟数据 用在没有外部NTP服务器时 使用它为局域网用户提供服务

server 127.127.1.0
Fudge 127.127.1.0 stratum 8

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor


#### 5.3.2 restrict选项格式


restrict [ 客户端IP ] mask [ IP掩码 ] [参数]


`客户端IP`和`IP掩码`指定了对网络中哪些范围的计算机进行控制,如果使用default关键字,则表示对所有的计算机进行控制,参数指定了具体的限制内容,常见的参数如下:


* ignore:拒绝连接到NTP服务器。
* nomodiy: 客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
* noquery: 不提供客户端的时间查询。
* notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。
* notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。
* nopeer: 提供时间服务,但不作为对等体。
* kod: 向不安全的访问者发送Kiss-Of-Death报文。


#### 5.3.3 server选项格式


server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]


其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:


* key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。
* version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。
* prefer: 如果有多个server选项,具有该参数的服务器有限使用。
* mode: 指定数据报文mode字段的值。
* minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。
* maxpoll: 指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。
* iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。


#### 5.3.4 层次(stratum)


stratum根据上层server的层次而设定(+1)。对于提供network time service provider的主机来说,stratum的设定要尽可能准确。而作为局域网的time service provider,通常将stratum设置为10。


0层的服务器采用的是原子钟、GPS钟等物理设备,stratum 1与stratum 0 是直接相连的,往后的stratum与上一层stratum通过网络相连,同一层的server也可以交互。ntpd对下层client来说是service server,对于上层server来说它是client。ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟。所有的配置都在/etc/ntp.conf文件中。
**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/4953d6c3753d7a8dd9a1c40bb6eb50e2.png)
![img](https://img-blog.csdnimg.cn/img_convert/79d2e93e9a61f91e1533c0bad7fa7009.png)
![img](https://img-blog.csdnimg.cn/img_convert/f5635b5fc27b81d68a0976b7c82e5277.png)
![img](https://img-blog.csdnimg.cn/img_convert/0a56ba64f3fb672812d2ed9a8321df18.png)
![img](https://img-blog.csdnimg.cn/img_convert/d59fa94ba723e45720c24065a424b6c1.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

795684)]
[外链图片转存中...(img-766MGa6P-1714273795684)]
[外链图片转存中...(img-mMMB97bf-1714273795684)]
[外链图片转存中...(img-Px8HjsfD-1714273795685)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,使用NTP服务来完成时间同步的过程非常简单。NTP(Network Time Protocol)是一种用于网络中时间同步的协议。它能够通过计算网络延迟,并校正系统时间来保证各个机器之间的时间一致性。 在Linux系统中,可以使用ntpdate或者chronyd命令来进行时间同步。其中ntpdate命令是最常见和简单的时间同步命令,但是它在最新版本的Linux系统中被废弃了。而chronyd命令是一个比ntpdate更为先进的时间同步软件,它支持动态校正系统时间,并且可以在网络断开连接的时候保存系统时间的误差值,以便在网络重新连接之后进行快速校正。 在使用NTP同步时间之前,需要确保系统已经安装了ntp或者chrony软件包。一旦安装完成之后,就可以打开ntp或chrony配置文件进行基本设置。在这个配置文件中,需要指定一个或多个NTP服务器地址,即NTP服务器的IP地址或域名。这些服务器将为客户端提供高质量的时间同步服务。可以在配置文件中使用server或pool来指定NTP服务器地址,例如: server ntp.server.com pool pool.ntp.org 在指定了NTP服务器地址之后,接着需要启动NTP服务。可以使用ntpdate命令来进行时间同步,例如: ntpdate ntp.server.com 或者使用chronyd来启动NTP服务,例如: systemctl start chronyd 以上是Linux客户端使用NTP服务进行时间同步的基本过程。使用NTP服务来完成时间同步可以有效避免不同计算机之间的时间误差,从而保证网络上各个计算机进行数据传输时的时间一致性,提高整个网络体系的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值