Linux中DCHP与时间同步

news2025/1/9 2:27:27

目录

一、DHCP

(一)工作原理

1.获取

2.续约

(二)分配方式

(三)服务器配置

1.随机地址分配

 2.固定地址分配

二、时间同步

(一)ntpdate

(二)chrony

1.检测所有源及其状态

2.检查当前系统的时钟误差

3.搭建本地时间同步服务器


一、DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络管理协议,用于自动分配和管理TCP/IP网络中的IP地址、子网掩码、默认网关、DNS服务器等参数。DHCP使得网络管理员能够集中并自动地管理网络中计算机的TCP/IP配置信息,减少手动设置的工作量,同时确保了网络资源的有效利用

(一)工作原理

1.获取

①DHCP客户端请求:

当一台新的设备加入到网络中时,它会广播一个DHCP Discover报文,请求DHCP服务器为其提供网络参数。

②DHCP服务器响应:

DHCP服务器接收到Discover报文后,会选择一个未被使用的IP地址,然后向DHCP客户端发送一个包含该IP地址和其他网络参数的DHCP Offer报文。

③DHCP客户端确认:

DHCP客户端收到Offer报文后,会选择其中一个DHCP服务器的offer,并向该服务器发送一个DHCP Request报文,请求使用提供的IP地址。

④DHCP服务器确认:

DHCP服务器收到Request报文后,会向DHCP客户端发送一个DHCP Ack报文,确认IP地址的分配。


2.续约

在整个过程中,如果DHCP客户端希望续约其租期,将在租期快结束时发送DHCP Renew或DHCP Rebind请求来更新租约;如果DHCP服务器同意续约,则发送DHCP Acknowledgment进行确认。当客户端不再需要IP地址时,可以发送DHCP Release消息释放IP地址资源

(二)分配方式

DHCP的分配方式有三种

1.自动分配:分配到一个IP地址后永久使用

2.手动分配:由DHCP服务器管理员专门指定IP地址

3.动态分配:使用完后释放该IP,供其它客户机使用

(三)服务器配置

1.随机地址分配

首先第一步:yum  install  dhcp  -y  安装dhcp程序

安装完之后直接使用systemd服务是无法打开的

可以看到,这个配置文件类似于手册一样,所以读取这个文件是无法开启的

现在来修改一下这个配置文件

先将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example文件内容内容复制到/etc/dhcp/dhcod.conf中,然后再去修改它

设置全局DNS为114.114.114.114(8.8.8.8),租约单位为秒

注意:要以封号结尾

保存退出后,重新启动一下服务就可以打开了

这个时候我们去验证一下

使用Linux系统验证

将客户机的网址获取方式改为dhcp

保存退出后重启网卡  systemctl  restart network  

如果你是使用远程服务,如Xshell连接的,此时会直接断开,因为IP地址改变,远程登录服务匹配不到IP地址

使用Windows系统验证

修改获取地址方式为dhcp

 2.固定地址分配

首先获取客户机的MAC地址

将客户机的MAC地址写到配置文件中

重启dhcpd服务后,再去客户机查看 

二、时间同步

在Linux系统中,时间同步是一个关键的系统维护任务,确保所有系统时钟与世界协调时间(UTC)保持一致。

(一)ntpdate

是一个基于 Network Time Protocol (NTP) 的命令行工具,用于手动将本地系统时间与远程 NTP 服务器的时间进行同步。它通过一次性获取并设置当前系统时间来快速调整系统时钟,但并不提供持续性的时间同步服务。

在较早的 Linux 发行版中,ntpdate常被用来一次性同步时间。然而,现代系统更推荐使用如ntpd 或chrony这样的完整 NTP 守护进程,它们不仅可以实现精确的时间同步,还可以逐步调整系统时钟,以减少对系统的潜在冲击,并且能更好地处理网络延迟和抖动带来的影响。

上述命令会从 NTP 公共池(pool.ntp.org)中的一个服务器同步时间,但请注意,不建议在运行了ntpd 或chronyd的系统上直接使用ntpdate,因为它可能会干扰这些守护进程正在进行的精细时间调整工作。如果需要在已安装了 NTP 守护进程的系统上进行时间同步,应使用相应守护进程提供的管理命令或配置文件来进行操作。

(二)chrony

Chrony是一个现代的网络时间同步服务,它提供了更高的精确度和更快的时间同步速度,并且在各种网络环境(包括间歇性连接、高延迟网络以及虚拟机)下表现出色。通常情况下,Chrony会以平滑的方式逐渐调整系统时钟以减少对系统的潜在影响,例如避免引起正在运行的应用程序或服务出现问题。然而,在某些特殊场景下,如果需要立即纠正系统时间,可以使用chronyc  makestep命令。不过请注意,频繁使用此命令可能会影响系统的稳定性,应当谨慎操作,并尽量依赖Chrony自动的、渐进式的时间同步机制

首先确保chronyd服务已经开启,系统应该是默认开启,如果没有开启则需要手动

1.检测所有源及其状态

输入:chronyc  sources

210 Number of sources = 4:表示当前有4个时间源(NTP服务器)。

