网络时间服务的简介及搭建

网络时间服务NTP/CHRONY


  当多台主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议、日志、集群等,利用NTP(Network Time Protocol)协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一

实现时间同步的工具

  1) ntp
  2) chrony

ntp

  将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1ms,在互联网上绝大多数的地方精度可以达到1-50ms

chrony

  实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度

chrony的优势

  1. 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用
  2. 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用
  3. 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响
  4. 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性
  5. 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟

关于chrony的介绍

安装包名:chrony

两个主要的程序:chronyd、chronyc

  chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿

  chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作

服务unit文件

  /usr/lib/systemd/system/chronyd.service

监听端口

  323/udp,123/udp

配置文件

  /etc/chrony.conf

配置文件中参数的介绍

  server - 可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度

  driftfile - 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿

  rtcsync - 启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)

  allow / deny - 指定一台主机、子网,或者网络以允许或拒绝访问本服务器

  cmdallow / cmddeny - 可以指定哪台主机可以通过chronyd使用控制命令

  bindcmdaddress - 允许chronyd监听哪个接口来接收由chronyc执行的命令

  makestep - 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟

  local stratum 10 - 即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端

chronyc命令

  help命令可以查看更多chronyc的交互命令
  accheck 检查是否对特定主机可访问当前服务器
  activity 显示有多少NTP源在线/离线
  sources [-v] 显示当前时间源的同步信息
  sourcestats [-v]显示当前时间源的同步统计信息
  add server 手动添加一台新的NTP服务器
   clients 报告已访问本服务器的客户端列表
  delete 手动移除NTP服务器或对等服务器
  settime 手动设置守护进程时间
  sracking 显示系统时间信息

公共NTP服务

pool.ntp.org:项目是一个提供可靠易用的NTP服务的虚拟集群

  cn.pool.ntp.org,0-3.cn.pool.ntp.org

阿里云公共NTP服务器

  Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com
  windows类: time.pool.aliyun.com

大学ntp服务

  s1a.time.edu.cn 北京邮电大学
  s1b.time.edu.cn 清华大学
  s1c.time.edu.cn 北京大学

国家授时中心服务器

  210.72.145.44

时间工具

timedatectl

  查看日期时间、时区及NTP状态:timedatectl
  查看时区列表:timedatectl list-timezones
  修改时区:timedatectl set-timezone Asia/Shanghai
  修改日期时间:timedatectl set-time "2017-01-23 10:30:00"
  开启NTP: timedatectl set-ntp true/flase

system-config-date:图形化配置chrony服务的工具

实验:网络时间同步

  本次实验通过系统时间、硬件时间的设定和修改;
  通过ntp、chrony两个服务实现时间同步。
centos6 192.168.36.100 两个网卡:1、外网卡DHCP获取IP,通过配置NTP实现外网时钟同步。2、内网卡充当内网时钟同步服务器
centos7 192.168.36.101 内网客户端

两台主机查看并修改系统时间

[[email protected] ~]# date
Thu Apr 18 15:54:17 CST 2019
[[email protected] ~]# date -s "-1 years"
Wed Apr 18 15:54:27 CST 2018

ntp配置文件修改

[[email protected] ~]# vim /etc/ntp.conf
...
8 restrict default kod nomodify #允许客户端进行网络校时
9 restrict -6 default kod nomodify notrap nopeer noquery
...
22 server 172.22.0.1 iburst #设定NTP主机来源,其中iburst也可以设置成prefer,表示优先此主机
23 #server 0.centos.pool.ntp.org iburst
24 #server 1.centos.pool.ntp.org iburst
25 #server 2.centos.pool.ntp.org iburst
26 #server 3.centos.pool.ntp.org iburst
...

各选项信息

restrict 控制相关权限

语法为: restrict IP地址 mask 子网掩码 参数

其中IP地址也可以是default ,default 就是指所有的IP
参数有以下几个

    ignore  :关闭所有的 NTP 联机服务
    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时
    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
    noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
    notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序
    nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
    kod : 访问违规时发送 KoD 包
    restrict -6 表示IPV6地址的权限设置  

启动服务实现时间同步

服务器同步网络时间

