Linux - 时间服务器 - Chrony CentOS
nanshan 2024-10-08 05:22 17 浏览 0 评论
前言
这篇文档是我写的第三个时间服务器文档,主要目的是为了堵上短板
虽然原本是为了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
# 选择日志文件要记录的信息
相关推荐
- MongoDB 从入门到实战:.NET 平台完整指南
-
一、什么是MongoDBMongoDB是一种功能强大且灵活的NoSQL数据库,适用于处理大规模的半结构化数据和高并发场景。它不依赖于固定的表结构和关系模型,而是以文档的形式存储数据,每个文档可...
- NET Framework安装失败的原因及解决方法
-
大家好我是艾西,一个做服务器租用的游戏爱好者兼网络架构系统环境问题网络工具人。在我们平时使用PC安装某些程序会出现.NETFramework缺失的提示,那么也会有很多的小伙伴搞不懂什么原因导致的,这...
- 这可是全网eNSP安装最完整,最详细的图解,没有之一(常见问题)
-
eNSP安装大纲eNSP安装详细图解篇幅较长,会分三篇更完。急需安装的朋友可以在文末获取图解文档和所需软件工具。ENSP安装常见问题和解决方案Vbox安装错误eNSP在安装的过程当中,经常会出现一...
- 如何在windows 2012安装.NET Framework3.5
-
Windowsserver2012R2,自带的是.NETFramework4.5,如果想装SQLserver2008或者SQLserver2012需要安装.ENTFramework...
- 3款国内可用的「Chrome」扩展下载网站
-
身为程序员,有几个不使用Chrome浏览器提升下编码效率呢?Chrome拥有众多丰富强大的扩展程序,今天给大家分享三个国内可用的Chrome扩展下载网站,收藏一下吧,不然下次就找不到我咯!C...
- 下载 Windows 10 应用商店程序离线包方法
-
有厂商为了图方便,会把Windows10应用商店里面的UMP应用改成EXE程序版本。例如之前「网易云音乐」UMP版本简洁清爽,获得不少用户推荐,后来官方懒得更新了,直接把UMP版本...
- 极速安装!NET Framework 3.5零距离指南!
-
.NETFramework3.5是一款由微软开发的应用程序框架,它为许多Windows应用程序提供了基础支持。它的新版本带来了许多令人兴奋的功能和改进,比如增强的XML和JSON处理能力以及强大的...
- Microsoft.NET离线运行库合集发布 2021
-
软件介绍.NET是微软具有战略意义的框架,也是装机必不可少的框架,想要一个一个安装略显繁琐,再加上很多电脑小白不知道怎么下载,不小心就下载到某某高速加载器,这个运行库极大解决了这个问题,采用微软官方....
- 缺少.net framework 3.5怎么办?(缺少.net4.5.1或以上环境)
-
很多电脑用户在玩某些程序游戏时都会遇到一个头痛的问题,弹出缺少“NETFramework3.5”的提示。微软从Windows8开始默认屏蔽了“.NET3.5”,如果用户有需要就必须选择在线安装...
- Windows11无法正常安装.net 3.5组件的解决方法
-
最近因公司部分电脑升级至Windows11之后,重新安装某些需要加载.net3.5组件的应用软件时,都提示无法完成加载或安装.net3.5而导致无法完成安装。使用离线安装包亦一样无法完成安装。一...
- 离线安装.Net Framework 3.5(离线安装.net framework 4.0)
-
前言.Net3.5已经越来越少用到了,但是偶尔还是会遇到一些老软件需要。而Win10、Win11的系统,直接在控制面板的里添加,经常会添加失败!解决方法首先需要一个系统的ISO镜像来提取sxs文件夹:...
- Jenkins 11个使用技巧,90%以上的人没用过
-
一、Performance插件兼容性问题自由风格项目中,有使用Performance插件收集构建产物,但是截至到目前最新版本(Jenkinsv2.298,Performance:v3.19),此...
- 6款Linux常用远程连接工具,你最中意哪一款?
-
点击上方头像关注我,每周上午09:00准时推送,每月不定期赠送技术书籍。本文2106字,阅读约需6分钟Hi,大家好。远程连接的实现方法有很多,概括地说有两种,一种是用系统自带的远程连接,另外一种是用...
- Linux常用远程连接工具介绍,总有一款适合你
-
作为运维或者网工最常用就是ssh远程和远程桌面工具,本文就介绍几个常用的远程连接工具,你在用哪一款呢SecureCRT介绍:我觉得这个是最好的SSH工具,没有之一。SecureCRT支持SSH,同时支...
- 终极软路由网络设置,ESXi虚拟机安装iKuai+openWrt双路由系统
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:BigBubbleGum本文是软路由系列的第五篇,也是折腾时间最长的一篇,在ESXi下分别独立安装和使用iKuai和openWrt...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WindowsServer2022|配置NTP服务器的命令
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
解决Linux终端中“-bash: nano: command not found”问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)