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为基础,如果你尚未安装,请按照如下章节安装配置,
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客户端
安装教程
—————–
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
没有评论