首页 > 代码库 > Linux NTP配置

Linux NTP配置

对于服务器运维,我们要特别关注几个问题

1,对电商平台来说,首要的是时间问题,因此,我们首先要服务器时间的定期同步

NTP服务器的搭建

NTP network time protocol 时间网络协议)

目前使用的NTP几乎都是NTPv3 RFC1305文档描述

秒级精度SNTP(Simple network time protocol 简单网络时间协议)RFC2030描述

NTP属于应用层协议,使用UDP 123端口

NTP除了可以估算数据包在网络上的往返延迟时间外,还可独立地估算计算机的时间偏差,从而实现网络上高精度的计算机校时,NTP可提供1~50ms的可信赖时间源和网络工作路径。



技术分享


NTP工作原理

描述

T1 client端发送数据包的时刻,来自客户端的时钟

T2 服务器收到数据包的时刻,来自服务器的时钟

T3 服务器发送应答数据包的时刻,来自服务器的时钟

T4 client端收到数据包的时刻,来自client端的时钟

 

NTP中发送数据包,可采用单播,组播,或广播,同时还支持访问控制和MD5验证功能

 

NTP的两种报文

1,  时钟同步报文

该报文是NTP协议的核心内容

 

技术分享


可以从wireshark的人性化提示上看到这是client端发往server端的

Leap indicator 跳跃计时器,值为11时表示时钟未同步3bit

Mode长度3bit表示NTP的工作模式,

3 客户模式

4 服务器模式

5 广播或组播模式

6 此报文为NTP控制报文

 

1,  控制报文

该报文主要为用户提供一些有关网络管理的附加功能,对时钟同步来说不是必须的

 

Stratum 系统时钟的层数,取值范围“1~16”,它决定了时钟的准确度。层数为1的时钟准确度最高,依次递减,16,表示时钟未同步,不能作为参考时钟

 

安装

技术分享


重要文件

Ntp.conf 服务器的主配置文件


技术分享



技术分享

Keys 存放密钥的文件

Step-tickers 存放时钟源主机的地址

 

NTP服务端配置

ntp.conf配置文件详解

技术分享

我们来看下driftfile 是做什么用的

每一个system clock的频率都有小小的误差,造成了机器运行一段时间后时间不精准,NTP会自动来监测我们的时钟误差值并予以调整,driftfile就是记录机器运行过程中的误差,使得重启后也不会丢失计算结果。该时间偏移文件记录了本地时钟与权威时钟的频率偏移,根据同步结果,每小时更新一次


技术分享

从注解上可以得到,允许client端把该NTP服务器当作同步的时钟源,但不能改变和查询NTP服务器配置



技术分享

环回接口允许所有访问,这样做会影响一些管理功能,也就是说通过环回接口可做访问控制



技术分享

本地子网上的计算机做的一些限制,默认是不提供修改和远程登录功能


技术分享

 

该项首先指定了4台上层服务器

Iburst参数指定,当初始同步请求时,采用突发方式连接发送8个报文,间隔2s

Broadcast参数指定了工作模式为广播,定时发送广播报文,并在报文中使用加密

Broadcastclient则表示,使本地服务器成为其它以广播模式工作的NTP服务器的客户端

Broadcast 使用多播方式发送报文,并使用加密

Multicastclient 使本地服务器成为其它以多播模式工作的NTP服务器的客户端

Manycastserver 该选项是NTPV4中使用的功能,它试图使用多播客户端漫游到其它子网,并与该选项指定的服务器联系

 




技术分享

 

Keys 指定保护密钥的文件位置。该文件包含了采用对称加密算法的密钥,每个密钥对应一个编号

Trustedkey 指定可信任密钥

Requestkey 指定用于与ntpdc工具通信的密钥

Controlkey 指定用于与ntpq工具通信的密钥



NTP服务器测试

技术分享

 

 

以上显示内容表明,本地NTP服务器与上层服务器进行了同步

本地服务器层数3,本地时钟校正的偏差小于223ms,256s要查询一次上层服务器的时间

 

将时间写入到CMOS时钟,coms时钟由电池维持,即使计算机关机也能运转

技术分享


本文出自 “百折不回” 博客,请务必保留此出处http://changbo.blog.51cto.com/1316452/1605660

Linux NTP配置