0x04 在Debian12.0中部署NTP实现网络校时服务【base:NTP+Debian12+vSphere】

本文主要是介绍0x04 在Debian12.0中部署NTP实现网络校时服务【base:NTP+Debian12+vSphere】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1.概要
    • 2.整体架构流程
    • 3.技术细节
      • 3.1 准备一个终端工具。
      • 3.2 vSphere中新建Debian12,开启SSH配置。
      • 3.3 终端工具连接Debian12的SSH
      • 3.4 Debian12完成NTP配置
    • 小结
    • 花有重开日,人无再少年啊!

1.概要

NTP校时主要介绍一个作用,一些底层基础设施服务,满天飞的专业介绍,这里不去摘抄引用,就简单一句:你公司或者校园有严格的时间管理,包括了指纹打卡机、摄像头、门禁机、广播系统,这些东西如果没有统一的时间分发服务,那么比如下课铃声,乱七八糟的响,有点提前几分钟,有点往后几分钟;比如监控晚了几分钟,事件发生和画面不一致,这些都是问题。

这不,咱给自己搭一套ntp服务,进行统一时间管理咯。


其它内容传送门地址:

0x00 开局三层路由起内网【base:路由器+空闲物理主机(我是TP-LINK+台式机)】
0x01 在空闲物理主机上部署vSphere【base:空闲物理设备+ESXI 8.0+vCenter Server 】
0x02 在Debian12.0中部署BIND9实现主DNS服务【base:BIND9+ESXI+Debian12】
0x03 在Debian12.0中部署BIND9实现从DNS服务【base:BIND9+Debian12+vSphere】
0x04 在Debian12.0中部署NTP实现网络校时服务【base:NTP+Debian12+vSphere】
0x05 在Debian12.0中部署LNMP实现基础环境【base: Debian12+Nginx+MySQL+PHP+ESXI】
0x06 在vSphere中部署Openmediavault实现轻量NAS【base:Openmediavault+vSphere】
0x07 在vSphere中部署TrueNAS实现业务NAS ZFS【base:NTP+vSphere】
0x08 在Debian12.0中部署LDAP目录访问【base:LDAP+Debian12+vSphere】
0x09 在Debian12.0中部署SAMBA4活动目录,实现DC域控 【base:SAMBA4+Debian12+vSphere】

2.整体架构流程

  1. 准备一个终端工具(mobaxterm、xshell、windterm)。
  2. vSphere中新建Debian12,开启SSH配置。
  3. 终端工具连接Debian12的SSH。
  4. Debian12完成NTP配置。
  5. 其它设备应用NTP校时服务器。

3.技术细节

3.1 准备一个终端工具。

mobaxterm、xshell、windterm各有千秋,都好用。windterm全免费,但是各种密码输入界面BUG,但不影响使用。

  • mobaxterm网址:https://mobaxterm.mobatek.net/,下载Free版就够用了,英文界面。
  • xshell网址:https://www.xshell.com/zh/xshell/,xshell自称最强,付费以后的确是的。
  • windterm网址:https://github.com/kingToolbox/WindTerm,中文开源免费,各种指令补全快捷执行。

3.2 vSphere中新建Debian12,开启SSH配置。

此前我们都是通过ESXI创建或者运行主DNS的那台Debian12克隆,这次我们在vSphere上演示如何起虚拟机。Debian12的镜像之前DNS配置的时候,已经上传到ESXI中,无需二次上传。

首先正常登录进入vSphere(vCenter Server控制台)
在这里插入图片描述
在我们创建的集群上右键,选择新建虚拟机。

在这里插入图片描述

提供多种方式创建一个新的虚拟机,这里为了演示选择第一种,往后我推荐大家起一个模板,从模板创建,这样就以后不需要重复添加源这些操作。创建过程大家直接看图。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
创建完虚拟机后,在虚拟机列表找到你的新虚拟机,右键——控制台——启动远程控制台,会打开提示:问你是否通过VMware workstation来管理,点击打开,你就跳转到你电脑本机安装的VMware workstation里了。什么?你电脑没有VMware workstation!装一个,别在ESXI的网页界面里折磨自己。
在这里插入图片描述
跳转到VMware workstation后,你发现ESXI其实是帮你在VMware workstation连接了一个远程服务器,接下来所有步骤就像正常的虚拟机哪有操作就行,安装Debian12过程中的重点地方,我会在下面截图中说明。
在这里插入图片描述
扫描完组件后,进入到配置主机名,以前的教程这步是跳过,到系统内再进行配置,主要是为了配合域的内容来操作,现在我们的DNS以及域都明白了,这里直接配置就行,如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后等待安装就行,Debian12的安装真没啥说的,动手强的兄弟批量装机,这玩意可能就三分钟内点完安装了。安装完成后,你的ssh服务是默认打开的。