[[email protected] ~]# ntpdate 172.22.0.1
18 Apr 10:38:25 ntpdate[10305]: adjust time server 172.22.0.1 offset 0.002210 sec

重启服务

[[email protected] ~]# service ntpd start
Starting ntpd:                                             [  OK  ]

监听udp的123端口

[[email protected] ~]# ss -lun
State       Recv-Q Send-Q              Local Address:Port                Peer Address:Port
UNCONN      0      0                       127.0.0.1:981                            *:*
UNCONN      0      0                               *:111                            *:*
UNCONN      0      0                               *:631                            *:*
UNCONN      0      0                               *:43130                          *:*
UNCONN      0      0                   172.22.58.250:123                            *:*
UNCONN      0      0                  192.168.36.100:123                            *:*
UNCONN      0      0                       127.0.0.1:123                            *:*
UNCONN      0      0                               *:123                            *:*
UNCONN      0      0                               *:923                            *:*
UNCONN      0      0                              :::56515                         :::*
UNCONN      0      0                              :::111                           :::*
UNCONN      0      0                             ::1:123                           :::*
UNCONN      0      0        fe80::20c:29ff:fe5a:43c1:123                           :::*
UNCONN      0      0        fe80::20c:29ff:fe5a:43b7:123                           :::*
UNCONN      0      0                              :::123                           :::*
UNCONN      0      0                              :::923                           :::*

查看ntp服务器

