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

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服务器

一&#xff1a;ntp服务器详情 服务器型号 系统版本 IP地址 主机名 ntp服务版本 虚拟机8c-32g-1T Ubuntu22.04 10.20.30.2 DMZ-NTP-SERVER 4.2.8p15 二&#xff1a;ntp服务端部署配置脚本 #!/bin/bash # 脚本信息 echo "--------------------------…...

DeepSeek赋能智慧社区:提升社区治理,优化资源配置,带来全新变革

在数字化浪潮的推动下&#xff0c;智慧社区正逐渐成为城市发展的重要方向。作为一款先进的人工智能大模型&#xff0c;DeepSeek凭借其强大的多模态数据分析和智能决策能力&#xff0c;正在为智慧社区的建设注入新的活力。 标准规范及顶层设计指南、供应商整体解决方案合集、供应…...

spring注解开发(Spring整合MyBatis——Mapper代理开发模式、(Spring、MyBatis、Jdbc)配置类)(6)

目录 一、纯MyBatis独立开发程序。 &#xff08;1&#xff09;数据库与数据表。 &#xff08;2&#xff09;实体类。 &#xff08;3&#xff09;dao层接口。&#xff08;Mapper代理模式、无SQL映射文件——注解配置映射关系&#xff09; &#xff08;4&#xff09;MyBatis核心配…...

springcloud组件调用顺序

Spring Cloud 组件的调用顺序并不是固定不变的&#xff0c;它依赖于具体的业务场景和微服务架构的设计。然而&#xff0c;可以概括出一个典型的微服务架构中 Spring Cloud 组件的调用流程&#xff0c;这个流程大致可以分为以下几个步骤&#xff1a; 服务注册与发现&#xff1a…...

【MySQL】数据库-图书管理系统(CC++实现)

一.预期功能 该图书管理系统设计提供基本的设计模版&#xff0c;涉及数据库的增删查改等操作&#xff0c;包含登录功能&#xff0c;图书管理功能&#xff0c;图书借阅功能&#xff0c;用户管理功能等基础功能&#xff0c;详细功能查看以下菜单表&#xff0c;共包含三个菜单&am…...

VSCode轻松调试运行C#控制台程序

1.背景 我一直都是用VS来开发C#项目的&#xff0c;用的比较顺手&#xff0c;也习惯了。看其他技术文章有介绍VS Code更轻量&#xff0c;更方便。所以我专门花时间来使用VS Code&#xff0c;看看它是如何调试代码、如何运行C#控制台。这篇文章是一个记录的过程。 2.操作 2.1 V…...

python-leetcode-下一个排列

31. 下一个排列 - 力扣&#xff08;LeetCode&#xff09; 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 中&#xff0c;初始化列表是在构造函数的定义中&#xff0c;用于对类的成员变量进行初始化的一种方式。它紧跟在构造函数的参数列表之后&#xff0c;使用冒号 : 分隔&#xff0c;各成员变量的初始化用逗号 , 分隔。下面详细介绍初始化列表及其参数的含义。 基本语法 clas…...

2025年2月28日(RAG)

从图片中的内容来看&#xff0c;用户提到的“RAG”实际上是“Retrieval-Augmented Generation”的缩写&#xff0c;中文称为“检索增强生成”。这是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的技术&#xff0c;用于增强自然语…...

学睿德毅AI 赋能教育拓展短视频创作边界

在数字技术飞速发展的当下&#xff0c;短视频行业已成为推动社会经济发展的重要力量。学睿德毅紧跟时代步伐&#xff0c;聚焦 AI 技术在教育领域的创新应用&#xff0c;精心打造了一套专业且系统的短视频剪辑课程体系。该体系以 “技术与创意并重&#xff0c;理论共实践一色” …...

Jsmoke-一款强大的js检测工具,浏览器部署即用,使用方便且高效

目录标题 Jsmoke &#x1f6ac;&#x1f6ac; by Yn8rt使用方式界面预览功能特性支持的敏感信息类型 Jsmoke &#x1f6ac;&#x1f6ac; by Yn8rt ​ 该插件由 Yn8rt师傅 开发&#xff0c;插件可以理解为主动版的hae和apifinder&#xff0c;因为其中的大多数规则我都引用了&a…...

iphone上ios设备开启safari开发者debug模式,配合mac电脑使用

1.mac操作 mac的safari上打开开发者模式&#xff0c;打开显示网页开发者功能 2.开启IPhone的Safari调试模式 启用 Web 检查 功能&#xff0c;打开 iPhone 依次进入 设置 > Safari浏览器 > 高级 > 网页检查器 > 启用。 3.调试步骤 先用IPhone 的Safari打开要调试…...

【JAVA】阿里云百炼平台对接DeepSeek-V3大模型使用详解

1、DeepSeek简介 DeepSeek的火热让全世界见证了一场国产AI大模型走向巅峰的盛宴。DeepSeek的横空出世一方面让AI大模型的格局得到重塑&#xff0c;另一方面&#xff0c;对于普通人来说&#xff0c;也有机会零距离的体验到更懂国人的AI大模型。从很多使用过后的小伙伴们的反馈来…...

Datawhale 数学建模导论二 笔记5 多模数据与智能模型