每一行代表一个NTP服务器的信息,各列含义如下:

^*^+^- 和 ^? 符号分别代表不同的状态:

^* 表示当前首选或活跃的时间源。

^+ 表示良好的时间源,但并非首选。

^- 表示源不可达或者错误,当前未用于时间同步。

^? 表示源未知,通常意味着它尚未被Chrony成功查询过。

139.199.215.251  139.199.214.202 ntp.wdc2.us.leaseweb.net 和 ntp6.flashdance.cx 是各个NTP服务器的名称或IP地址。

Stratum 列表示服务器在NTP层次结构中的层级,数值越小表示距离UTC标准时间越近。例如,Stratum 2服务器是从Stratum 1服务器获取时间的。

Poll 列是Chrony向该服务器请求时间更新的频率。

Reach 列用二进制位表示该服务器可达性及最新样本的质量。这里的数字和符号(如37761等)表示在过去8次尝试中联系到服务器的次数。

LastRx 列显示最后一次从该服务器接收到响应的时间(以秒为单位)。

Last sample 列提供了关于最后接收到的时间样本的详细信息,包括偏移量(相对于本地时钟)、抖动以及精度估计。例如 -2009us[-2130us] +/- 107ms 表示本地时钟比这个NTP服务器慢约2.009微秒至2.130微秒,并且这个测量值的误差范围大约在±107毫秒内。        

2.检查当前系统的时钟误差

输入:chronyc tracking

  • Reference ID:标识参考时钟源的ID(这里为139.199.215.251)。

  • Stratum:表示系统的层级,这里是3,意味着该系统的时间来源于一个Stratum 2级别的NTP服务器。

  • Ref time (UTC):显示了参考时钟最后一次更新的时间,这里的日期是2024年1月11日02:43:22(请注意这是一个示例数据,并非实际日期)。

  • System time:描述本地系统时间与NTP服务器时间的偏差,这里是慢了0.000316353秒。

  • Last offset:上一次同步后的偏移量,此处为-0.000121256秒,即本地时间略快于NTP服务器时间。

  • RMS offset:所有样本平均偏移量的标准差,这里是0.065495297秒,表示平均误差水平。

  • Frequency:频率偏差,10.391 ppm(百万分之一)慢,说明本地时钟运行速度略慢于准确值。

  • Residual freq:残余频率,-0.005 ppm,进一步细化频率误差。

  • Skew:时钟偏差斜率,0.438 ppm,反映时钟速率随时间的变化程度。

  • Root delay:从本地系统到参考时钟源之间网络延迟的时间,这里是0.038137767秒。

  • Root dispersion:由于网络抖动和服务器处理时间导致的时间不确定性,这里是0.021367520秒。

  • Update interval:Chrony与NTP服务器之间的更新间隔,这里是1030.2秒。

  • Leap status:闰秒状态,显示为“Normal”,表示目前不存在即将发生的闰秒事件

3.搭建本地时间同步服务器

在内网环境中,如果只允许有一台电脑可以连接网络的情况下,其它机器是无法从网络中同步时间,此时需要搭建一台本地时间同步的服务器

①修改服务器配置文件

需要有一台可以连接网络的机器,首先修改其配置文件

chrony服务的配置文件在/etc/chrony.conf中,添加:server   网络服务器地址   iburst  

网络时间服务器可以添加也可以不添加,它会自动从多个时间地址池中选择同步,也可以将所有选项(3-6行)删除,添加自己特定的网络时间服务器

添加客户机的时间同步服务器为自己设置的服务器地址

服务器和客户机都设置好后,两边都需要重启一下服务,重新加载配置文件

将设置的服务器时间调整

客户机的时间会自动与服务器时间同步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智云谷再获资本市场青睐,完成数千万元A+轮融资

近日,深圳前海智云谷科技有限公司(以下简称“智云谷”)完成数千万元A轮融资,本轮融资由青松基金独家投资,多维资本担任独家融资财务顾问。本轮融资资金将用于扩大新技术研发投入、智能工厂扩产、加速产品交付&#xff…

openpose环境搭建

编程如画,我是panda! 最近学习要用要openpose,配了三天的环境,快疯了,踩了很多坑,在这里和大家分享一下 目录 前言 一、安装openpose 二、运行openpose 三、常见的两个错误 1. No module named pyopen…

深度学习论文解读分享之diffGrad:一种卷积神经网络优化方法

IEEE TNNLS 2020:diffGrad: 一种卷积神经网络优化方法 题目 diffGrad: An Optimization Method for Convolutional Neural Networks 作者 Shiv Ram Dubey , Member, IEEE, Soumendu Chakraborty , Swalpa Kumar Roy , Student Member, IEEE, Snehasis Mukherjee…

leetcode234. 回文链表

题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: 输入:hea…

西米支付:到底什么是NFT(数字藏品支付通道)(NFT支付通道)

NFT到底指的是什么呢? 数字藏品的实际意义在于它们打破了传统艺术品的物质形态束缚。数字藏品可以通过虚拟现实和区块链技术进行创作、展示和交易。它们不仅可以满足人们对艺术品的审美需求,还可以成为一种投资和资产保值增值的方式。数字藏品的实际意义…

