一.NTP与Chrony介绍
1.NTP(Network Time Protocol)是用来使计算机时间同步的一种协议,可以使计算机对其校时服务器或时钟源(如石英钟,GPS等等)进行时间同步,提供高精准度的时间校正,且可以使用加密确认的方式来防止病毒的协议攻击。
2.Chrony 是网络时间协议 (NTP) 的通用实现。Chrony是一个开源的软件,如果在chrony配置文件中指定了ntp服务器的地址,那么chrony就是一台客户端,会去同步ntp服务器的时间;如果在chrony配置了允许某些客户端来同步时间,则chrony就是一台ntp服务器。
Chrony有两个核心组件:
1.chronyd:是 Chrony 的守护进程,它负责与外部时间源通信、测量计算机时钟的偏移,并根据需要调整计算机时钟。chronyd 还负责记录日志,以便管理员可以查看时间同步的详细信息。
2.chronyc:是 Chrony 的命令行工具,它允许管理员与 chronyd 进程进行交互,并查询时间同步的状态。使用 chronyc,管理员可以手动请求时间同步,查看计算机时钟的偏移,以及查看时间源的详细信息。
chrony的配置文件是:/etc/chrony.conf
文件内容详解:
# 使用 pool.ntp.org 项目中的公共服务器。以server开,理论上想添加多少时间服务器都可以server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整
driftfile /var/lib/chrony/drift# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进
makestep 1.0 3# 启用实时时钟(RTC)的内核同步
rtcsync# 通过使用 hwtimestamp 指令启用硬件时间戳
hwtimestamp *# 增加调整系统时钟所需的最小可选源数
minsources 2# 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器
allow 192.168.2.0/24# 即使未同步到时间源,也要提供时间
# Serve time even if not synchronized to a time source.local stratum 10(取值范围1-15,当默认时钟源无法同步,则当前系统层级为10)# 指定包含 NTP 身份验证密钥的文件
keyfile /etc/chrony.keys# 指定日志文件的目录
logdir /var/log/chrony# 选择日志文件要记录的信息
log measurements statistics tracking