3.3 终端工具连接Debian12的SSH

先在Debian12里面打开终端,su提权到root身份

su

在这里插入图片描述
一般开始都是DHCP获得的IP,正常情况NTP服务器IP地址是需要固定的,无论你用网络高级选项配置还是nmtui,你固定IP就行配置完成后,正常保存退出,通过“ip a”命令检查IP地址是否正确,通过ping www.baidu.com检查是否与外网通讯正常。

ip a
ping www.baidu.com

接着修改SSH配置文件,调整为默认允许root身份登录

nano /etc/ssh/sshd_config

在这里插入图片描述

把PermitRootLogin前面的#号去掉,后面改为yes,然后按ctrl+x再加Y确认修改(ctrl+u撤销上一步),接着重启ssh服务

systemctl restart sshd

以windtrem为例,右键新建会话,如下配置,root是你登录的用户名,正常连接即可。
在这里插入图片描述
进入到ssh后,再次检查

ip a
ping www.baidu.com

开局都是0配置,你的内网是即插即用的,这一步应该没毛病,有问题ping不通就去检查你的路由器。
在这里插入图片描述
接着去修改Debian软件仓库源,我喜欢同时指定为国内的阿里和清华源,流程如下

nano /etc/apt/sources.list

把里面的所有内容清空,把下面的内容粘贴进去,这里就提醒终端软件的好处了,wind支持你直接你在CSDN复制,然后在终端里面右键直接粘贴

deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contribdeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

编辑好如下,按ctrl+x再加Y确认修改(ctrl+u撤销上一步)
在这里插入图片描述
接着apt-get update更新源

apt-get update

3.4 Debian12完成NTP配置

更新完源以后,注意NTP有很多组件如下,其中最核心的是ntp和ntpdate,一个是服务端,一个是客户端。这两个我们都安装,ntpstat就是方便查看ntp状态的,也可以安装
在这里插入图片描述
执行下面命令安装ntp内容,输入Y同意安装

apt-get install ntp		
apt-get install ntpdate		//ntp安装后自带安装ntpdate的
apt-get install ntpstat

安装完后,直接检测服务

systemctl status ntp.service

在这里插入图片描述可以看到服务是激活的,咱们再通过另一个指令来检查和上层NTP服务器是否连接

ntpstat

在这里插入图片描述

可以看到,和一个IP为119.28.206.193的上层NTP服务器连接上了,是的这里你应该感觉出来了,NTP和DNS一样的,都是逐级分担业务的,那现在我们的ntp服务器能用了吗,去vCenter里面试一下,通过访问咱们vCenter server的5480端口,你进入vCenter server后台,平常创建虚拟机的那个是前台。左侧找到时间,点击配置试一下你搭建的ntp服务器。(你可以去DNS服务器把ntp服务器做一个域名解析,这里就可以填域名了)
在这里插入图片描述
可以发现,咱们的NTP服务器简直是省心,安装一下就能用,如果你只是追求能用,那么这个博客就到此为止了,如果你像了解更深,咱们继续研究ntp。

你可能听过原子钟,什么中子星频率校时这些名词,为什么时间对设备如此重要,这里的时间其实要细分两种:宏观上人感知的时间和机器工作需要的时序。

宏观上人感知的时间就像字面意思,比如几点上班,咱们就几点到。

机器工作需要的时序,玩过MCU、单片机的都接触过时序,开发硬件驱动,时序图必看,不然你程序无法协调硬件之间通信的时间规则,比如我们通信协议规定第一毫秒我给你锁,第二毫米你给钥匙,如果时序乱了的话锁就打不开,等价于硬件设备之间无法通信,无法工作。当然机器感受的时间尺度是以毫秒纳秒感受,人是以时分秒感受。

所以为了让全地球这么多电子设备工作在一个精准的时序上,人们不断的找频率稳定的发生源,通过监测发生源
发出的脉冲,脉冲一次的开始和结束咱们定义为时序的一个小周期,然后规定各种通信协议,在某某小周期内咱们之间协商认证,在某某周期内,咱们协商传数据。

那这与咱们部署NTP服务啥关系?当然有关系,大家不要以为提供时间的设备和使用时间的设备,同步一次一辈子就精准匹配,不同设备不同硬件随着时间推移,他们的精度之间尺度不同,必然会有差异,计算机都是0和1通信,时序有差异,那么传输数据就错位。我们需要NTP服务器来不断的每个一个月同步一次,保证误差在可接受的范围内,只不过硬件级的时间同步,咱们人没感知而已,我们更关心宏观尺度。

