Linux - 时间服务器 - Chrony CentOS
gudong366 2025-06-04 16:53 12 浏览
前言
这篇文档是我写的第三个时间服务器文档,主要目的是为了堵上短板
虽然原本是为了CentOS 8 及以上版本系统准备的,但是我实在CentOS 7下操作的
又被吐槽脚本没判断了,话说这里改加些什么判断?怎么加判断?给个主意!
接下来估计还会写个Ubuntu上部署的文档,不过最近没空弄
Chrony 安装前置准备
# 检查系统是否安装有 Chrony 服务
rpm -qa | grep chrony
# 卸载 现存 NTP服务
yum -y remove chrony*
设定时区
# 方法1 :直接设定时区
timedatectl set-timezone Asia/Shanghai
# 方法2 :选单设定时区
tzselect
5
9
1
1
# 方法3 :将时区信息拷贝,覆盖原来的时区信息
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装 Chrony 服务
# 安装 Chrony 服务
sudo yum install -y chrony
启动 Chrony 服务
# 启动 Chrony 服务
sudo systemctl start chronyd.service
# 设置 Chrony 服务 为开机自启动
sudo systemctl enable chronyd.service
# 检查运行状态
sudo systemctl status chronyd.service
# 备用命令
# 停止 Chrony 服务
sudo systemctl stop chronyd.service
# 重启 Chrony 服务
sudo systemctl restart chronyd.service
Chrony 服务器端 配置
修改 Chrony.conf 配置文件
# 打开 Chrony.conf 文件
sudo nano /etc/chrony.conf
# 修改原文件 第 3~6 行,时间服务器内容
# {
server ntp.aliyun.com iburst
server time1.cloud.tencent.com iburst
server 210.72.145.44 iburst
server time.windows.com iburst
# }
# 修改原文件 第 26 行,时间服务器客户端地址范围
# {
allow 172.16.0.0/16
# }
# 方法2:
# 修改公网上游时间服务器地址
sed -i "s/0.centos.pool.ntp.org/ntp.aliyun.com/g" /etc/chrony.conf
sed -i "s/1.centos.pool.ntp.org/time1.cloud.tencent.com/g" /etc/chrony.conf
sed -i "s/2.centos.pool.ntp.org/210.72.145.44/g" /etc/chrony.conf
sed -i "s/3.centos.pool.ntp.org/time.windows.com/g" /etc/chrony.conf
# 修改本地时间客服端地址范围
sed -i "s/#allow 192.168.0.0/allow 172.16.0.0/g" /etc/chrony.conf
修改 Chrony 服务器端 配置
# 防火墙放行NTP服务
firewall-cmd --permanent --add-service=ntp && firewall-cmd --reload
# 重启 Chrony 服务
sudo systemctl restart chronyd.service
# 验证 Chrony 服务 是否正常启动,123端口被占用则表示成功启动
systemctl status ntpd | grep Active ; netstat -tlunp | grep ntp
# 查看 Chrony 服务 时间同步状况
timedatectl status
# 开启网络时间同步
timedatectl set-ntp true
# 再次查看 Chrony 服务 时间同步状况
timedatectl status
# 验证时间同步
chronyc sources -v
# 将当前日期时间写入BIOS
echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
Chrony 服务 时间同步状况
验证时间同步
测试 Chrony 时间服务器
# 在 Windows 端 操作
# 有跟踪信息表示成功,显示错误信息表示失败
w32tm /stripchart /computer:172.16.28.130
正在跟踪 172.16.28.130 [172.16.28.130:123]。
当前时间是 2023/10/13 11:25:45。
11:25:45, d:+00.0002497s o:-05.7888915s [ * | ]
11:25:47, d:+00.0008122s o:-05.9891112s [ * | ]
11:25:49, d:+00.0002198s o:-06.1898866s [ * | ]
11:25:51, d:+00.0008597s o:-00.0005125s [ * ]
11:25:53, d:+00.0008100s o:-00.0005389s [ * ]
Chrony 客户端 配置
修改 Chrony.conf 配置文件
# 打开 Chrony.conf 文件
sudo nano /etc/chrony.conf
# 修改原文件 第 3~6 行,时间服务器内容,将前面配置的 Chrony 服务器的地址写入
# {
server 172.16.26.130 iburst
server ntp.aliyun.com iburst
# }
# 修改原文件 第 26 行,时间服务器客户端地址范围
# {
allow 172.16.0.0/16
# }
# 方法2:
# 修改公网上游时间服务器地址
sed -i "s/0.centos.pool.ntp.org/172.16.26.130/g" /etc/chrony.conf
sed -i "s/1.centos.pool.ntp.org/ntp.aliyun.com/g" /etc/chrony.conf
sed -i "s/server 2.centos.pool.ntp.org/#server 1.centos.pool.ntp.org/g" /etc/chrony.conf
sed -i "s/server 3.centos.pool.ntp.org/#server 1.centos.pool.ntp.org/g" /etc/chrony.conf
# 修改本地时间客服端地址范围
sed -i "s/#allow 192.168.0.0/allow 172.16.0.0/g" /etc/chrony.conf
修改 Chrony 客户端 配置
# 重启 Chrony 服务
sudo systemctl restart chronyd.service
# 开启网络时间同步
timedatectl set-ntp true
# 查看 Chrony 服务 时间同步状况
timedatectl status
# 验证时间同步
chronyc sources -v
# 将当前日期时间写入
echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
Chrony 常用命令
# 查看 NTP Servers
chronyc sources -v
# 查看 NTP Servers 状态
chronyc sourcestats -v
# 查看 NTP Servers 是否在线
chronyc activity -v
# 查看 NTP 详细信息
chronyc tracking -v
# 强制同步时间
chronyc -a makestep
常见公网时间服务器
210.72.145.44 国家授时中心
ntp.aliyun.com 阿里云
time1.cloud.tencent.com 腾讯
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学
ntp.sjtu.edu.cn 202.120.2.101 上海交通大学
↓ 没有任何技术含量 ↓
自动化安装脚本
#
# author: SRover Lee
# date: 2023/10/13
# Language: Shell Script
# description:
# 基于CentOS 7.9 定制简易化 Chrony 安装脚本
# 1. 卸载所有 Chrony 安装版本残留
# 2. 设定时区 为 亚洲/上海
# 3. 安装 Chrony 必要组件
# 4. 启动 Chrony 服务
# 5. 设置 Chrony 为开机自启动
# 6. 检查 Chrony 服务运行状态
# 7. 修改 Chrony.conf 配置文件
# 8. 设置 Chrony 为开机自启动
# 9. 启用 Chrony 服务
# 10. 验证 Chrony 服务
# 11. 将当前日期时间写入BIOS
#
#
echo ------------------- 卸载所有 Chrony 安装版本残留 -------------------------
# 检查系统是否安装有 Chrony 服务
rpm -qa | grep chrony
# 卸载 现存 NTP服务
yum -y remove chrony*
echo ------------------- 设定时区 为 亚洲/上海 -------------------------------
timedatectl set-timezone Asia/Shanghai
echo ------------------- 安装 Chrony 必要组件 -----------------------------
# 安装 Chrony 服务
sudo yum install -y chrony
echo ------------------- 启动 Chrony 服务 ------------------------------
# 启动 Chrony
sudo systemctl start chronyd.service
echo ------------------- 设置 Chrony 为开机自启动 --------------------------
# 设置 Chrony 为开机自启动
sudo systemctl enable chronyd.service
echo ------------------- 检查 Chrony 服务运行状态 --------------------------
# 检查 Chrony 服务运行状态
sudo systemctl status chronyd.service
echo ------------------- 修改 Chrony.conf 配置文件 ------------------------
# 修改公网上游时间服务器地址
sed -i "s/0.centos.pool.ntp.org/ntp.aliyun.com/g" /etc/chrony.conf
sed -i "s/1.centos.pool.ntp.org/time1.cloud.tencent.com/g" /etc/chrony.conf
sed -i "s/2.centos.pool.ntp.org/210.72.145.44/g" /etc/chrony.conf
sed -i "s/3.centos.pool.ntp.org/time.windows.com/g" /etc/chrony.conf
# 修改本地时间客服端地址范围
sed -i "s/#allow 192.168.0.0/allow 172.16.0.0/g" /etc/chrony.conf
echo ------------------- 启用 Chrony 服务 -------------------------------
# 防火墙放行NTP服务
firewall-cmd --permanent --add-service=ntp && firewall-cmd --reload
# 重启 Chrony 服务
sudo systemctl restart chronyd.service
# 开启网络时间同步
timedatectl set-ntp true
echo ------------------- 验证 Chrony 服务 -------------------------------
# 查看 Chrony 服务 时间同步状况
timedatectl status
# 验证时间同步
chronyc sources -v
echo ------------------- 将当前日期时间写入BIOS ------------------------------
# 将当前日期时间写入BIOS
echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
echo ----------------------------------------------------------------
# 显示提示信息
echo
echo
echo
echo
echo 已经完成 Chrony 时间服务器 基础安装
echo 当前 系统环境 时间信息如下:
timedatectl status
Chrony.conf 配置文件内容 (附中文注释)
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 使用 pool.ntp.org 项目中的公共服务器。以server开,理论上想添加多少时间服务器都可以
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
# Record the rate at which the system clock gains/losses time.
# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
# 启用实时时钟(RTC)的内核同步
rtcsync
# Enable hardware timestamping on all interfaces that support it.
# 通过使用 hwtimestamp 指令启用硬件时间戳
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
# 指定 NTP 客户端地址,以允许或拒绝连接到扮演时钟服务器的机器
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
# 指定包含 NTP 身份验证密钥的文件
#keyfile /etc/chrony.keys
# Specify directory for log files.
# 指定日志文件的目录
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
# 选择日志文件要记录的信息
相关推荐
- linux sed系列 第四篇:sed工业实战——日志处理与数据清洗
-
“掌握了sed的编程能力后,我们如同装备精良的工匠,终于可以踏入真实的工业战场。本篇将聚焦sed在日志分析、数据合规化、多文件批处理等场景中的应用,看它如何在海量数据中游刃有余,展现文本处理的...
- Linux下sed的简单使用(linux中sed是什么意思)
-
1、sed简介stremeditor流编辑器,它是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大,sed编辑器是一行一...
- linux基础命令之date命令(linux中的date)
-
date命令主要用于显示或者设置系统时间语法格式:date参数对象使用date命令时,最好先使用date--help命令查看支持哪些参数,有些小型Linux系统下的date命令,只支持一些基本参...
- Ubuntu linux 常用命令(ubuntu常用的50个命令)
-
使用dpkg命令来安装.deb包。sudodpkg-i~/example.deb如果在安装过程中遇到依赖问题,可以使用以下命令来修复:sudoapt-getinstall-f将flut...
- Linux基础命令-sed命令(linux教程:sed命令的用法)
-
Sed全名streameditor流编辑器,它是一个强大的文本处理工具,它可以从文件中接受输入,也可以接受来自标准输入流的输入,它擅长取行。Sed的用途非常广泛,包括:1)文本替换2)选择性的输...
- linux sed系列 第二篇:sed进阶技巧——地址定位与正则表达式
-
“上一篇我们掌握了sed的基础替换,如同获得了第一把钥匙。现在,让我们更进一步,学习如何精准锁定目标行,如同拥有了导航地图,让每一次操作都直击要害!”地址定位的四种维度sed的强大,很大程度上源...
- 火狐Firefox浏览器140发布:手动Unload标签页、优化翻译体验等
-
IT之家6月24日消息,Mozilla在发布版本139不到一个月后,推出了最新的开源网页浏览器Firefox140。新版本增加了手动Unload标签页的功能,优化了垂直标签页的调...
- Linux 基本正则表达式及扩展正则表达式功能举例
-
在Linux中,正则表达式(RegularExpression)是一种强大的模式匹配工具,用于在文本中查找、匹配和处理特定模式的字符串。Linux支持两种类型的正则表达式:基本正则表达式(Basic...
- linux下find命令的经典26个使用示例
-
简介find命令是基于unix的操作系统中常用的工具之一。顾名思义,它在目录层次结构中查找文件和目录。用户可以传递不同的参数,并根据文件的名称、扩展名、类型、大小、权限、修改时间、所有者、组等搜索文件...
- linux运维中特殊符号的应用与实践
-
路径位置类的特殊符号(1)、波浪线(~)在linux系统的命令行中,~表示用户的家目录,超级用户为/root,普通用户为/home。假设我当前目录在usr/local下[root@xrylocal]...
- 开源框架log4cpp实战(开源gui框架)
-
1.Log4cpp使用Log4cpp中主要包含Category(种类),Appender(附加器),Layout(布局),Priorty(优先级),NDC(嵌套的诊断上下文)。Category、App...
- Linux find命令详解(linux find -l)
-
一、命令介绍Linuxfind命令是类unix操作系统中最重要和最常用的命令行实用程序之一。find命令用于根据指定的条件搜索和定位与参数匹配的文件和目录列表。find命令提供了广泛的选项,允许用户...
- Linux运维:单引号与双引号的使用(linux 单引号和双引号)
-
1、单引号的使用单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽Shell元字符的功能。注意不可以在两个单引号中间单独插入一个单引号,单引号必须成对出现。示例1:定义一个变量,并输出变量的...
- Linux技巧:find 命令用法详细说明,看完会有收获
-
在Linux命令中,find是比较复杂难用的命令。使用该命令搜索文件时,常常发现自己找了一些例子能用,但稍微改一下条件,就搜不到想要的结果。下面会以一些实例来说明使用find命令的关键要点和...
- Linux Shell中单引号、双引号、反引号的解释
-
1、单引号('')单引号所见即所得,直接显示单引号里的内容。即单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的。比如下面的例子,单引号所见即所得。2、双引号("...
- 一周热门
- 最近发表
-
- linux sed系列 第四篇:sed工业实战——日志处理与数据清洗
- Linux下sed的简单使用(linux中sed是什么意思)
- linux基础命令之date命令(linux中的date)
- Ubuntu linux 常用命令(ubuntu常用的50个命令)
- Linux基础命令-sed命令(linux教程:sed命令的用法)
- linux sed系列 第二篇:sed进阶技巧——地址定位与正则表达式
- 火狐Firefox浏览器140发布:手动Unload标签页、优化翻译体验等
- Linux 基本正则表达式及扩展正则表达式功能举例
- linux下find命令的经典26个使用示例
- linux运维中特殊符号的应用与实践
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)