NTP是一个时间服务器,同时它也是一个时间客户端。

我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性。

常用的公共NTP时间服务器有:

cn.ntp.org.cn 中国

ntp.aliyun.com 阿里巴巴

time.windows.com 微软

time.apple.com 苹果

time.asia.apple.com 苹果

time.euro.apple.com 苹果

time.google.com 谷歌

ntp.tuna.tsinghua.edu.cn 清华大学

time.ustc.edu.cn 中国科学技术大学

注意事项:NTP服务并不是任何情况下都会进行时间同步的,当时间服务器与本地时间大于1000s时,NTP服务会认为是人为调整了时间或硬件故障,NTP服务会退出,并需要手动使用命令"ntpdate [时间服务器]"进行时间同步。

运行环境

系统版本:CentOS Linux release 7.3.1611 (Core)

软件版本:Docker 17.12.1-ce

硬件要求:无

搭建NTP时间服务器-使用NTP同步时间-构建主机间时间自动同步关系

1、安装YUM-EPEL存储库

YUM-EPEL存储库由EPEL官网提供。

[root@localhost ~]# yum -y install epel-release.noarch

2、安装NTP

[root@localhost ~]# yum -y install ntp ntpdate

3、手动同步主机时间

当主机时间交给NTP服务托管以后,则无法使用"ntpdate"手动调整主机时间了。

[root@localhost ~]# ntpdate cn.ntp.org.cn
17 May 08:01:46 ntpdate[28923]: step time server cn.ntp.org.cn offset -44073.198677 sec

4、配置NTP

[root@localhost ~]# vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
pidfile /var/run/ntpd.pid
logfile /var/log/ntp.log ### Access Control Support(访问控制)
# 访问控制
# 允许外部客户端从本机同步时间,但不允许外部客户端修改本机时间
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap nopeer noquery
restrict 100.64.0.0 mask 255.192.0.0 nomodify notrap nopeer noquery
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap nopeer noquery
restrict 192.168.0.0 mask 255.255.0.0
# restrict指令:限制指定IP范围对当前时间服务器的相关权限
# 语法:restrict [-6] [客户端范围] [参数]
# -6: 设置IP协议为IPV6
# 客户端范围:
# default 表示所有地址
# <ip> mask <掩码> 表示指定掩码范围的IP地址
# 参数:
# 无参数 没有添加任何参数,表示允许所有的访问操作
# nomodify 不允许客户端修改服务端时间参数,但是客户端允许通过服务端进行网络校时
# ignore 禁止客户端连接
# notrust 客户端除非通过认证,否则该客户端来源将被视为不信任子网
# notrap 禁止陷阱服务远程连接,陷阱服务用于远程事件日志记录程序
# nopeer 禁止对等体(相同的身份),禁止指定地址范围内的主机变成时间服务器欺骗客户端校准时间
# noquery 禁止查询时间服务器,远端客户端不能使用ntpq等命令查询当前NTP服务器
# kod 访问违规时发送kod消息 # 从外部服务器主动同步时间
# 如果外部服务器连接失败时则以本机时间为准
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
# Fudge指令:设置指定来源时间服务器的阶层,stratum 10表示第10层,可以理解为优先级,设置范围0~15,
# 通常将本机127.127.1.0设置为10,以表示较后的阶层,当其他来源时间服务器不可用时,则以本地时间为准。
# 如果该指令报错,请将Fudge设置为fudge即可! server cn.ntp.org.cn prefer iburst minpoll 4 maxpoll 10
server ntp.aliyun.com iburst minpoll 4 maxpoll 10
server ntp.tuna.tsinghua.edu.cn iburst minpoll 4 maxpoll 10
server time.ustc.edu.cn iburst minpoll 4 maxpoll 10
# server指令:指定时间来源服务器,则当前主机从指定的时间服务器校准时间。
# 多个server,以最先配置的最优先。
# NTP采用一种复杂的算法来自动控制同步间隔,以减少网络开销,默认情况下NTP同步时间的最小间隔为64秒,最
# 大为1024秒。可以使用"minpoll、maxpoll"参数控制同步时间的最大和最小间隔时间。
# 语法:server [服务器地址] [参数]
# 参数:
# prefer 设置最优先,添加该参数表示服务主要从该Server中同步时间,该参数有时候影响不大
# iburst 当时间来源服务器不可用时,发送探测消息
# burst 当时间来源服务器可用时,发送探测消息
# minpoll 4 设置从时间来源服务器同步时间的最小间隔时间单位为秒,值=2的多少次方。
# 这里值=4则表2的4次方=16秒的意思
# maxpoll 10 设置从时间来源服务器同步时间的最大间隔时间单位为秒,值=2的多少次方。
# 这里值=10则表示2的10次方=1024秒的意思

5、启动NTP服务

