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

2025 局域网内多台服务器时间统一,最稳定且无需联网的方案是部署 NTP 离线服务器部署chrony 轻量且兼容性强,支持纯离线环境

在离线环境下让多台服务器时间统一,最稳定且无需联网的方案是部署 NTP 离线服务器(以 chrony 为例,轻量且兼容性强,支持纯离线环境),只需在局域网内选一台作为 “时间主服务器”,其他服务器同步它的时间即可,全程无需外网,操作步骤如下:

一、核心原理

选 1 台服务器作为 时间主节点(比如 IP:192.168.1.100),手动校准它的时间(确保是正确时间),并配置为 “离线 NTP 服务器”;
其他服务器作为 从节点,仅同步主节点的时间,不依赖任何外网时间源。

二、离线部署步骤(分 “主节点” 和 “从节点” 操作)

第一步:准备离线安装包(仅需做 1 次,用 U 盘 / 移动硬盘拷贝)

因为是离线环境,需先在有网的同系统机器上下载 chrony 及其依赖包(以 CentOS 7/8 或 Ubuntu 20.04/22.04 为例):

1. CentOS 系统(下载 rpm 包)

#先在有网的CentOS机器上,创建目录保存离线包
mkdir -p /tmp/chrony-offline && cd /tmp/chrony-offline
yum install -y --downloadonly --downloaddir=. chrony
#下载完成后,/tmp/chrony-offline 目录下会有 chrony-xxx.rpm 及依赖包,拷贝到 U 盘。

2. Ubuntu 系统(下载 deb 包)

#先在有网的Ubuntu机器上,创建目录保存离线包
mkdir -p /tmp/chrony-offline && cd /tmp/chrony-offline
下载chrony及依赖(自动下载所有依赖)
apt-get install -y --download-only chrony

3. 把下载的deb包复制到当前目录(Ubuntu默认下载到/var/cache/apt/archives)

cp /var/cache/apt/archives/chrony_*.deb /var/cache/apt/archives/libseccomp2_*.deb .
拷贝 /tmp/chrony-offline 下的所有 .deb 包到 U 盘。

第二步:配置 “时间主节点”(192.168.1.100)

1.离线安装 chrony

将 U 盘挂载到主节点,进入离线包目录,执行安装:
CentOS:rpm -ivh chrony-*.rpm --force --nodeps(–nodeps 忽略依赖检查,因已下载所有依赖)
Ubuntu:dpkg -i *.deb(若提示依赖缺失,执行 apt-get -f install 修复,离线环境下因已拷贝依赖,通常不会报错)

2.手动校准主节点时间(关键!主节点时间必须正确)

#执行命令手动设置正确时间(比如当前时间是 2024-05-20 14:30:00):
#格式:date -s "年-月-日 时:分:秒"
date -s "2024-05-20 14:30:00"
#同步系统时间到主板时钟(避免重启后时间丢失)
hwclock --systohc

3.配置主节点为离线 NTP 服务器

编辑 chrony 配置文件 /etc/chrony.conf,替换为以下内容(仅保留离线相关配置):

# 关闭所有外网时间源(离线环境无需)
# 允许局域网内所有服务器同步该主节点(替换为你的局域网网段,比如192.168.1.0/24)
allow 192.168.1.0/24
# 声明主节点为“本地时间源”(stratum 10表示本地优先级,无需外网)
local stratum 10
# 其他基础配置(固定)
driftfile /var/lib/chrony/chrony.drift
rtcsync
logdir /var/log/chrony

4.启动主节点 chrony 服务

systemctl start chronyd #启动服务
systemctl enable chronyd #设置开机自启(避免重启后服务失效)
# 永久开放 UDP 123 端口(--permanent 表示永久生效)
sudo firewall-cmd --add-port=123/udp --permanent
sudo firewall-cmd --reload #加载
sudo firewall-cmd --list-ports --permanent # 查看所有永久开放的端口

第三步:配置 “从节点”(所有需要同步时间的服务器)

1.离线安装 chrony

