CentOS上搭建Linux时间服务器:使用Chrony实现精准时间同步

博主:itopmitopm 2024-11-11 05:20:01 29

前言

这篇文档是我写的第三个时间服务器文档,主要目的是为了堵上短板虽然原本是为了CentOS 8 及以上版本系统准备的,但是我实在CentOS 7下操作的又被吐槽脚本没判断了,话说这里改加些什么判断?怎么加判断?给个主意!接下来估计还会写个Ubuntu上部署的文档,不过最近没空弄

Chrony 安装前置准备

#    检查系统是否安装有 Chrony 服务rpm -qa | grep chrony#    卸载 现存 NTP服务yum -y remove chrony*

设定时区

#    方法1 :直接设定时区timedatectl set-timezone Asia/Shanghai#    方法2 :选单设定时区tzselect5911#    方法3 :将时区信息拷贝,覆盖原来的时区信息cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装 Chrony 服务

#    安装 Chrony 服务sudo yum install -y chrony

CentOS上搭建Linux时间服务器:使用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

CentOS上搭建Linux时间服务器:使用Chrony实现精准时间同步

Chrony 服务器端 配置

修改 Chrony.conf 配置文件

#    打开 Chrony.conf 文件sudo nano /etc/chrony.conf#    修改原文件 第 3~6 行,时间服务器内容#    {server ntp.aliyun.com iburstserver time1.cloud.tencent.com iburstserver 210.72.145.44 iburstserver 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.confsed -i "s/1.centos.pool.ntp.org/time1.cloud.tencent.com/g" /etc/chrony.confsed -i "s/2.centos.pool.ntp.org/210.72.145.44/g" /etc/chrony.confsed -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#    将当前日期时间写入BIOSecho "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd  

Chrony 服务 时间同步状况

CentOS上搭建Linux时间服务器:使用Chrony实现精准时间同步

验证时间同步

CentOS上搭建Linux时间服务器:使用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  [                           *                           ]

CentOS上搭建Linux时间服务器:使用Chrony实现精准时间同步

Chrony 客户端 配置

修改 Chrony.conf 配置文件

#    打开 Chrony.conf 文件sudo nano /etc/chrony.conf#    修改原文件 第 3~6 行,时间服务器内容,将前面配置的 Chrony 服务器的地址写入#    {server 172.16.26.130 iburstserver 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.confsed -i "s/1.centos.pool.ntp.org/ntp.aliyun.com/g" /etc/chrony.confsed -i "s/server 2.centos.pool.ntp.org/#server 1.centos.pool.ntp.org/g" /etc/chrony.confsed -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 Serverschronyc 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/Shanghaiecho ------------------- 安装 Chrony 必要组件 -----------------------------#    安装 Chrony 服务sudo yum install -y chronyecho ------------------- 启动 Chrony 服务 ------------------------------#    启动 Chronysudo systemctl start chronyd.serviceecho ------------------- 设置 Chrony 为开机自启动 --------------------------#    设置 Chrony 为开机自启动sudo systemctl enable chronyd.serviceecho ------------------- 检查 Chrony 服务运行状态 --------------------------#    检查 Chrony 服务运行状态sudo systemctl status chronyd.serviceecho ------------------- 修改 Chrony.conf 配置文件 ------------------------#   修改公网上游时间服务器地址sed -i "s/0.centos.pool.ntp.org/ntp.aliyun.com/g" /etc/chrony.confsed -i "s/1.centos.pool.ntp.org/time1.cloud.tencent.com/g" /etc/chrony.confsed -i "s/2.centos.pool.ntp.org/210.72.145.44/g" /etc/chrony.confsed -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.confecho ------------------- 启用 Chrony 服务 -------------------------------#    防火墙放行NTP服务firewall-cmd --permanent --add-service=ntp && firewall-cmd --reload#    重启 Chrony 服务sudo systemctl restart chronyd.service#    开启网络时间同步timedatectl set-ntp trueecho ------------------- 验证 Chrony 服务 -------------------------------#    查看  Chrony 服务 时间同步状况timedatectl status#   验证时间同步 chronyc sources -vecho ------------------- 将当前日期时间写入BIOS ------------------------------#    将当前日期时间写入BIOSecho "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 iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 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#    选择日志文件要记录的信息
The End

本站部分内容来源于互联网,仅供学习交流之用。如有侵犯您的版权,请及时联系我们,我们将尽快处理。