[[email protected] ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*172.22.0.1      144.76.76.107    3 u   19   64    1    0.801   -1.318   0.334

检查时间是否同步

[[email protected] ~]# date
Thu Apr 18 15:56:48 CST 2019

由于centos6开启了ntpd服务,所以可以充当时间服务器被客户端使用

修改时间并通过ntpdate进行时间同步

[[email protected] ~]#date -s "-1 years"
Wed Apr 18 16:37:40 CST 2018
[[email protected] ~]#ntpdate 192.168.36.100
18 Apr 16:38:00 ntpdate[14923]: step time server 192.168.36.100 offset 31536000.000052 sec

在centos7上chrony软件实现时间永久同步

  chrony同ntp,也可以配置成客户端和服务器端两种

说明

/usr/bin/chronyc是客户端程序
/usr/sbin/chronyd是服务器端查询
/usr/lib/systemd/system/chronyd.service是服务控制?件  

修改配置文件

[[email protected] ~]#vim /etc/chrony.conf
3 server 192.168.36.100 iburst
4 #server 0.centos.pool.ntp.org iburst
5 #server 1.centos.pool.ntp.org iburst
6 #server 2.centos.pool.ntp.org iburst
7 #server 3.centos.pool.ntp.org iburst

启动服务并设置开机启动

[[email protected] ~]#systemctl start chronyd.service
[[email protected] ~]#systemctl start chronyd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/chronyd.service to /usr/lib/sservice.

监听udp的323端口

[[email protected] ~]#ss -lun | grep 323
UNCONN     0      0      127.0.0.1:323                      *:*
UNCONN     0      0          ::1:323                     :::*

查看时间源的同步信息

[[email protected] ~]#chronyc sources -v
210 Number of sources = 1

  .-- Source mode  ‘^‘ = server, ‘=‘ = peer, ‘#‘ = local clock.
 / .- Source state ‘*‘ = current synced, ‘+‘ = combined , ‘-‘ = not combined,
| /   ‘?‘ = unreachable, ‘x‘ = time may be in error, ‘~‘ = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.36.100                4   6   377     2    +14us[  +33us] +/-  237ms

查看时间是否同步

[[email protected] ~]#date
Thu Apr 18 17:01:16 CST 2019

原文地址:https://blog.51cto.com/12980155/2380939

时间: 2024-11-02 02:17:20

网络时间服务的简介及搭建的相关文章

ntp网络时间服务搭建

1.1 NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议. 1.2 NTP用途 有些时候,局域网里面的设备需要进行时间的同步,当时又不能连接到互联网上.这时候,就需要在一台服务器上搭建NTP服务了,然后其他的电脑只需要和该服务器进行时间同步即可.本次服务搭建的环境是在CentOS6.5,其他的Linux环境的搭建应该也差不多. 1.3 NTP的安装 用rpm命令检查下是不是还没有安装到ntp,我这里是已经安装过的了,如果还

linux下网络文件系统NFS服务的搭建

上节我们了解rsync工具的使用,在这里说下,当我们学习一个工具的时候,首先要想到的是这个工具是干嘛的,然后带着这个问题去完成这个实验,这样我们才能是事半功倍.我们前面说rsync是一个数据备份工具,他支持全网定时备份,增量和全量备份.工作中主要是以定时任务+rsync做定时备份,inotify+rsync做增量备份. 下面开始我们今天的内容NFS(网络文件系统).文件系统我们现在应该不陌生了吧!就是管理文件的系统.前面我们讲解磁盘管理的时候说道我们的操作系统也是通过文件系统来管理文件的,只不过

Dubbo简介-环境搭建

一.简介: 1. 什么是RPC: RPC[Remote Procedure Call]是指远程调用过程,是一种进程间通信方式,它是一种技术的思想,而不是规范.它允许程序调用另一个地址空间(通常在共享网络的另一台服务器上)的过程或函数,而不是程序员显示编码这个远程调用的细节.即程序员无论是调用本地还是远程的函数,本质上编写的调用代码基本相同. RPC有两个核心:通讯.序列化. RPC框架有很多:dubbo.gRPC.Thrift.HSF(High Seep Service Framework) 2

Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建

文章钢要: 1.了解Mosquitto服务器 2.在Liunx中搭建Mosquitto服务器 3.设置Mosquitto集群 一.Mosquitto简介 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机.嵌入式计算机.微型控制器等移动设备.一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远

Ubuntu系统安装、网络配置、lamp环境搭建

Ubuntu安装lamp环境 一.安装ubuntu 安装ubuntu默认安装, 磁盘分区分配:在 Ubuntu 新安装中使用 LVM 二.静态配置网卡 sudo vim /etc/network/interfaces 文件内容: 1 auto lo  2 iface lo inet loopback 3 auto eth0 ##这个应该是决定是否启用这个端口  4 iface eth0 inet static ##静态设置IP  5 hwaddress ether 52:54:xx:51:xx:

Linux网络服务--LAMP+Nginx+Squid搭建web集群

一.         项目名称         LAMP+Nginx+Squid搭建web集群环境 二.         项目拓扑 三.         项目描述 3.1 项目环境 某部队为了满足信息化政治工作建设需要,用以丰富官兵日常生活内容,活化教育形式,更好的建设部队人文环境,准备架设部队内部的网站服务器,并申请使用军内公网IP:1.1.1.1 基于以上情况为该部提出以下解决方案.   3.2 实施方案 3.2.1  服务器操作系统与软件版本选择 操作系统选择RedHat企业版5.10:

SpringBoot框架简介及搭建

Spring Boot 简介 1. 什么是SpringBoot 1.1 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 2. SpringBoot的优点 2.1 去除了大量的xml配置文件 2.2 简化复杂

网络支付区块链开发,搭建区块链支付平台

随着区块链支付的发展,区块链分布式账本技术将区块链上数字资.产流动与现实的现.金支付相连接.在全球互联网市场上能够发挥出传统金融机构无法替代的高效率.低成本的价值传递的作用.每个人的密码钱.包就可以发展成一个"自.金.融"平台,可以用于P.2.P 的支.付.存.款.转.账.换.汇.借.贷以及全.网.记.账.清.算.支付是金.融交易中必不可少的一个环节.在信息技术和金融业务不断融合的大趋势下,网络支付体系和网络支付的方法发生了深刻的变化,网络支付的理论和实践正在向泛中心化的网络支付聚焦,

nginx的简介和搭建基于域名的虚拟主机

今天就来和大家讲一讲nginx和基于域名搭建虚拟主机 简介 Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 俄罗斯程序员Igor Sysoev于2002年开始Nginx是增长最快的Web服务器,市场份额已达33.3%全球使用量排名第二2011年成立商业公司 Nginx源码结构: 代码量大约11万行C代码源代码目录结构core (主干和基础设置)event (事件驱动模型和不同的IO复用模块)http (HTTP服务器和模块