ubuntu22.04系统如何自建2级ntp服务器
一:ntp服务器详情
服务器型号
系统版本
IP地址
主机名
ntp服务版本
虚拟机8c-32g-1T
Ubuntu22.04
10.20.30.2
DMZ-NTP-SERVER
4.2.8p15
二:ntp服务端部署配置脚本
#!/bin/bash # 脚本信息 echo "----------------------------------------" echo "NTP 服务器安装脚本" echo "----------------------------------------" # 更新软件包列表 echo "正在更新软件包列表..." sudo apt update # 安装 NTP 服务,避免交互提示 echo "正在安装 NTP 服务..." sudo DEBIAN_FRONTEND=noninteractive apt install -y ntp # 备份原配置文件 echo "正在备份原配置文件 ntp.conf..." sudo cp /etc/ntp.conf /etc/ntp.conf.bak # 配置 NTP 服务器 echo "正在配置 NTP 服务器..." sudo bash -c 'cat > /etc/ntp.conf << EOF # 使用来自 pool.ntp.org 项目的公共服务器 server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst server ntp3.aliyun.com iburst # 允许本地网络中的机器与 NTP 服务器同步 restrict default nomodify notrap nopeer noquery restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # 请根据您的内部网络进行适当修改 # 启用日志记录 logfile /var/log/ntp.log EOF' # 确保配置文件没有多余的空格或隐藏字符 sudo sed -i 's/[[:space:]]*$//' /etc/ntp.conf # 删除行尾的空格 sudo sed -i '/^$/d' /etc/ntp.conf # 删除空行 # 启动 NTP 服务 echo "正在启动 NTP 服务..." sudo systemctl start ntp sudo systemctl enable ntp # 显示服务状态 echo "NTP 服务状态:" sudo systemctl status ntp # 提示用户在其他服务器上配置 NTP 客户端 echo "----------------------------------------" echo "要配置其他服务器,请将此 NTP 服务器的 IP 地址添加到 /etc/ntp.conf:" echo "server <NTP_SERVER_IP> iburst" echo "最后,在客户端上重启 NTP 服务。"三:ntp服务维护相关命令
查看服务状态:systemctl status ntp.service
重启服务:systemctl restart ntp.service 关闭服务:systemctl stop ntp.service 启动服务:systemctl start ntp.service查看日志:tail -20f /var/log/ntp.log 或者 查看服务的系统日志:journalctl -u ntp查看或者编辑配置文件:cat /etc/ntp.conf四:客户端安装配置测试ntp服务
(1)提前保证要配置 ntp 服务的机器和10.20.30.2 ntp 服务端网络且端口互通:
telnet 10.20.30.2 123(2)在客户端机器上安装 ntp 服务:
sudo apt update sudo apt install -y ntp(3)配置ntp客户端,编辑 ntp 客户端的配置文件 /etc/ntp.conf,将 ntp 服务端的 IP 地址添加到配置文件中:
sudo vim /etc/ntp.conf并添加以下行:server 10.20.30.2 iburst(4)完成配置后,重启客户端 ntp 服务使配置生效:
sudo systemctl restart ntp(5)测试 ntp 时间同步是否生效,使用
ntpq命令检查 ntp 同步状态。运行以下命令:ntpq -p此命令会列出已配置的 ntp 服务器及其状态。如果配置正确应该能够看到 ntp 服务器的条目以及它的响应时间。会看到类似于以下的输出(10.20.30.2 202.112.29.82 2 u 1 64 1 0.262 +25.187 1.040 这一列代表配置成功,但是还需要测试时间同步是否成功):
root@DMZ-DNS-SERVER:~# ntpq -premote refid st t when poll reach delay offset jitter ==============================================================================0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0001.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0002.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0003.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 +0.000 0.00010.20.30.2 202.112.29.82 2 u 1 64 1 0.262 +25.187 1.040ntp1.flashdance 194.58.202.20 2 u 1 64 1 186.576 +5.922 1.366dns2.synet.edu. 202.118.1.48 2 u 1 64 1 33.411 +17.579 0.000electrode.felix 131.188.3.221 2 u 1 64 1 269.660 -17.697 1.204ntp5.flashdance 194.58.202.20 2 u 2 64 1 189.559 +4.068 0.000ntp.wdc2.us.lea 130.133.1.10 2 u 1 64 1 333.790 -17.704 0.000ntp8.flashdance 194.58.202.148 2 u 1 64 1 216.010 +14.262 1.806119.28.183.184 100.122.36.196 2 u 2 64 1 57.018 +18.580 0.852185.125.190.58 79.243.60.50 2 u 4 64 1 279.504 +36.708 0.000time.cloudflare 10.191.8.4 3 u 2 64 1 200.383 +17.699 0.000185.125.190.56 17.253.28.123 2 u 1 64 1 460.684 -39.013 0.000列名释义:
remote 列显示了当前连接的 NTP 服务器,包括
10.20.30.2。refid 列显示了该 NTP 服务器的参考时钟(在您的情况下是
202.112.29.82)。st 列表示服务器的层级(
2表示这是一个二级 NTP 服务器)。reach 列显示了与该 NTP 服务器的连接状态,值为
1表示最近的请求已经成功接收。delay、offset 和 jitter 列显示了网络延迟、时间偏移和抖动等信息。
(6)检查时间是否同步,可以通过以下命令查看当前时间:
date然后,等待一段时间(通常是几分钟),ntp 客户端会自动与ntp服务端进行同步。再次运行
ntpq -p查看 ntp 同步状态,直到 reach 列显示为377(即所有请求的回复都成功)。root@DMZ-DNS-SERVER:~# ntpq -premote refid st t when poll reach delay offset jitter ==============================================================================0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0001.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0002.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.0003.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 +0.000 0.000 +10.20.30.2 203.107.6.88 3 u 116 128 377 0.287 -14.026 2.050 *dns2.synet.edu. 202.118.1.48 2 u 69 128 377 32.561 -13.713 1.781 -ntp8.flashdance 194.58.202.148 2 u 65 256 377 193.624 -21.543 4.956 +119.28.183.184 100.122.36.196 2 u 231 128 366 55.292 -9.522 3.699 -101.43.66.2 202.112.29.82 2 u 9 128 377 37.396 -12.486 3.318(7)确保防火墙未阻止 ntp 流量
如果无法同步,请确认防火墙未阻止 ntp 流量。默认情况下,ntp 使用 udp 123 端口。需要在 ntp 服务器上检查防火墙规则:
sudo ufw status如果 ntp 服务被阻止,则可以通过以下命令允许 ntp 流量:
sudo ufw allow ntp(8)备注:自建的ntp还是依赖于阿里云的1级ntp服务器,我们这里属于2级ntp服务器
ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com
相关文章:
ubuntu22.04系统如何自建2级ntp服务器
一:ntp服务器详情 服务器型号 系统版本 IP地址 主机名 ntp服务版本 虚拟机8c-32g-1T Ubuntu22.04 10.20.30.2 DMZ-NTP-SERVER 4.2.8p15 二:ntp服务端部署配置脚本 #!/bin/bash # 脚本信息 echo "--------------------------…...
DeepSeek赋能智慧社区:提升社区治理,优化资源配置,带来全新变革
在数字化浪潮的推动下,智慧社区正逐渐成为城市发展的重要方向。作为一款先进的人工智能大模型,DeepSeek凭借其强大的多模态数据分析和智能决策能力,正在为智慧社区的建设注入新的活力。 标准规范及顶层设计指南、供应商整体解决方案合集、供应…...
spring注解开发(Spring整合MyBatis——Mapper代理开发模式、(Spring、MyBatis、Jdbc)配置类)(6)
目录 一、纯MyBatis独立开发程序。 (1)数据库与数据表。 (2)实体类。 (3)dao层接口。(Mapper代理模式、无SQL映射文件——注解配置映射关系) (4)MyBatis核心配…...
springcloud组件调用顺序
Spring Cloud 组件的调用顺序并不是固定不变的,它依赖于具体的业务场景和微服务架构的设计。然而,可以概括出一个典型的微服务架构中 Spring Cloud 组件的调用流程,这个流程大致可以分为以下几个步骤: 服务注册与发现:…...
【MySQL】数据库-图书管理系统(CC++实现)
一.预期功能 该图书管理系统设计提供基本的设计模版,涉及数据库的增删查改等操作,包含登录功能,图书管理功能,图书借阅功能,用户管理功能等基础功能,详细功能查看以下菜单表,共包含三个菜单&am…...
VSCode轻松调试运行C#控制台程序
1.背景 我一直都是用VS来开发C#项目的,用的比较顺手,也习惯了。看其他技术文章有介绍VS Code更轻量,更方便。所以我专门花时间来使用VS Code,看看它是如何调试代码、如何运行C#控制台。这篇文章是一个记录的过程。 2.操作 2.1 V…...
python-leetcode-下一个排列
31. 下一个排列 - 力扣(LeetCode) class Solution:def nextPermutation(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""# Step 1: Find the first decreasing element …...
c++中初始化列表的使用
在 C 中,初始化列表是在构造函数的定义中,用于对类的成员变量进行初始化的一种方式。它紧跟在构造函数的参数列表之后,使用冒号 : 分隔,各成员变量的初始化用逗号 , 分隔。下面详细介绍初始化列表及其参数的含义。 基本语法 clas…...
2025年2月28日(RAG)
从图片中的内容来看,用户提到的“RAG”实际上是“Retrieval-Augmented Generation”的缩写,中文称为“检索增强生成”。这是一种结合了检索(Retrieval)和生成(Generation)的技术,用于增强自然语…...
学睿德毅AI 赋能教育拓展短视频创作边界
在数字技术飞速发展的当下,短视频行业已成为推动社会经济发展的重要力量。学睿德毅紧跟时代步伐,聚焦 AI 技术在教育领域的创新应用,精心打造了一套专业且系统的短视频剪辑课程体系。该体系以 “技术与创意并重,理论共实践一色” …...
Jsmoke-一款强大的js检测工具,浏览器部署即用,使用方便且高效
目录标题 Jsmoke 🚬🚬 by Yn8rt使用方式界面预览功能特性支持的敏感信息类型 Jsmoke 🚬🚬 by Yn8rt 该插件由 Yn8rt师傅 开发,插件可以理解为主动版的hae和apifinder,因为其中的大多数规则我都引用了&a…...
iphone上ios设备开启safari开发者debug模式,配合mac电脑使用
1.mac操作 mac的safari上打开开发者模式,打开显示网页开发者功能 2.开启IPhone的Safari调试模式 启用 Web 检查 功能,打开 iPhone 依次进入 设置 > Safari浏览器 > 高级 > 网页检查器 > 启用。 3.调试步骤 先用IPhone 的Safari打开要调试…...
【JAVA】阿里云百炼平台对接DeepSeek-V3大模型使用详解
1、DeepSeek简介 DeepSeek的火热让全世界见证了一场国产AI大模型走向巅峰的盛宴。DeepSeek的横空出世一方面让AI大模型的格局得到重塑,另一方面,对于普通人来说,也有机会零距离的体验到更懂国人的AI大模型。从很多使用过后的小伙伴们的反馈来…...
Datawhale 数学建模导论二 笔记5 多模数据与智能模型
主要涉及到的知识点有: 数字图像处理与计算机视觉 计算语言学与自然语言处理 数字信号处理与智能感知 10.1 数字图像处理与计算机视觉 视觉信息是我们第一种非常规的数据模式,在Python当中可以使用opencv处理数字图像,并提取出视觉特征用…...
AWS SQS跨账户访问失败排查指南
引言 在使用AWS SQS(Simple Queue Service)时,跨账户访问是常见的业务场景。例如,账户A的应用程序向队列发送消息,账户B的消费者从队列拉取消息。尽管AWS官方文档明确支持此类配置,但在实际应用中,由于权限模型的复杂性,开发者和运维人员常会遇到“策略已配置但无法接…...
Spring 源码硬核解析系列专题(六):Spring MVC 的请求处理源码解析
在前几期中,我们探讨了 Spring 的 IoC 容器、Bean 创建、AOP、事务管理以及 Spring Boot 的自动装配,这些为 Spring MVC 的运行奠定了基础。作为 Spring 生态中处理 Web 请求的核心模块,Spring MVC 通过 DispatcherServlet 实现了灵活的请求分发与处理。本篇将深入 Dispatch…...
如何在一台服务器上搭建 mongodb副本集1主2从节点
在一台服务器上搭建 MongoDB 副本集(1 主节点 2 从节点)可以通过运行多个 MongoDB 实例并使用不同端口和数据目录来实现。以下是详细步骤: 1. 准备工作 确保已安装 MongoDB。为每个实例创建独立的数据目录和日志文件。 2. 创建数据目录和…...
TikTok隐私保护措施:确保用户安全
TikTok隐私保护措施:确保用户安全 在这个信息爆炸的时代,社交媒体平台的隐私保护问题日益成为公众关注的焦点。TikTok,作为全球领先的短视频平台,拥有庞大的用户群体,因此,其隐私保护措施显得尤为重要。本…...
Apollo Cyber 学习笔记
目录 0 Introduction What Why Advantage 1 Example 2 Concept 3 Flow Chart 4 Module 4.1 Transport 4.1.1 Share Memory 4.1.1.1 Segment 4.1.1.1.1 State 4.1.1.1.2 Block 4.1.1.1.3 Common 4.1.1.2 Notifier 4.1.1.2.1 ConditionNotifier 4.1.1.2.2 Multi…...
mamba_ssm和causal-conv1d详细安装教程
1.前言 Mamba是近年来在深度学习领域出现的一种新型结构,特别是在处理长序列数据方面表现优异。在本文中,我将介绍如何在 Linux 系统上安装并配置 mamba_ssm 虚拟环境。由于官方指定mamba_ssm适用于 PyTorch 版本高于 1.12 且 CUDA 版本大于 11.6 的环境…...
Ruby基础
一、字符串 定义 283.to_s //转为string "something#{a}" //定义字符串,并且插入a变量的值 something//单引号定义变量 %q(aaaaaaaaa) // 定义字符串,()内可以是任何数,自动转义双引号%Q("aaaaa"…...
React底层常见的设计模式
在React中,常见的设计模式为开发者提供了结构化和可重用的解决方案,有助于提高代码的可维护性和可扩展性。以下是对React中几种常见设计模式的详细解析,并附上示例代码和注释: 1. 容器组件与展示组件模式(Container/P…...
机器视觉--线扫相机触发
绪论 在当今蓬勃发展的机器视觉领域,线扫相机堪称关键角色,它凭借高分辨率的扫描成像能力,广泛应用于工业检测、物流识别、印刷质量检测等众多核心场景。线扫相机的触发方式作为成像环节的核心要素,直接决定了图像采集的精准度与…...
Flutter的permission_handler插件检查iOS的通知权限不准确
今天,做好了一个功能,就是在app内检查用户有没有给当前APP打开通知权限, 如果没打开,就展示一个 banner ,让用户去点击banner去打开权限 。 android上测试得非常顺利, 结果, 在iOS 上就是不…...
五、数据库索引详解:作用、原理与使用指南
数据库索引详解:作用、原理与使用指南 一、索引的作用(为什么需要索引?) 1. 生活中的类比 想象你要在一本 500 页的书中快速找到「数据库索引」相关内容: 没有目录:需要逐页翻找 → 全表扫描有目录&…...
vue使用a-table设置自定义合并字段实现某字段值相同则合并行
背景: 笔者前端使用ant-design-vue,二次开发了a-table,但a-table组件的属性方法都可以用; 业务需求:物资存放在不同的仓库,显示物资统计表格,以物资分组合并显示物资名称、总数量(物资A在所有库房总数量&a…...
Docker容器日常维护常用命令大全
友情提示:本文内容由银河易创(https://ai.eaigx.com)AI创作平台deepseek-v3模型生成,文中所有命令未进行验证,仅供参考。请根据具体情况和需求进行适当的调整和验证。 引言 Docker作为当前最流行的容器化技术…...
《昇腾推理服务器+DeepSeek大模型》技术培训在图为科技成功举办
2月17日,华为政企业务团队受邀莅临图为科技深圳总部,并成功举办了一场聚焦于《昇腾推理服务器DeepSeek大模型》的专业知识培训。 此次培训活动不仅深化了双方的技术交流,更标志着昇腾AI与DeepSeek大模型的全面融合应用即将迈入实质性落地的新…...
【Java环境】配置极简描述
241220 241220 241220 Java环境配置 下载JDK 注意:最好下载 Long-Term SupportLTS,长期支持版本【目前是JDK21】 下载地址:Java Downloads | Oracle. 下载这个:x64 Installer 。 安装时,路径可改,其余无…...
DeepSeek开源周Day5: 3FS存储系统与AI数据处理新标杆
项目地址: GitHub - deepseek-ai/3FS: A high-performance distributed file system designed to address the challenges of AI training and inference workloads.GitHub - deepseek-ai/smallpond: A lightweight data processing framework built on DuckDB and…...
