即使未同步到时间源,也要提供时间。
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
rtcsyc:该指令使得chronyd定期将系统时间复制到RTC时钟。
(3)同步网络时间服务器
<1> 进入/etc/chrony.conf进行修改
配置时间源:server 时间源IP iburst
iburst:加快调整时间的频率(突发)
ntp.aliyun.com — 阿里云授时中心
<2> 设置开机启动和重启服务
systemctl enable chronyd --- 开机启动 systemctl restart chronyd --- 重启服务
<3> 查看时间同步
timedatectl status --- 时间同步状态 timedatectl set-ntp true --- 开启网络时间同步
(4)chronyc 命令
- chronyc sources -v — 查看ntp_servers
- chronyc sourcestats -v — 查看ntp_servers状态
- chronyc activity -v — 查看net_servers是否在线
- chronyc tracking -v — 查看ntp详细信息
- chronyc -a makestep — 强制同步系统时钟
例:强制同步系统时钟(特定条件才能进行,超过步进时间则无法同步)
[root@localhost ~]# date -s "2023-09-11 11:30" Mon Sep 11 11:30:00 CST 2023 [root@localhost ~]# timedatectl Local time: Mon 2023-09-11 11:30:10 CST Universal time: Mon 2023-09-11 03:30:10 UTC RTC time: Mon 2023-06-12 02:34:29 Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: no NTP service: active RTC in local TZ: no [root@localhost ~]# chronyc -a makestep 200 OK [root@localhost ~]# date Mon Sep 11 11:30:30 CST 2023 [root@localhost ~]# systemctl restart chronyd --- 需重启chronyd服务才可同步 [root@localhost ~]# date Mon Jun 12 10:35:16 CST 2023 [root@localhost ~]# timedatectl Local time: Mon 2023-06-12 10:35:26 CST Universal time: Mon 2023-06-12 02:35:26 UTC RTC time: Mon 2023-06-12 02:35:25 Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: yes NTP service: active RTC in local TZ: no
(5)chronyc sources 输出结果解析
<1> M
这表示信号源的模式。*^表示服务器,=表示对等方,#*表示本地连接的参考时钟。
<2> S
此列指示源的状态。
- * 表示chronyd当前同步到的源。
- + 表示可接受的信号源,与选定的信号源组合在一起。
- - 表示被合并算法排除的可接受源。
- ? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。
- x 表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)
- 〜 表示时间似乎具有太多可变性的来源。
<3> Name/IP address
这显示了源的名称或IP地址,或参考时钟的参考ID。
<4> Stratum
这显示了来源的层,如其最近收到的样本中所报告的那样。层1表示一台具有本地连接的参考时钟的计算机。与第1层计算机同步的计算机位于第2层。与第2层计算机同步的计算机位于第3层,依此类推。
<5> Poll
这显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。
<6> Reach
这显示了源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。
<7>LastRx
此列显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母m,h,d或y表示分钟,小时,天或年。
<8> Last sample
此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us (表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。
<9> *+/-*指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。
例:现有时钟服务器time_server:它的层级是2,一台主机node1从time_server同步时间,那么node1主机的层级就是3,以此类推另一台在node1同步时间,那它的层级就是4。
在另一台虚拟机上同步此台虚拟机的ntp状态
例:node1向time_server同步时,无法同步;则第二台主机node2依旧向node1同步时间,则此时node2的层级是(11),同步的时间为(node1本地系统时间的时钟源)
进入/etc/chrony.conf中,修改server端ip为不存在ip
重启服务再次查看同步时钟源
查看node1层级
查看node2层级
(6)常用命令
chrony -> 服务端:chronyd;客户端:chronyc
chronyc sources -v -> 时钟源查看
timedatectl -> 当前系统是否已同步时间、NTP的服务状态
chronyc tracking -> 查看详细信息配置文件:/etc/chrony.conf
**配置文件中:
server 时钟源地址 iburst
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!