ntp时间服务器 时间同步

2017年10月15日 11:05:30 centos2015 阅读数:1996 标签: ntpdtimentpdate 更多

个人分类: Linux

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zonghua521/article/details/78239212

具体两种模式

1.服务器数量比较少,可以直接与时间服务器同步

2.本地服务器较多,在本地自建时间同步服务器,

时间同步的两个命令

ntpd :         校准时间,一点点的校准过来时间的,最终把时间慢慢的校正对。
                      ntpd服务可以在修正时间的同时,修正cpu tick
                      ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行

ntpdate : 不会考虑其他程序是否会阵痛,直接调整时间,有可能会对程序造成影响

ntpdate [-nv] [ IP/hostname]
# ntpdate -u 192.168.0.2
# ntpdate -u time.ntp.org
# ntpdate -u ntp.sjtu.edu.cn >>/var/log/ntp.log 2>&1;hwclock -w

注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:指定使用无特权的端口发送数据包,可以越过防火墙与主机同步;

理想的做法是:
使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
在计算机刚刚启动,但还没有启动很多服务的那个时候可以使用ntpdate同步时间

 一、直接用命令与时间服务器进行同步

 实例:

使用ntpdate 进行同步:

ntpdate -u x.x.x.x

这里的x.x.x.x可以是公网时间服务器IP地址,也可以是下面二中我们自建的ntp服务器地址。

可以加一个定时计划,定时同步

1. crontab -e

2. */5 * * * * /usr/sbin/ntpdate -u x.x.x.x
3. /etc/init.d/crond restart

2.这里提供几个公网时间服务器地址

阿里云时间服务器,授时信号来自GPS、北斗两套卫星信号,并配备原子钟守时,
以下7个域名提供服务,大家可以直接使用。

http://time1.aliyun.com
http://time2.aliyun.com
http://time3.aliyun.com
http://time4.aliyun.com
http://time5.aliyun.com
http://time6.aliyun.com
http://time7.aliyun.com

或者直接访问这个地址  time.pool.aliyun.com

# ntpdate -u time.pool.aliyun.com
13 Nov 10:48:28 ntpdate[26527]: adjust time server 182.92.12.11 offset 0.000458 sec

centos也有几个时间服务器(最好还是用国内的吧)
0.centos.pool.ntp.org
1.centos.pool.ntp.org
2.centos.pool.ntp.org

二、 自建ntpd 时间同步服务器

NTP通信协议原理

  1. 首先主机启动NTP。
  2. 客户端会向NTP服务器发送调整时间的message。
  3. 然后NTP server会送出当前的标准时间给client
  4. client接受来自server的时间后,会根据这个信息来调整自己的时间。这样就实现了网络对时。

NTP这个deamon采用了UDP 123端口。

远程服务器的层级(stratum):
由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 
所以服务器从高到低级别可以设定为1-16. 
为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的

1.配置ntp服务器
安装  
# yum install ntp

开机自启动
# chkconfig ntpd on

修改配置文件:

[root@test01 ~]# less /etc/ntp.conf 
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift            系统时间与BIOS事件的偏差记录

配置与本机同步的机器权限

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery     
默认拒绝任何操作  
任何ip4地址、ip6地址  不能修改、不能trap远程登录、不能尝试对等、不能校对时间

restrict 控制相关权限。

语法为:  restrict [ 客户端IP ]  mask  [ IP掩码 ]  [参数]

其中IP地址也可以是default ,default 就是指所有的IP

参数有以下几个:

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

notrust :拒絕沒有認證的用戶端

noquery :客户端不能使用ntpq,ntpc来查询ntp服务器,等于不提供校对时间服务

notrap :不提供trap远程登录功能,trap服务是一种远程时间日志服务

拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。

nopeer :用于阻止主机尝试与服务器对等

kod : 访问违规时发送 KoD 包,向不安全的访问者发送Kiss-Of-Death报文。

restrict -6 表示IPV6地址的权限设置。

如何控制客户的范围

# Permit all access over the loopback interface.  This could   下面的配置 允许运行任何权限的访问在本地接口,
# be tightened as well, but to do so would effect some of     这里最好收紧权限,但是会影响一些管理功能
# the administrative functions.
restrict 127.0.0.1 
restrict ::1

