时间同步服务
Posted 凭栏听枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间同步服务相关的知识,希望对你有一定的参考价值。
时间同步服务
加密和安全都离不开时间的同步,否则各种网络服务可能不能正常运行
公共NTP服务
pool.ntp.org:项目是一个提供可靠易用的NTP服务的虚拟集群cn.pool.ntp.org,0-3.cn.pool.ntp.org
阿里云公共NTP服务器
Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com
windows类: time.pool.aliyun.com
腾讯公共NTP
time1-5.cloud.tencent.com
大学ntp服务
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
国家授时中心服务器:210.72.145.44
美国标准技术院: time.nist.gov
一次性同步时间命令
范例:ntpdate一次性同步时间
#当时间同步出现问题的时候,可以使用ntpdate进行时间的一次性同步
[root@centos7 ~]# date -s '-1 year'
Wed May 6 23:35:02 CST 2020
[root@centos7 ~]# ntpdate ntp.aliyun.com
6 May 14:45:22 ntpdate[1873]: step time server 203.107.6.88 offset 31503600.792913 sec
[root@centos7 ~]# date
Thu May 6 14:45:27 CST 2021
范例:rdate一次性同步时间
[root@centos7 ~]# yum install -y rdate
[root@centos7 ~]# date -s '-1 year'
Wed May 6 14:47:14 CST 2020
[root@centos7 ~]# rdate -s -u time.nist.gov
[root@centos7 ~]# date
Thu May 6 14:54:56 CST 2021
时间同步服务
时间同步软件服务
- ntp
- chrony
ntp
将系统时钟和世界协调UTC同步,精度再局域网内可达0.1ms,在互联网上绝大多是的地方精度可达到1-50ms
项目官网:http://www.ntp.org
chrony
实现NTP协议的自由软件,可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可作为NTPv4(RFC 5950)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。
通过internet同步的两台机器之间的典型精度在几毫秒之内,在LAN中,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度
chrony
包:chrony
两个主要程序:chronyd和chronyc
- chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿
- chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作
服务unit文件:/usr/lib/systemd/system/chronyd.service
监听端口:服务端:123/udp,客户端:323/udp
配置文件:/etc/chrony.conf
chrony.conf文件详解:
server #可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度
pool #该指令的语法与server 指令的语法相似,不同之处在于它用于指定NTP服务器池而不是单个NTP服务器。池名称应解析为随时间可能会变化的多个地址
driftfile #根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿
rtcsync #启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
allow / deny #指定一台主机、子网,或者网络以允许或拒绝访问本服务器
cmdallow / cmddeny #可以指定哪台主机可以通过chronyd使用控制命令
bindcmdaddress #允许chronyd监听哪个接口来接收由chronyc执行的命令
makestep # 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟
local stratum 10 #即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端
ntp客户端工具:chronyc
chronyc可以运行交互式和非交互式两种方式,支持以下子命令
help 命令可以查看更多chronyc的交互命令
accheck 检查是否对特定主机可访问当前服务器
activity 显示有多少NTP源在线/离线
sources [-v] 显示当前时间源的同步信息
sourcestats [-v] 显示当前时间源的同步统计信息
add server 手动添加一台新的NTP服务器
clients 报告已访问本服务器的客户端列表
delete 手动移除NTP服务器或对等服务器
settime 手动设置守护进程时间
tracking 显示系统时间信息
实现私有的时间服务器
#服务器端设置
[root@centos7 ~]# yum install -y chrony
[root@centos7 ~]#vim /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
#allow 192.168.0.0/16
allow 0.0.0.0/0 #加此行,指定允许同步的网段
# Serve time even if not synchronized to a time source.
local stratum 10 #删除此行注释,当互联网无法连接,仍然可以为客户端提供时间同步服务
[root@centos8 ~]#systemctl restart chronyd
#服务启动后会自动打开端口123/udp
[root@centos8 ~]# ss -ntlu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 [::]:111 [::]:*
udp UNCONN 0 0 [::1]:323 [::]:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:111 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 128 [::]:111 [::]:*
#客户端配置
#客户端配置
[root@centos8 ~]#vim /etc/chrony.conf
server 10.0.0.218 iburst #服务器端的IP地址
[root@centos8 ~]#systemctl restart chronyd.service
#确认同步成功
[root@centos8 ~]#chronyc sources -v
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \\ | | zzzz = estimated error.
|| | | \\
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 10.0.0.218 3 6 77 29 -229us[-1154us] +/- 17ms
以上是关于时间同步服务的主要内容,如果未能解决你的问题,请参考以下文章