主要涉及到的知识点有&#xff1a; 数字图像处理与计算机视觉 计算语言学与自然语言处理 数字信号处理与智能感知 10.1 数字图像处理与计算机视觉 视觉信息是我们第一种非常规的数据模式&#xff0c;在Python当中可以使用opencv处理数字图像&#xff0c;并提取出视觉特征用…...

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 副本集&#xff08;1 主节点 2 从节点&#xff09;可以通过运行多个 MongoDB 实例并使用不同端口和数据目录来实现。以下是详细步骤&#xff1a; 1. 准备工作 确保已安装 MongoDB。为每个实例创建独立的数据目录和日志文件。 2. 创建数据目录和…...

TikTok隐私保护措施:确保用户安全

TikTok隐私保护措施&#xff1a;确保用户安全 在这个信息爆炸的时代&#xff0c;社交媒体平台的隐私保护问题日益成为公众关注的焦点。TikTok&#xff0c;作为全球领先的短视频平台&#xff0c;拥有庞大的用户群体&#xff0c;因此&#xff0c;其隐私保护措施显得尤为重要。本…...

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是近年来在深度学习领域出现的一种新型结构&#xff0c;特别是在处理长序列数据方面表现优异。在本文中&#xff0c;我将介绍如何在 Linux 系统上安装并配置 mamba_ssm 虚拟环境。由于官方指定mamba_ssm适用于 PyTorch 版本高于 1.12 且 CUDA 版本大于 11.6 的环境…...

Ruby基础

一、字符串 定义 283.to_s //转为string "something#{a}" //定义字符串&#xff0c;并且插入a变量的值 something//单引号定义变量 %q(aaaaaaaaa) // 定义字符串&#xff0c;&#xff08;&#xff09;内可以是任何数&#xff0c;自动转义双引号%Q("aaaaa"…...

React底层常见的设计模式

在React中&#xff0c;常见的设计模式为开发者提供了结构化和可重用的解决方案&#xff0c;有助于提高代码的可维护性和可扩展性。以下是对React中几种常见设计模式的详细解析&#xff0c;并附上示例代码和注释&#xff1a; 1. 容器组件与展示组件模式&#xff08;Container/P…...

机器视觉--线扫相机触发

绪论 在当今蓬勃发展的机器视觉领域&#xff0c;线扫相机堪称关键角色&#xff0c;它凭借高分辨率的扫描成像能力&#xff0c;广泛应用于工业检测、物流识别、印刷质量检测等众多核心场景。线扫相机的触发方式作为成像环节的核心要素&#xff0c;直接决定了图像采集的精准度与…...

Flutter的permission_handler插件检查iOS的通知权限不准确

今天&#xff0c;做好了一个功能&#xff0c;就是在app内检查用户有没有给当前APP打开通知权限&#xff0c; 如果没打开&#xff0c;就展示一个 banner &#xff0c;让用户去点击banner去打开权限 。 android上测试得非常顺利&#xff0c; 结果&#xff0c; 在iOS 上就是不…...

五、数据库索引详解:作用、原理与使用指南

数据库索引详解&#xff1a;作用、原理与使用指南 一、索引的作用&#xff08;为什么需要索引&#xff1f;&#xff09; 1. 生活中的类比 想象你要在一本 500 页的书中快速找到「数据库索引」相关内容&#xff1a; 没有目录&#xff1a;需要逐页翻找 → 全表扫描有目录&…...

vue使用a-table设置自定义合并字段实现某字段值相同则合并行

背景&#xff1a; 笔者前端使用ant-design-vue,二次开发了a-table,但a-table组件的属性方法都可以用&#xff1b; 业务需求&#xff1a;物资存放在不同的仓库&#xff0c;显示物资统计表格&#xff0c;以物资分组合并显示物资名称、总数量&#xff08;物资A在所有库房总数量&a…...

Docker容器日常维护常用命令大全

友情提示&#xff1a;本文内容由银河易创&#xff08;https://ai.eaigx.com&#xff09;AI创作平台deepseek-v3模型生成&#xff0c;文中所有命令未进行验证&#xff0c;仅供参考。请根据具体情况和需求进行适当的调整和验证。 引言 Docker作为当前最流行的容器化技术&#xf…...

《昇腾推理服务器+DeepSeek大模型》技术培训在图为科技成功举办

2月17日&#xff0c;华为政企业务团队受邀莅临图为科技深圳总部&#xff0c;并成功举办了一场聚焦于《昇腾推理服务器DeepSeek大模型》的专业知识培训。 此次培训活动不仅深化了双方的技术交流&#xff0c;更标志着昇腾AI与DeepSeek大模型的全面融合应用即将迈入实质性落地的新…...

【Java环境】配置极简描述

241220 241220 241220 Java环境配置 下载JDK 注意&#xff1a;最好下载 Long-Term SupportLTS&#xff0c;长期支持版本【目前是JDK21】 下载地址&#xff1a;Java Downloads | Oracle. 下载这个&#xff1a;x64 Installer 。 安装时&#xff0c;路径可改&#xff0c;其余无…...

DeepSeek开源周Day5: 3FS存储系统与AI数据处理新标杆

项目地址&#xff1a; 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…...