cst时区和北京时间换算(服务及配置时间同步)

概述

linux服务器在提供服务时,要和其他机器进行请求的交互,实际生产环境中,可能因为时间不同步,导致了服务异常。

下面介绍下怎么部署NTP服务来解决这个问题。

ps:强烈吐槽下头条这个新排版功能,只要图片分辨率比较低然后点添加的时候直接白屏,也无法回退,这个很明显的bug居然没测出来,导致我重新写了三次…


一、NTP服务概述

1、原理

NTP(Network TimeProtocol,网络时间协议)是用来使计算机时间同步的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),切可介由加密确认的方式来防止恶意的协议攻击。

模式:C/S模式

2、使用的端口

默认NTP服务端口:UDP/123

3、ntp和ntpdate区别

1)两个服务都是centos自带的(centos7中不自带ntp)。ntp的安装包名是ntp;ntpdate的安装包是ntpdate。他们并非由一个安装包提供。

2)ntp守护进程为ntpd,配置文件是/etc/ntp.conf

3)ntpdate用于客户端的时间矫正,非NTP服务器可以不启动NTP。


二、安装部署

1、IP规划

cst时区和北京时间换算(服务及配置时间同步)

3.2、服务端修改配置

# vim /etc/ntp.conf====================================================================================#设置默认策略为拒绝所有访问方式的请求restrict default ignore#允许哪些机器同步restrict 127.0.0.1restrict -6 ::1#允许局域网内机器同步时间,nomodify拒绝让他们修改服务器上的时间restrict 172.xx.xx.xx mask 255.255.255.0 nomodify notrap #将该服务器的本地时间作为ntp server的时间,如果其他客户端同步,将同步这台服务器的时间server 127.127.1.0#stratum这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0fudge 127.127.1.0 stratum 2#每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.#但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了driftfile /var/lib/ntp/drift# Enable public key cryptography.includefile /etc/ntp/crypto/pwkeys /etc/ntp/keys# Disable the monitoring facility to prevent amplification attacks using ntpdcdisable monitor====================================================================================

说明:

关于restrict格式如下:

其中parameter如下:

  1. ignore:忽略所有类型的ntp连接
  2. nomodify:不允许客户端修改服务器的时间参数,但是允许客户端透过这部主机进行时间校验。
  3. noquery: 不允许客户端进行时间校验。
  4. notrap:不提供trap时间登录
  5. notrust:拒绝没有认证的客户端

cst时区和北京时间换算(服务及配置时间同步)

这里st为 配置文件设置的stratum,范围是0–15,如果为16就是错误的

说明:

  • remote: 它指的就是本地机器所连接的远程NTP服务器
  • refid: 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器
  • st: 远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
  • when: 一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步
  • poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小
  • reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
  • delay: 从本地机发送同步要求到服务器的round trip time
  • offset: 这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近
  • jitter: 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确

三、配置时间同步

客户端需要停用ntp服务,否则无法运行ntpdata 服务器地址这个命令 来同步时间,同步的时候会提示ntp被使用中。

1、停用ntp服务

systemctl stop ntpd

2、手动同步ntp服务器时间

ntpdate 172.xx.xx.xx

3、定期同步

#每天8点执行同步命令* 8 * * * /usr/sbin/ntpdate 172.xx.xx.xx;/sbin/hwclock -w 
(0)
科技头条的头像科技头条

相关推荐

发表回复

登录后才能评论