[root@localhost ~]# systemctl restart ntpd
[root@localhost ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-05-16 23:05:59 EDT; 6s ago

6、查看NTP服务同步状态

同步有延迟,需要稍等几分钟在查看。

[root@localhost ~]# ntpstat
synchronised to NTP server (100.100.61.88) at stratum 3
time correct to within 25 ms
polling server every 64 s

7、查看当前NTP服务器与上层服务器的状态

[root@localhost ~]# ntpq -4p 127.0.0.1
remote refid st t when poll reach delay offset jitter
==============================================================================
*172.28.235.7 100.100.61.88 2 u 58 128 377 0.304 -0.191 0.116
# 字段说明:
# remote 远端主机地址,*表示最优先,+表示优先,-表示较为优先,没有标识则表示普通
# refid 上层主机的地址
# st 阶层,可以理解为优先级
# when 多少秒前同步过时间
# poll 下次更新在多少秒之后
# reach 向上层同步时间的次数
# delay 网络延迟
# offset 时间补偿
# jitter 系统时间与BIOS时间差

搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系的更多相关文章

  1. 时间服务器: NTP 服务器及客户端搭建

    时间服务器: NTP 服务器及客户端搭建 一. NTP 服务器的安装与设定 1. NTP 服务器的安装与设定前言 2. 所需软件与软件结构 3. 主要配置文件 ntp.conf 的处理 4. NTP ...

  2. 时间服务器:NTP 服务器

    15.1 关于时区与网络校时的通讯协议   使得每一部主机的时间同步化.   DHCP 客户端/服务器端所需要的租约时间限制. 网络侦测时所需要注意的时间点.刚刚谈到的登录文件分析功能.具有相关性的主 ...

  3. SYN2136型 北斗NTP网络时间服务器

    SYN2136型  北斗NTP网络时间服务器 北斗NTP网络时间服务器时间服务器使用说明视频链接: http://www.syn029.com/h-pd-109-0_310_36_-1.html 请将 ...

  4. centos7.5配置ntp时间服务器

    Centos7配置ntp时间服务器 Centos7配置时间服务器,一个服务端,多个客户端,客户端去同步服务端 服务端: 1.先修改时区,否则即使配置完ntp时间也不对,修改时区参照:https://w ...

  5. linux运维、架构之路-内网NTP时间服务器

    一.环境 [root@m01 tmp]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 tmp]# hostname -I ...

  6. linux服务器时间自动同步

    最常用的是 rdate 服务 安装(centOs为例): yum install -y rdate 用法: rdate -s time-b.nist.gov 执行完以上方法时间就同步了.有的服务器隔一 ...

  7. linux设置时间服务器

    对多个linux服务器,时间保持一致是很必要的.根据精确度要求,应该有相应的时间间隔进行时间同步.如果不进行时间同步,时间久了就会差别很大,遇到问题时定位就很困难.因为多台设备的配合,log之间可能有 ...

  8. 大数据项目之_15_帮助文档_NTP 配置时间服务器+Linux 集群服务群起脚本+CentOS6.8 升级到 python 到 2.7

    一.NTP 配置时间服务器1.1.检查当前系统时区1.2.同步时间1.3.检查软件包1.4.修改 ntp 配置文件1.5.重启 ntp 服务1.6.设置定时同步任务二.Linux 集群服务群起脚本2. ...

  9. 机房用ROS创建时间服务器

    发现机房里的服务器时间老是不同步,虽然都设置为time-a.nist.gov和time-b.nist.gov,仍然有失败的概率.可能是因为国外服务器的缘故.所以打算在机房里创建一个时间服务器.正好RO ...

随机推荐

  1. 使用Javascript获取剪贴板图片的DataURL

    最近写博客需要插入一些截图,想着用DataURL会方便点,于是需要一个把图片转成DataURL的工具.搜索一番后发现这个功能用HTML就能实现,通过paste事件. 先尝试在Chrome上实现,Chr ...

  2. ES6-11学习笔记--async,await

    基于Generator异步编程语法糖:async await async默认输出Promise对象 将异步的代码以同步的方式书写,提高代码可阅读性   基本使用: function timeout() ...

  3. 一个动态波浪纹Android界面

    IndexActivity.java package com.example.rubikrobot; import androidx.appcompat.app.AppCompatActivity; ...

  4. [ Perl ] 对文本文件进行行列翻转

    https://www.cnblogs.com/yeungchie/ code #!/usr/bin/env perl #----------------------------- # Program ...

  5. npm 报错This is probably not a problem with npm. There is likely additional logging output above.

    报错This is probably not a problem with npm. There is likely additional logging output above. 安装了一个插件后 ...

  6. Codeforces Round #306 (Div. 2), problem: (B) Preparing Olympiad【dfs或01枚举】

    题意: 给出n个数字,要求在这n个数中选出至少两个数字,使得它们的和在l,r之间,并且最大的与最小的差值要不小于x.n<=15 Problem - 550B - Codeforces 二进制 利 ...

  7. MySql创建分区

    一.Mysql分区类型 1.RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区. 2.HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列 ...

  8. go的调度

    操作系统根据资源访问权限的不同,体系架构可以分为用户空间和内核空间:内核空间主要操作访问CPU资源,IO资源,内存资源等硬件资源,为应用程序提供最基本的基础资源:用户空间是上层应用程序的固定活动空间, ...

  9. AngularJS ui-router 用resolve、service预先加载数据写法,属于优化性能方面吧

    AngularJS的service怎么声明此处就不再赘述,下面的例子是ui-router中使用service的实现代码 $stateProvider.state('myState', { url: & ...

  10. Angular中directive——scope选项与绑定策略,这个也经常迷惑的。

    开门见山地说,scope:{}使指令与外界隔离开来,使其模板(template)处于non-inheriting(无继承)的状态,当然除非你在其中使用了transclude嵌入,这点之后的笔记会再详细 ...