Linux(openEuler、CentOS8)基于chrony企业内网NTP服务器搭建实验

本文主要是介绍Linux(openEuler、CentOS8)基于chrony企业内网NTP服务器搭建实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、知识点

  1. chrony 是由 守护进程 chronyd 以及 命令行工具 chronyc 组成的
    在这里插入图片描述
    在这里插入图片描述

  2. chronyd 在后台静默运行并通过 123 端口与时间服务器定时同步时间,默认的配置文件是 /etc/chrony.conf

  3. chronyc 通过 323 端口与 chronyd 交互,可监控 chronyd 的性能并在运行时更改各种操作参数,chronyc 通过下面的方式访问 chronyd(默认情况下,chronyc 先通过 Unix 域 socket 访问 chronyd,默认的 socket 文件是 /var/run/chrony/chronyd.sock, 如果失败-常见的原因是使用非 root 用户运行 chronyc ),将尝试通过 127.0.0.1 访问 chronyd

  4. chrony默认情况下,不允许任何客户端访问,这意味着chronyd主要作为NTP客户端运行。当使用allow指令时(allow all允许所有<#如果写成0.0.0.0/24实验不通过>;allow 192.168.59.0/24 允许网段),chronyd将既是其服务器的客户端,又是其他客户端的服务器

  5. chronyd常用命令说明

    1. 查看时间同步源状态: chronyc sourcestats -v【-v是列出详细,可以不要】

    2. 强制同步时间:chronyc makestep【这个命令会立即尝试将系统时间设置为 NTP 服务器的当前时间。请注意,这可能会导致系统时间突然跳跃,这可能会影响正在运行的服务或应用程序。】

    3. 启用NTP时间同步: timedatectl set-ntp yes【默认是启用的,timedatectl命令可以查看状态】

    4. 查看客户端连接情况【服务端执行】:chronyc clients

    5. 列出ntp状态详细:timedatectl

    6. 下面timedatectl说明中有详细介绍
      设置硬件时间

      1. 硬件时间默认为UTC: timedatectl set-local-rtc 1/0
      2. 设置硬件时钟为本地时间:timedatectl set-local-rtc 1
      3. 设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
      4. 启用NTP时间同步: timedatectl set-ntp yes
      5. 开启 NTP:timedatectl set-ntp true/flase
      6. 查询和调试 NTP: chronyc tracking查询和调试 NTP(网络时间协议)客户端的状态
    7. hwclock -w用于将系统时间写入到硬件时钟(也称为RTC,即实时时钟)中。在Linux系统中,硬件时钟是一个独立的时钟,它可以在系统关闭时继续运行,并且可以在系统启动时用来初始化系统时间。

更多相关知识,请访问:https://blog.csdn.net/cuichongxin/article/details/123178318

本实验与上文链接不一致的地方:

  1. 查询和调试 NTP: chronyc tracking查询和调试 NTP(网络时间协议)客户端的状态
  2. chronyc makestep #强制同步
  3. hwclock -w#用于将系统时间写入到硬件时钟
  4. allow all #如果写成0.0.0.0/24实验不通过

二、实验步骤

  1. 创建两台ntp服务器
序号服务器名称IP备注
1ntp1192.168.200.123
2ntp2192.168.200.124

在这里插入图片描述

  1. 安装chrony
dnf install -y chrony

在这里插入图片描述
我安装openEuler时,选择的是server安装,自带chrony

  1. 修改配置文件
 vim /etc/chrony.conf

修改内容如下(192.168.200.1是淘宝买的硬件授时服务器)

#pool pool.ntp.org iburst
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#pool pool.ntp.org iburst
pool 192.168.200.1# Allow NTP client access from local network.
#allow 192.168.0.0/16
allow all #如果写成0.0.0.0/24实验不通过
# Serve time even if not synchronized to a time source.
#local stratum 10
local stratum 10

在这里插入图片描述

在这里插入图片描述

  1. 检测
systemctl restart chronyd
chronyc sourcestats -v

在这里插入图片描述

三、手动修改服务器1时间,用服务器2去同步错误时间

  1. 测试之前先临时关闭两台服务器selinux和firewalld,功能测试通过后再针对实际情况开启
clear
setenforce 0
systemctl stop firewalld

在这里插入图片描述

  1. 手动调整服务器1时间
timedatectl set-ntp false
timedatectl set-time "2023-12-12 00:00:00"
hwclock -w #用于将系统时间写入到硬件时钟
timedatectl set-ntp true
date #查看时间
timedatectl #查看详细时间

在这里插入图片描述

  1. 进入服务器2,从服务器1同步错误时间
chronyc makestep #强制同步
hwclock -w #用于将系统时间写入到硬件时钟(这个必须有,否则date查询和timedatectl查询不一致,时间并没改)
date #查看时间
timedatectl #查看详细时间

备用1:检查同步源状态

chronyc sourcestats -v #查看时间同步源状态

备用2:查询和调试 NTP

chronyc tracking #查询和调试 NTP

在这里插入图片描述

  1. 从这段 chronyc tracking 的输出中,我们可以分析以下关于 NTP(网络时间协议)同步状态的信息:

  2. Reference ID : C0A8C87B (192.168.200.123)
    这是 NTP 服务器的标识符,通常对应于服务器的 IP 地址。在这里,服务器 IP 地址是 192.168.200.123。

  3. Stratum : 11
    这表示 NTP 服务器的层次。Stratum 1 是最高级的服务器,直接与原子钟相连。Stratum 11 表示这个服务器从其他服务器获取时间,且距离原始时间源已经相当远。

  4. Ref time (UTC) : Mon Dec 11 16:09:09 2023
    这是 NTP 服务器的当前参考时间,以协调世界时(UTC)表示。

  5. System time : 1010.213012695 seconds fast of NTP time
    这表明系统时间比 NTP 服务器时间快了约 1010 秒。

  6. Last offset : -0.000107685 seconds
    上一次时间同步时,系统时间与 NTP 服务器时间的偏差是负的,即系统时间略慢于 NTP 时间。

  7. RMS offset : 2199082.750000000 seconds
    RMS(均方根)偏移量表示系统时间与 NTP 服务器时间的平均差异。这个值非常大,表明系统时间和 NTP 服务器时间之间存在显著的差异。

  8. Frequency : 0.359 ppm fast
    这表示系统时钟频率比 NTP 服务器时钟频率快了 0.359 百万分之一(ppm)。

  9. Residual freq : -0.077 ppm
    剩余频率误差,表示在最近一次时间同步后,系统时钟与 NTP 服务器时钟之间的频率差异。

  10. Skew : 0.955 ppm
    Skew 表示系统时钟与 NTP 服务器时钟之间的频率偏差率。

  11. Root delay : 0.000785275 seconds
    从系统到 NTP 时间源的总延迟。

  12. Root dispersion : 0.000260121 seconds
    NTP 服务器的不确定度。

  13. Update interval : 194.2 seconds
    系统从 NTP 服务器获取更新的时间间隔。

  14. Leap status : Normal
    Leap 秒状态。Normal 表示没有 leap 秒事件正在进行或计划。

从上述数据中,我们可以看到系统时间与 NTP 服务器时间之间存在较大的偏差(约 1010 秒),并且 RMS 偏移量也非常大。这可能是由于网络问题、NTP 服务器配置问题或系统时钟问题导致的。为了解决这个问题,你可能需要检查网络连接、NTP 服务器的状态,以及系统时钟设置。同时,RMS 偏移量这么大也可能是因为刚开始同步,还未稳定,所以多等待一段时间并观察数据的变化也是很有帮助的。

  1. 进入服务器1,查看clients
chronyc clients

在这里插入图片描述

  1. 使用windows客户端同步时间
    在这里插入图片描述
  2. 再次进入服务器1,查看clients
chronyc clients

在这里插入图片描述
8. 分别开启两台服务器的防火墙

setenforce 1
systemctl start firewalld
firewall-cmd --zone=public --add-port=123/udp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

这篇关于Linux(openEuler、CentOS8)基于chrony企业内网NTP服务器搭建实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959291

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、