那么全球牛逼的时钟在哪呢?世界上第一座原子钟建于1949年,位于美国的国家度量衡标准实验室,用铯-133原子的一种特定跃迁来标记频率,然后N个周期定义了一秒,我们的国家授时中心的时间基准(铯原子钟)在临潼。
在这里插入图片描述

好了,NTP的历史背景我们交代了一点,那么我们直接访问铯原子钟吧,可能吗?技术上当然可以,但逻辑上不能这样干,且不论解码的各种设备多么昂贵,全中国这么多机器设备,访问这玩意也不现实,那么咱们做二级,三级,四级授时,逐级承担业务,这个思想,在咱们的NTP配置服务中叫stratum层,st值,怎么看?如下操作:

ntpq -p

在这里插入图片描述
通过命令查询咱们的remote远端授时服务器有那些,这里就查到了两个,st值为2,也就意味着咱们访问的是二级授时服务器,最后的offset是偏差,也就是我们的设备和这两个NTP二级授时服务器的时间补偿,当然这个是毫秒纳秒级别的。jitter这个参数代表咱们的系统时间和主板BIOS的时差,这些参数看一眼当一乐,想深入研究可以去参考维基百科。

了解完这些基础以后,我们来看看这个开局0配置就使用的NTP服务,提供那些配置,如下

nano /etc/ntp.conf

在这里插入图片描述咱们先看看我们的上层NTP服务器是在哪里指定的,以及如何指定新的
在这里插入图片描述看到server字段,这里添加了两个域名:0.cn.pool.ntp.org和1.cn.pool.ntp.org,CN代表中国,那么我能不能查其它的NTP服务器,可以,看到下面的网址了吗,访问它

国际校时

这个网站是搜集和登记NTP服务的,他们叫做NTP服务Pool池,你可以自己搞个牛逼的原子钟然后申请加入到他们的池里面,为别人提供服务,不过这都是幻想。咱们直接去看中国的NTP服务器吧,访问下面网址,你也可以官网点亚洲然后找中国,一样的。

中国NTP服务器列表

在这里插入图片描述
这里就是亚洲提供的4台NTP服务器地址,咱们加一个试一下,比如
在这里插入图片描述保存,退出,重启NTP服务器,然后执行上层服务器查询命令

systemctl restart ntp.service 
ntpq -p

在这里插入图片描述
明显看到咱们的上层NTP服务器列表变了,不过server一个两个就够了,你如果仔细阅读国际授时官网,人家还是建议你少指定NTP服务器,避免造成服务器性能的浪费,带宽的浪费。咱们回到配置,看下面的pool就很容易理解了。
在这里插入图片描述
这里他说咱们可以直接选用Pool配置,那么会自动帮我们分发低层级的NTP server,分发触发条件是每次开机的时候,这个咱就不演示了,pool很呆。来看下面访问控制部分。很多时候我们的NTP服务器是部署在内网,我只希望它和上层NTP服务器通信,然后只给我们的内网放行。
在这里插入图片描述

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited

这两句先看后面参数:

  • kod: 向不安全的访问者发送Kiss-Of-Death报文。
  • ignore:拒绝连接到NTP服务器。
  • nomodiy: 客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
  • noquery: 不提供客户端的时间查询。
  • notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。
  • notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。
  • nopeer: 提供时间服务,但不作为对等体。
    这些参数组合在一起,加上-4和-6,就等于默认把IPv4和IPv6的访问都拒绝掉。
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

这一段是默认放行本地,就是放行咱们安装NTP服务的这台本机服务器。

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust

这一段就简单咯,你看英文介绍嘛,客户端子网访问权限的模板,作用就是放行你的内网,比这下面抄就行,记住要被notrust去掉,不然咱们没有认证会被拒绝访问,然后把nomodiy加上,避免被客户端修改。我上面已经写了一句了。这里不做演示,直接放图。
在这里插入图片描述
当然也可以只放行一个IP地址进入,语句例如

restrict 172.31.5.5 nomodify 

怎么自定义大家自由发挥吧,这个部分也就到此为止了。还有一个内容就是NTP的授时方式,我们现在是客户端主动发申请模式,配置文件下面有服务端主动广播的:

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

我不建议开这个功能,这功能开了以后有些物联网小设备会抽疯,会一直更新时间更新时间。
在这里插入图片描述

如果你按上述配置,发现最后无法正常访问NTP服务器,一定要检查防火墙和你的ntp配置里面的访问控制的参数

小结


花有重开日,人无再少年啊!


那么到此为止,我们的NTP就全部搭建完成了,DNS和NTP算得上是这个互联网基础服务的基石,自己搭建它,体验他的逻辑,对这些基础服务的理解将会更加深刻,诸君共勉吧。

这篇关于0x04 在Debian12.0中部署NTP实现网络校时服务【base:NTP+Debian12+vSphere】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/230393

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、