如何部署ntp实例chrony公共服务端?

CentOS(RHEL)

1 基础知识

1.1 NTP

1.1.1 NTP的概念

– NTP是Network Time Protocol的英文缩写
– NTP中文范围为网络时间协议
– NTP透过网络将计算机时间同步为世界统一时间(UTC)
注:UTC专业叫法是时间基准(Timebase),是世界最精确的时间尺度

1.1.2 NTP的作用

– 精准的时间戳可以减少维护和降低故障排查的复杂度
– 精准的时间戳可确定依赖性检查需要重建的代码
– 精准的时间戳可支持关联分布式通讯事件
– 精准的时间戳可以解决时间敏感交易的纠纷
– 精准的时间戳可作为法医分析和刑事诉讼的证据
– 精准的时间戳是调试、安全和审核的基础
– 精准的时间戳是网络设备的唯一参考框架

1.2 Chrony

1.2.1 chrony的介绍

– chrony是网络时间协议(NTP)的具体实现之一

1.2.2 chrony的功能

– chrony可以将系统时钟与NTP服务器、参考时钟(例如 GPS接收器)、手表和键盘等
– chrony可充当NTPv4(RFC5905)服务器并向网络中的其他计算机提供时间服务

1.2.3 chrony的特点

– chrony被设计得适应能力极强,包括间歇性网络连接、拥堵等
-chrony两台计算机之间的因特网同步可达毫秒以内的典型精度
– chrony两台计算机之间的以太网同步可达数十微妙的典型精度
– chrony使用硬件时间戳记或参考时钟,可达亚微妙级的精度

1.2.4 chrony的架构

– chronyd,chrony的守护进程
– chronyc,chrony的命令程序,用于监视chronyd性能并更改各种操作参数

1.2.5 支持的系统

– Linux
– FreeBSD
– NetBSD
– macOS
– Solaris
– 其他类Linux与Unix系统

2 最佳实践

2.1 系统环境

OS = CentOS 7.3 x86_64
Host Name = ntp.cmdschool.org
IP Address = 10.168.0.80
本章节以编译安装chrony为基础,如果你尚未安装,请按照如下章节安装配置,

如何编译部署ntp实例chrony?

2.2 配置NTP公共服务端

2.2.1 定义服务配置文件

vim /etc/chrony.conf

配置修改如下,

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
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3

noclientlog
logchange 0.5
logdir /var/log/chrony

port 123
allow
clientloglimit 100000000

– 参数“server”声明NTP时间源服务器,“iburst”选项以4-8个请求同时更新
– 参数“stratumweight”声明时间源的层级,范例“0”表示忽略时间源的层级
– 参数“driftfile”声明记录时间漂移比率文件,重启服务时系统时钟根据记录值进行时间补偿。
– 参数“rtcsync”声明启用RTC(实时时钟)的内核同步
– 参数“makestep”声明如系统时钟偏移量大于10秒,参数3限制只在前三个时钟中更新
– 参数“noclientlog”声明不记录客户端访问(如果记录可使用“chronyc clients”命令查看)
– 参数“logchange”声明调整系统日志的系统时钟阀值
– 参数“logdir”声明日志的目录(目录不存在,则自创建)
– 参数“port”声明chronyd倾听NTP服务的端口,默认值是“123”,如果设置为“0”则关闭倾听,启用需设置“allow”参数
– 参数“allow”声明允许访问NTP服务器的计算机网段,指令如没有声明任何网段则允许所有客户端访问
– 参数“clientloglimit”声明允许chronyd分配用于记录客户端的最大内存量,默认值为“524288”字节(约4千客户端)

2.2.2 重启服务是配置生效

systemctl restart chronyd.service

然后,我们 可以通过如下命令检查服务的倾听,

netstat -anp | grep chronyd

可见如下显示,

udp        0      0 127.0.0.1:323           0.0.0.0:*                           9624/chronyd
udp        0      0 10.168.0.80:45583       108.59.2.24:123         ESTABLISHED 9624/chronyd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           9624/chronyd
udp6       0      0 ::1:323                 :::*                                9624/chronyd
udp6       0      0 :::123                  :::*                                9624/chronyd
unix  2      [ ]         DGRAM                    95893    9624/chronyd

2.2.3 开放服务端口

firewall-cmd --permanent --add-service ntp
firewall-cmd --reload
firewall-cmd --list-all

2.3 配置NTP客户端

如何部署nts实例chrony客户端?

安装教程
—————–
https://chrony.tuxfamily.org/doc/4.0/installation.html

官方首页
——————
https://chrony.tuxfamily.org/

chrony的配置
—————-
https://chrony.tuxfamily.org/doc/2.1/manual.html#Configuration-file
https://chrony.tuxfamily.org/documentation.html

系统时钟
———–
https://baike.baidu.com/item/%E7%B3%BB%E7%BB%9F%E6%97%B6%E9%92%9F/3736888?fr=aladdin

参考时钟
———–
http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-REFCLK

NTP的简介
————
http://support.ntp.org/bin/view/Main/WebHome

NTS的介绍
https://tools.ietf.org/html/rfc8915
https://linux.cn/article-12860-1.html

没有评论

发表评论

CentOS(RHEL)
如何配置系统网桥?

1 前言 一个问题,一篇文章,一出故事。 笔者手里有一个1U的8端口服务器,正好当交换机用。 2 最 …

CentOS(RHEL)
如何修复非XFS文件系统逻辑坏道?

1 前言 一个问题,一篇文章,一出故事。 笔者服务器根分区出现逻辑坏道,于是整理此文。 另外,如果你 …

CentOS(RHEL)
如何破解CentOS或RHEL 7的root密码?

1 前言 一个问题,一篇文章,一出故事。 本章将讲述如何破解系统root的密码。 2 最佳实践 2. …