# Hosts on local network are less restricted.                     配置   给本地局域网络配置小一些的权限
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

本机与公共时间服务器同步选项

设定NTP主机来源(其中prefer表示优先主机)

# Use public servers from the pool.ntp.org project.   使用公共服务器从 时间池工程中
# Please consider joining the pool (http://www.pool.ntp.org/join.html).  请考虑加入这个 时间池 项目
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

server host  [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]

其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:

◆ key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。

◆ version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。

◆ prefer: 优先使用。

◆ mode: 指定数据报文mode字段的值。

◆ minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。

◆ maxpoll:  指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。

◆ iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。

#broadcast 192.168.1.255 autokey        # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 autokey            # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

当外部时间不可用时,以本地(本机)时间作为服务时间
本地时间以 127.127.1.0 表示  级别为10
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
#server 127.127.1.0     # local clock
#fudge  127.127.1.0 stratum 10

下面是一些加密认证的配置
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

一个简单实例如下:

restrict default kod nomodify notrap nopeer noquery

拒绝所有ip4 的请求

# restrict -6 default kod nomodify notrap nopeer noquery  #针对ipv6设置

# 允许本地所有操作

restrict 127.0.0.1

#restrict -6 ::1

# 允许的局域网络段或单独ip 某些权限

restrict 10.0.0.0 mask 255.0.0.0 nomodify motrap

restrict 192.168.0.0 mask 255.255.255.0 nomodify motrap

restrict 192.168.1.123 mask 255.255.255.255 nomodify motrap

# 使用上层的internet ntp服务器

restrict cn.pool.ntp.org

restrict 1.cn.poo.ntp.org

restrict 0.asia.pool.ntp.org

restrict 3.asia.pool.ntp.org

server cn.pool.ntp.org prefer

server 1.cn.poo.ntp.org

server 0.asia.pool.ntp.org

server 3.asia.pool.ntp.org

# 如果无法与上层ntp server通信以本地时间为标准时间

server   127.127.1.0    # local clock

fudge    127.127.1.0 stratum 10

# 计算本ntp server 与上层ntpserver的频率误差

driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating

# with symmetric key cryptography.

keys /etc/ntp/keys

#日志文件

logfile /var/log/ntp.log

配置/etc/sysconfig/ntpd文件

ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

#允许BIOS与系统时间同步,也可以通过hwclock -w 命令

SYNC_HWCLOCK=yes

启动ntpd 服务
# service ntpd start

# 查看ntp的端口,应该看到123端口

#netstat -unlnp

# 查看ntp服务器有无和上层连通

#ntpstat

synchronised to NTP server () at stratum 2

time correct to within 74 ms

polling server every 128 s

# 注意:此命令出现上述synchronised结果比较慢,我的用了大概5分钟。

刚启动的时候,一般是:

# ntpstat

unsynchronised

time server re-starting

polling server every 64 s

连接并同步后:

synchronised to NTP server (202.112.10.36) at stratum 3

time correct to within 275 ms

polling server every 256 s

ntptrace -n 127.0.0.1

127.0.0.1: stratum 3, offset -0.001095, synch distance 0.532610

116.193.83.174: timed out, nothing received

查看ntp服务器与上层ntp服务器的状态:ntpq

#ntpq -p

# 其中:

# remote - 本机和上层ntp的ip或主机名,“+”有连线可做候选,“*”正在使用的

# refid - 更上一层的ntp地址

# st - stratum的 级别

# when   - 多少秒前曾经同步过时间

# poll   - 下次更新在多少秒后

# reach  - 已经向上层ntp服务器要求更新的次数

# delay  - 网络延迟

# offset - 时间补偿

# jitter - 系统时间与bios时间差

# ntpq -p
     remote           refid                  st t when poll reach   delay   offset  jitter
==============================================================================
*time4.aliyun.co 10.137.38.86     2 u  111  128  377   27.480   -5.995   1.852

2.配置NTP客户端:
在所有客户端上vim /etc/ntp.conf,添加:
server x.x.x.x

x.x.x.x 为上面配置的ntp服务器地址

