当前位置: 首页 > article >正文

RHCE笔记-时间服务器搭建

一.chrony命令

chrony 的主要组成部分

  1. chronyd:这是 chrony 的守护进程,负责与时间源同步并调整系统时钟。
  2. chronyc:这是一个命令行工具,允许用户与 chronyd 进行交互,以查看状态和配置时间同步。

主要功能

  • 快速同步chrony 可以快速地将系统时间同步到网络时间源,尤其是在系统时间与标准时间相差较大时。
  • 对不稳定网络的支持:在网络连接不稳定或不定期的情况下,chrony 仍能保持良好的时间精度。
  • 本地时间源:支持在没有网络连接时使用本地硬件时钟或其他设备作为时间源。
  • 多种时间源:可以从多个时间源获取时间,提供冗余和准确性。
  • 统计功能:提供详细的统计信息和日志,方便用户监控时间同步状态。

安装

  • 在 CentOS/RHEL 上

    sudo yum install chrony

配置

chrony 的配置文件通常位于 /etc/chrony/chrony.conf。下面是一些常见的配置选项:

  1. 指定 NTP 服务器

    server ntp.example.com iburst

    这里 ntp.example.com 是 NTP 服务器的地址,iburst 参数表示在启动时进行快速同步。

  2. 使用本地时间源

    server 127.127.1.0 fudge 127.127.1.0 stratum 10

    这将本地时钟设置为一个时间源,stratum 表示其层级,值越小优先级越高。

  3. 限制访问

    allow 192.168.1.0/24 deny all

    这将允许来自 192.168.1.0/24 网络的主机访问 chronyd,并拒绝所有其他访问。

  4. 配置更新频率

    minpoll 4 maxpoll 10

    这将设置 NTP 服务器的最小和最大轮询间隔,单位为 2 的幂次(即 2^4 到 2^10 秒)。

启动和管理

安装完成后,您可以使用以下命令启动和管理 chronyd

  1. 启动 chronyd

    sudo systemctl start chronyd
  2. 设置开机自启

    sudo systemctl enable chronyd
  3. 检查服务状态

    sudo systemctl status chronyd
  4. 使用 chronyc 进行状态查询

    chronyc tracking

    此命令将显示当前的时间同步状态,包括系统时间、NTP 服务器的时间和延迟等信息。

常用 chronyc 命令

  • 查看当前同步状态

    chronyc tracking
  • 列出已配置的 NTP 服务器

    chronyc sources
  • 显示统计信息

    chronyc sourcestats
  • 手动更新系统时间

    chronyc makestep

    当系统时间与 NTP 服务器的时间相差较大时,可以使用此命令强制 chronyd 调整系统时间。

日志与监控

chrony 会将日志记录在 /var/log/chrony 中,可以通过查看这些日志来监控时间同步情况。可以使用以下命令查看日志:

sudo tail -f /var/log/chrony/chronyd.log

二.客户端配置

1.查看当前时区

[root@client ~]# date
2024年 10月 17日 星期四 20:42:26 CST

CST代表中国标准时间,UTC是世界标准时间

2.修改当前时间

[root@client ~]# date -s "2024-3-21"
2024年 03月 21日 星期四 00:00:00 CST

3.配置使用的服务器

[root@client ~]# vim /etc/chrony.conf
pool ntp.aliyun.com iburst
重启服务快速生效

[root@client ~]# systemctl restart chronyd
 查看生效的时间服务器
[root@client ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 192.168.23.140                0   7     0     -     +0ns[   +0ns] +/-    0ns
 字段含义

在执行 chronyc sources 命令后,输出中会包含多个字段,其中最关键的是状态字段,表示每个 NTP 源的状态。以下是一些常见的状态符号及其含义:

  1. * (asterisk):

    • 含义:当前选择的时间源,Chrony 正在使用该源进行时间同步。
    • 示例* 192.168.1.1 .GPS. 1 64 377 0.0 0.004 0.002
  2. + (plus sign):

    • 含义:可接受的时间源,Chrony 会考虑该源,但当前未选择。
    • 示例+ 192.168.1.2 .PPS. 1 64 377 0.0 0.001 0.001
  3. - (minus sign):

    • 含义:不可接受的时间源,Chrony 不会考虑该源进行同步。
    • 示例- 192.168.1.3 .INIT. 1 64 377 0.0 0.003 0.003
  4. # (hash sign):

    • 含义:该源是一个本地源或本地时钟,Chrony 将其视为本地时间源。
    • 示例# 127.0.0.1 .LOCL. 1 64 377 0.0 0.000 0.000
  5. x (lowercase x):

    • 含义:该源处于不可用状态,Chrony 检测到此源的时间不可靠。
    • 示例x 192.168.1.4 .SYNC. 1 64 377 0.0 0.005 0.005
  6. ~ (tilde):

    • 含义:该源的时间不准确,Chrony 可能会暂时忽略该源。
    • 示例~ 192.168.1.5 .SYN. 1 64 377 0.0 0.006 0.006

三.服务器端配置

步骤1:

        将client端的chrony.conf中使用的时间服务器修改为搭建的时间服务器域名或者ip地址

[root@client ~]# vim /etc/chrony.conf 

步骤2:

        确保地址或域名可达 ,可使用ping命令

[root@client ~]# ping ntp.timeserver.com

       或编辑/etc/hosts文件确保域名对应正确的ip

[root@client ~]# vim /etc/hosts

        关闭cilent端与server防火墙 

[root@client ~]# systemctl stop firewalld

 rhel9.1还是使用firewalld管理防火墙,在ubuntu20.4及以后版本用ufw管理防火墙

        或测试其端口是否可以连接上

[root@client ~]# nc -z -v -u hostname part

        查看当前开放端口,这里使用grep过滤时间服务器使用的udp123端口

[root@client ~]# ss -tuln | grep 123

        在编辑过配置文件后,重启后才会生效

[root@client ~]# systemctl restart chronyd

步骤3:

编辑服务器端的chrony.conf配置文件

[root@server ~]# vim /etc/chrony.conf 

 找到下列两行,翻译翻译上面的提示( 允许 NTP 客户端从本地网络访问),去掉注释开启服务

# Allow NTP client access from local network.
#allow 192.168.0.0/16

 然后重启chrony服务,关闭防火墙,测试端口开放即可


http://www.kler.cn/news/355833.html

相关文章:

  • 【Flutter】基础入门:代码基本结构
  • 深度学习:元学习(Meta-Learning)详解
  • 自搭建VSCode的Make构建工具选择
  • 深度学习的关键概念和术语
  • MySQL-14.DQL-分组查询
  • 用python绘制钟表,并实现实际应用
  • HarmonyOS中ArkUi框架中常用的装饰器
  • 面对配分函数 - 噪扰对比估计(NCE)篇
  • windows的CMD命令提示符
  • 用 Python 构建高级配对交易策略
  • C++算法练习-day7——707.设计链表
  • 【Git】将其它分支的单个改动复制到当前分支
  • 基于ESP32的便携式游戏机
  • Elasticsearch Inference API 增加对阿里云 AI 的支持
  • 021_Thermal_Transient_in_Matlab统一偏微分框架之热传导问题
  • Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
  • 【2D/3D-Lidar-SLAM】 Cartographer详细解读
  • PCDN 技术如何优化网络延迟(壹)
  • 如何快速学会盲打
  • c++流的异常捕获