同主节点步骤:将 U 盘的离线包拷贝到从节点,执行安装(CentOS 用 rpm -ivh,Ubuntu 用 dpkg -i)。

2.配置从节点同步主节点时间

#编辑从节点的 /etc/chrony.conf,替换为以下内容(仅指向主节点):
#唯一时间源:指向主节点IP(192.168.1.100),prefer表示优先使用
server 192.168.1.100 iburst prefer
#其他基础配置(固定)
driftfile /var/lib/chrony/chrony.drift
rtcsync
logdir /var/log/chrony

3.启动从节点 chrony 服务

systemctl start chronyd
systemctl enable chronyd
# 永久开放 UDP 123 端口(--permanent 表示永久生效)
sudo firewall-cmd --add-port=123/udp --permanent
sudo firewall-cmd --reload #加载
sudo firewall-cmd --list-ports --permanent # 查看所有永久开放的端口

三、验证时间同步(确保成功)

在任意从节点执行以下命令,检查是否同步主节点:
#查看时间源状态,若主节点IP(192.168.1.100)前有 ^* 标志,说明同步成功
chronyc sources -v#查看时间同步偏差(offset值接近0,说明时间一致)
chronyc tracking若显示 ^* 192.168.1.100,则表示从节点已成功同步主节点时间,所有服务器时间会保持统一。

四、优势(适合离线环境)

1.纯离线:无需任何外网,仅依赖局域网;
2.自动同步:服务启动后,会自动维持时间一致,无需手动操作;
3.稳定:chrony 比 ntpdate 更稳定(支持动态调整时间偏差,避免时间跳变)。

如果需要更简单的 “一次性同步”(无需长期服务),也可以在从节点执行 ntpdate 192.168.1.100(需先离线安装 ntpdate 包),但推荐用 chrony 长期维护时间一致。

http://www.dtcms.com/a/389050.html

相关文章:

  • 机器学习如何改变AI?
  • rook-ceph的dashboard配置覆盖与生效
  • 在 macOS 上安装 Claude Code 的完整指南
  • RocketMQ Dashboard 消息重复问题排查与修复(rocketmq-dashboard-2.0.0-source-release)
  • 卓伊凡的第一款独立游戏-详细介绍游戏开发引擎unity-以及详细介绍windows和mac的安装步骤【01】
  • 多表联合查询
  • Day26_【深度学习(6)_神经网络NN(1中)激活函数_softmax详解篇】
  • 黑盒测试:测试用例设计之等价类设计方法(等价类划分:Equivalence Partitioning)有效等价类、无效等价类、边界值分析
  • 22 C++11 初始化新姿势:{} 统一初始化(省等号)+initializer_list 底层解析
  • 黑马头条_SpringCloud项目阶段二:FreeMarker组件以及MinIO系统集成
  • MySQL 数据库基础操作指南:从创建管理到备份恢复全解析
  • 【Java】-- rjvm 项目分析
  • Markdown 常用语法参考
  • 11.2.3 固定话题聊天实现
  • CAN(控制器局域网)工业协议教学文档(一)
  • PHP基础-变量与常量(第八天)
  • SQ01,SQ02,SQ03,SE93事务码配置
  • AI提示词Excel 表格提取数据准确度处理
  • DeviceNet 转 EtherNet/IP 实现罗克韦尔 PLC 与库卡机器人在汽车白车身焊接的微秒级数据同步协作案例
  • GPT-5 vs Gemini 2.5 Pro:两大AI旗舰模型深度技术对比
  • 31、GPT核心引擎完整手工构建:从算法原理到工程优化(Generative Pre-trained Transformer)
  • MySQL MHA 完整配置与故障后原主库还原指南
  • 栈-946.验证栈序列-力扣(LeetCode)
  • spring boot3.0整合rabbitmq3.13
  • Scrapy爬虫利器:CrawlSpider详解
  • 从零开始学Flink:数据源
  • GRPO算法复现
  • AI+Flask博客项目实战提示词笔记 20250918
  • 无人设备遥控器之时间戳技术篇
  • 模块四 展望微服务