注意:当server与client之间的时间误差过大时(可能是1000秒),处于对修改时间可能对系统和应用带来不可预知的问题,NTP将停止时间同步!
所以如果发现NTP启动之后时间并不进行同步时,应该考虑到可能是时间差过大引起的,
此时需要先手动进行时间同步 ntpdate !

ntp时间服务器 时间同步相关推荐

  1. ntp时间服务器——时间同步

    具体两种模式: 1.服务器数量比较少,可以直接与时间服务器同步 2.本地服务器较多,在本地自建时间同步服务器 时间同步的两个命令: ntpd : 校准时间,一点点的校准过来时间的,最终把时间慢慢的校正 ...

  2. 企业内部在centos7.2系统中必杀技NTP时间服务器及内网服务器时间同步(windows和linux客户端同步)...

    网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Unive ...

  3. CentOS系统中如何搭建NTP时间服务器(时间同步)

    CentOS系统中如何搭建NTP时间服务器(时间同步) CentOS系统中如何搭建NTP时间服务器(时间同步) 本文由:安徽京准公司提供,转载需通过授权@ 网络时间协议(NTP)用来同步网络上不同主机 ...

  4. NTP时间服务器/NTP时间同步服务器/NTP网络时间服务器/同步录音录像

    NTP时间服务器/NTP时间同步服务器/NTP网络时间服务器/同步录音录像 NTP时间同步服务器通过接收北斗卫星.GPS.SDH.PTP.B码等外部时间基准信号,NTP时间服务器通过智能时间源控制算法 ...

  5. 国内可用的Internet时间同步服务器地址(NTP时间服务器)

    阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址 ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ...

  6. 国内可用的Internet时间同步服务器地址(NTP时间服务器) 好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址(转)...

    国内可用的Internet时间同步服务器地址(NTP时间服务器) 好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址 ntp1.aliyun.com ntp2.aliyun. ...

  7. 国内ntp时间服务器ip地址

    NTP(Network Time Protocol)是由美国德拉瓦大学的David L. Mills教授于1985年提出,除了可以估算封包在网络上的往返延迟外,还可独立地估算计算机时钟偏差,从而实现在 ...

  8. ntp服务器源码c语言,搭建自己的NTP时间服务器

    网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Unive ...

  9. linux 国内 NTP时间服务器地址

    阿里云提供了7个NTP时间服务器: ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ntp5.aliyun.com nt ...

最新文章

  1. Mac 从Makefile 编译 Rocksdb 源码的一些注意事项
  2. php 腾讯云实时音视频,腾讯云视频 -实时音视频学习日志
  3. AltiumDesigner PCB导入CAD
  4. 裁剪Linux小系统
  5. ieee期刊_IEEE期刊的双栏排版中的图片位置问题
  6. NOI导刊模拟2—电话网络 解题报告
  7. JMetro版本5发布
  8. Effective C++学习第九天
  9. 纯净微擎框架 V 2.5.7 稳定运营版 免验证/去授权/防拉黑/支持本地模块安装源码
  10. 抖音回应李小璐PGone视频曝光:草稿视频不会上传到后台
  11. duilib显示html,Duilib 控件类html富文本绘制
  12. 「springcloud 2021 系列」nacos配置管理 这样用就对了
  13. 双线路接入(双网卡)
  14. 计算机出现假桌面怎么解决办法,Win10系统因为“AppHangXProcB1”造成桌面不停假死怎么处理...
  15. html 网页地图集制作ECHARTS,pyecharts绘制地图(示例代码)
  16. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)
  17. 我是如何锻炼写作的?我的知乎“撕逼”式写作。
  18. DeFi 入门必备:你需要了解的 DeFi 重要词语
  19. 徐宗本院士:智能制造的大数据机遇与挑战
  20. Reading Notes:如何读史

热门文章

  1. 超级计算机的进化过程,科学家借软件模拟最详细的宇宙进化过程
  2. FTP服务器配置实例(匿名用户、本地用户、虚拟用户)
  3. 用Pytorch构建一个喵咪识别模型
  4. ESP32入门学习笔记
  5. 如何建立有效的客户画像
  6. Android GridView横向滚动,分页加载数据
  7. python程序设计实践教程张莉_Python程序设计
  8. SQL SERVER实验指导-课后作业
  9. 数学建模之相关性分析2
  10. CMD中的一些Python操作:新建文件等