具体两种模式
1.服务器数量比较少,可以直接与时间服务器同步
2.本地服务器较多,在本地自建时间同步服务器,
 
 
时间同步的两个命令
ntpd :         校准时间,一点点的校准过来时间的,最终把时间慢慢的校正对。
                      ntpd服务可以在修正时间的同时,修正cpu tick
                      ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行


ntpdate : 不会考虑其他程序是否会阵痛,直接调整时间,有可能会对程序造成影响
 
ntpdate [-nv] [ IP/hostname]
# ntpdate -u 192.168.0.2
# ntpdate -u 10.11.0.35
# 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. 国内可用的Internet时间同步服务器地址(NTP时间服务器)

    不知道什么鬼我这系统自带的Internet时间同步服务器地址居然不可用,终端ping系统自带服务器两个居然都不通???难道时间服务器也和谐么? 好在阿里云提供了7个NTP时间服务器也就是Interne ...

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

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

  3. 搭建内网的NTP时间服务器

    NTP时间服务器 标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.简介 NTP(Network Time Protocol,网络时间协议) ...

  4. 国内常用的几个NTP时间服务器

    问题描述: 经常Windows或者Linux系统上面的时间跟我们本地的时间不一致 有时候就是Windows的Internet时间设置里面的Windows自带的时间同步服务器不好使 Linux配置NTP ...

  5. Linux NTP时间服务器

    NTP 时间服务器 ntp也是一种协议 ntp软件(支持ntp协议)  CentOS6自带 CentOS7需要安装 chrony软件(支持ntp协议)   CentOS7自带 安装ntp CentOS ...

  6. Centos7 Ntp 时间服务器

    Centos7 Ntp 时间服务器 安装环境 [root@m02 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 安装 ...

  7. Ntp时间服务器与定时任务Crontab

    一 NTP时间服务器 1 局域网内的NTP同步配置 注意 所有配置操作必须是root用户 ,局域网内node21作为NTP Server,node22,node23作为NTP Client与服务器进行 ...

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

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

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

    NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...

随机推荐

  1. MADP(移动应用开发平台)推动企业数字化转型

    移动互联网时代,企业对于移动应用程序的需求呈现爆炸式增长,移动解决方案供应商一直致力于寻找解决方案帮助企业完成这些移动集成需求,MADP(移动应用开发平台)因此产生,MADP允许提供一种解决方案,可以 ...

  2. Linux初始化Git环境

    第一步:设置Git全局用户名和邮箱 git config --global user.name "你的用户名" git config --global user.email &qu ...

  3. 8.for循环及练习

    For循环:   虽然所有循环结构都可以用 while 或者 do...while 表示,但Java提供了另一种语句— —for循环,使一些循环结构变的更加简单. for 循环语句是支持迭代的一种通用 ...

  4. Qt Installer Framework翻译(3-3)

    移除组件 下图说明了删除所有或某些已安装组件的默认工作流程: 本节使用在macOS上运行的Qt 5维护工具为例,来演示用户如何删除所有或部分选定组件. 移除所有组件 用户启动维护工具时,将打开&quo ...

  5. SpringSecurity 自定义表单登录

    SpringSecurity 自定义表单登录 本篇主要讲解 在SpringSecurity中 如何 自定义表单登录 , SpringSecurity默认提供了一个表单登录,但是实际项目里肯定无法使用的 ...

  6. angular 构建可以动态挂载的配置服务

    angular 构建可以动态挂载的配置服务 Intro 在 angular 中可以指定 environment 来区分不同环境下的配置,然而 environment 中的配置会在打包时是固定的,想要像 ...

  7. [bzoj4827] [洛谷P3723] [Hnoi2017] 礼物

    Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度.但是 ...

  8. 《前端之路》--- 重温 Koa2

    目录 一.简单介绍 二. 路由 三.请求数据 四. 静态资源加载 五. 静态资源加载 六. koa2加载模板引擎 七. koa2 中简单使用 mysql 数据库 八. koa2 中使用单元检测 九. ...

  9. mybatis generator cmd 终端命令 生成dao model mapper

    mybatis generator cmd 终端命令 生成dao model mapper 文件包下载 mybatis-generator-core-1.3.2.jar 下载地址:https://gi ...

  10. alert弹出窗口,点击确认后关闭页面

    alert("点击确认后,关闭页面"); window.opener=null;window.top.open('','_self','');window.close(this);