时间协议ntp服务器,时间服务器NTP搭建及NTP协议简介

NTP协议简介目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。NTP(NetworkTimeProtocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。NTP可以通过原子钟、天文台、卫星等渠道获得精准时间,然后再按照NTP服务器等级进行传播。NTP的网络结构是分层管理的类树…

大家好,又见面了,我是你们的朋友全栈君。

NTP协议简介

目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。NTP(Network Time Protocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。

NTP可以通过原子钟、天文台、卫星等渠道获得精准时间,然后再按照NTP服务器等级进行传播。NTP的网络结构是分层管理的类树形结构,Stratum-0是外部时钟源,Stratum-1层从Stratum-0层获取时间,Stratum-2层从Stratum-1层获取时时间,以此类推,但Stratum层的总数必须限制在15层以内。

NTP网络体系如下图,图画的很难看,莫见怪哈~

310a7854c39cf60cfe1324855e87536d.pngNTP网络协议体系

在使用时间服务器进行时间同步时,NTP客户端首先发出时间同步请求,与时间服务器交换时间,交换的结果是,客户端计算出时间的延迟,调整与时间服务器同步。要查看详细的NTP报文协议,请点击这里NTP协议分析。

NTP工作模式

以上是NTP协议的简要信息,接下来说说NTP的3种工作模式。

主/被动对称工作模式:这种模式采用一对一连接,双方均可同步对方或被对方同步,先发出申请建立连接的在主动工作模式下,另一方在被动工作模式下。

客户/服务器模式:这种模式也是一对一连接,与主/被动模式同的是,客户端按照服务器的时间进行同步,而服务器不会与客户端同步。

广播模式:一对多的连接,服务器不论客户端工作在那种模式下,主动发出时间信息。

上述的3种工作模式都是采用UDP协议来发送时间信息的,客户端在收到数据包后计算出时间的偏差量与传递资料的时间延迟。

安装和配置NTP服务器

安装NTP服务

安装命令如下:

sudo apt-get installl ntp

这样就在安装好了NTP服务。下面进行NTP的配置。

配置NTP服务

NTP常用配置选项:

server

通过server选项可设置上级NTP服务器的IP地址,具体格式为:

server ip或域名

restrict

restric 主要用来设置NTP的权限,格式为

restric ip地址 mask 子网掩码 参数

参数可以为以下几项:

ignore:关闭所有的NTP联机服务

nomodify:客户端只能通过服务器进行网络校时,但客户端不能更改服务器端的时间参数

notrust:客户端除非通过认证,负责客户端来源将被视为不信任子网

noquery:不提供客户端的时间查询

driftfile

driftfile用来指定一个文件,给文件记录与上级NTP服务器所联系时花费的时间,格式为:

driftfile 文件名

下面是NTP服务器的配置实例。

NTP配置实例

NTP主要配置文件在 /etc/ntp.conf中,我们可以通过修改来配置NTP服务器的参数。

5979d88da596b1aff1a4a5e7bf32ac41.png

编辑ntp.conf 文件内容如下:

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift

# Enable this if you want statistics to be logged.

#statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable

filegen peerstats file peerstats type day enable

filegen clockstats file clockstats type day enable

# Specify one or more NTP servers.

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board

# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for

# more information.

server 0.ubuntu.pool.ntp.org

server 1.ubuntu.pool.ntp.org

server 2.ubuntu.pool.ntp.org

server 3.ubuntu.pool.ntp.org

# Use Ubuntu’s ntp server as a fallback.

server ntp.ubuntu.com

# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for

# details.  The web page

# might also be helpful.

#

# Note that “restrict” applies to both servers and clients, so a configuration

# that might be intended to block requests from certain clients could also end

# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don’t allow configuration.

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.

restrict 127.0.0.1

restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if

# cryptographically authenticated.

restrict 10.12.8.196 mask 255.255.255.0 nomodify

# 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

# If you want to listen to time broadcasts on your local subnet, de-comment the

# next lines.  Please do this only if you trust everybody on the network!

#disable auth

#broadcastclient

配置完成后,需要重新启动NTP服务。

sudo service ntp restart

19b217c9f6b374bc71ce831b2163fa81.png

这样我们就配置好了NTP服务器,下面教大家如何通过客户端来同步时间。

同步时间

在ubuntu 下使用ntp同步时间:

lixinxing@Ideapad-Flex:~$ sudo ntpdate -u 10.12.8.196

19 Apr 13:54:17 ntpdate[6148]: adjust time server 10.12.8.196 offset -0.003172 sec

在windows下同步时间

首先打开控制面板中的时间与日期设置,选择Internet时间,点击更改设置

d8baa2ff59237e1b2f5807fbe11ca6fa.pngafadc407cd3dd007ab3256aeb1b5800f.png

在服务器中输入10.12.8.196,这里10.12.8.196是你搭建的NTP服务器的地址,然后单击立即更新,可以看到时间已经同步完成的信息,接下来会每隔一周时间自动与服务器同步时间。

76f58cfea3d76e39cbcee4ecbe0fedfc.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126162.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux:根据关键字或日期查找日志

    linux:根据关键字或日期查找日志Q:Linux命令,根据关键字查询日志A:1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。2.多个文件可以使用grep命令,比如grepERROR/var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。…

    2022年6月18日
    128
  • wJa丨Java闭源项目的自动化测试「建议收藏」

    wJa丨Java闭源项目的自动化测试「建议收藏」本文是i春秋论坛作家「Wker」表哥分享的技术文章,文章旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。wJa支持反编译Java生成的jar包文件,整理成语法树,根据调用链进行污点分析

    2022年7月3日
    24
  • SXSSFWorkbook 转 InputStream「建议收藏」

    SXSSFWorkbook 转 InputStream「建议收藏」publicstaticInputStreamworkbookConvertorStream(SXSSFWorkbookworkbook){InputStreamin=null;try{//临时缓冲区ByteArrayOutputStreamout=newByteArrayOutputStream();…

    2022年9月21日
    0
  • 如何排查jar包冲突_怎么检查网络冲突

    如何排查jar包冲突_怎么检查网络冲突在测试脚本编写和应用部署时,经常遇到的一个问题是:java.lang.NoSuchMethodError。这个问题产生的根本原因是运行时应用加载的jar包版本不是应用代码真正需要的版本。要解决这个问题,就要让应用加载真正“HasSuchMethod”的类所在的jar包。解决这个问题,我把它归纳为以下几步:验证加载内容、查找包含该类的jar包、查找应用适用的jar版本、查看出错应用加载的jar包位置

    2022年8月16日
    10
  • 十大经典排序算法(C语言实现)[通俗易懂]

    十大经典排序算法(C语言实现)[通俗易懂]原文链接:https://www.cnblogs.com/onepixel/articles/7674659.html1、冒泡排序(BubbleSort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经…

    2022年5月9日
    50
  • VMware——VMware Tools的介绍及安装方法

    VMware——VMware Tools的介绍及安装方法VMware——VMwareTools的介绍及安装方法一、VMwareTools的作用二、VMwareTools的安装步骤参考文章一、VMwareTools的作用1.最大的好处是可以直接把windows界面的文件拖进linux虚拟机内。2.鼠标可以直接从虚拟机移动到windows等等好处。二、VMwareTools的安装步骤首先把linux虚拟机关机或退出,然后点击“编辑虚拟机设置”。点击CD/DVD,选择使用物理驱动器–自动检测。运行虚拟机虚拟机-安装vm

    2022年5月10日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号