线控底盘新玩家凶猛!这家企业的ONE-BOX产品正式量产下线

高工智能汽车获悉,12月27日,威肯西科技宣布旗下ONE-BOX线控制动产品--液压解耦制动系统HDBS实现量产下线。该产品将与多个汽车品牌签署量产及定点协议,预计年产量达到60万套。 据了解,作为耀宁科技集团的一级子公司,威…

Javascript 下载方法分享

一、引言 JavaScript是一种广泛使用的编程语言,用于增强网页交互性和动态功能。然而,有时我们需要将JavaScript代码下载并部署到本地服务器或离线环境中。本文将分享一些常用的JavaScript下载方法。 二、直接下载JavaScript文件 手动下载:…

机器学习-决策树

1、什么是决策树? 一种描述概念空间的有效的归纳推理办法。基于决策树的学习方法可以进行不相关的多概念学习,具有简单快捷的优势,已经在各个领域取得广泛应用。 决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试&a…

徐州数字孪生元宇宙赋能工业智能制造,助力传统制造业数字化转型

徐州数字孪生元宇宙赋能工业智能制造,助力传统制造业数字化转型。在徐州市制造业企业数字化转型的过程中,数字孪生技术的应用已经取得了显著成效。一方面,企业的生产效率得到了显著提高,产品质量也得到了有效保障。另一方面&#…

项目管理中,怎么进行项目过程管理?

项目经理在项目管理中会遇到许多问题,其中最令人头痛的莫过于项目计划执行不到位,进度难以跟踪,项目延期严重。这些问题导致项目计划看似存在,但实际上与无计划相差无几。 对于项目团队内部,项目经理常常抱怨团队成员…

Java后端sql编写

Java后端sql编写 注意事项二级目录三级目录 注意事项 在后端编写sql,不要直接编写sql语句进行查询 比如直接在service实现类中写下图这种语句 二级目录 三级目录

thinkphp 命令行执行

1 php 1 which php 查看命令来源 2 ll /usr/bin/php 软连接,来源是php的安装文件的可执行文件php 3 $PATH的作用, 显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成如下, echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/…

贴纸SDK多少钱?

贴纸已经成为了表达自我、分享情感的重要工具,美摄科技,作为一家领先的技术解决方案提供商,致力于为企业提供卓越的贴纸SDK(软件开发工具包)技术解决方案。本文将深入探讨美摄科技贴纸SDK的价值、优势以及如何为企业创造价值。 一…

K8S----YAML

kubernetes中资源可以使用YAML描述(如果您对YAML格式不了解,可以参考YAML语法),也可以使用JSON。其内容可以分为如下四个部分: typeMeta:对象类型的元信息,声明对象使用哪个API版本&#xff0c…

linux云服务器 如何将数据盘挂载到系统盘上面?

先认识认识下面几个常用命令 lsblk 命令:查看设备列表,也就是能看到系统盘和数据盘一般为:vda(系统盘)、vdb(数据盘)等等 lsblk"ls" 是 "list" 的缩写: lsblk…

❤ uniapp 开发小程序环境搭建和使用零(0 开篇-介绍和运行)

♥ uniapp 环境搭建 1、简单介绍 拿HbuildX写代码开发,然后把程序运行到微信开发者工具 开发uniapp小程序需要用到的两个工具 HbuildX [开发小程序使用] https://www.dcloud.io/hbuilderx.html 微信开发者工具 HbuildX开发的小程序运行到微信开发者工具 https://de…

cesium设置近地天空盒 天空会倾斜

上篇文章讲解了如何设置近地天空盒,效果出来了还是发现天空是斜的 https://blog.csdn.net/m0_63701303/article/details/135618244 效果: 这里需要修改Cesium.skyBox的代码,代码如下直接全部复制组件内调用即可 skybox_nearground.js&…

100个实战项目——在树莓派4B+Ubuntu20.04桌面版配置下运行智能小车(一)

主机SSH远程链接从机 查看python版本 python 我的是python3.8 所以我需要安装pip3 sudo apt install python3-pip 接着安装程序需要的引脚库 sudo pip3 install RPi.GPIO 注意必须要有sudo,因为我是远程遥控的树莓派,没有权限运行程序&#xff0…

GaussDB数据库中的MERGE INTO介绍

一、前言 二、GaussDB MERGE INTO 语句的原理概述 1、MERGE INTO 语句原理 2、MERGE INTO 的语法 3、语法解释 三、GaussDB MERGE INTO 语句的应用场景 四、GaussDB MERGE INTO 语句的示例 1、示例场景举例 2、示例实现过程 1)创建两个实验表,并…

不同场景中,低代码平台如何进行表单校验?应对复杂业务数据校验

在当今的数字化时代,表单已经成为应用程序与用户交互的重要界面。而表单校验则是确保数据准确性和完整性的关键环节。本文以JVS低代码为例,详细介绍如何在低代码平台上进行表单校验的配置,以确保不同情况下的数据验证需求得到满足。我们将探讨…