基本概念:

0层的服务器采用的是原子钟、GPS钟等物理设备,stratum 1与stratum 0 是直接相连的,往后的stratum与上一层stratum通过网络相连,同一层的server也可以交互。

[from Wikipedia]

C/S合一

ntpd对下层client来说是service server,对于上层server来说它是client,也就是说新版的NTP服务程序已经不对服务端和客户端进行区分了,统一叫做ntpd。ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟。所有的配置都在/etc/ntp.conf文件中。

NTP客户端同步间隔

NTP服务会间隔多长时间想时钟服务器请求一次时钟同步呢?默认最小时间间隔为64s,默认最大时间间隔是1024s(17分钟左右)。64s是比较合理的,默认间隔也是可调的(Note that most device drivers will not operate properly if the poll interval is less than 64 s and that the broadcast server and manycast client associations will also use the default, unless overridden.)。

容忍误差范围

NTP服务并不是在任何情况下都会进行同步的。当时钟服务器时间和本地时间相差大于1000s时,NTP服务就会认为是人为调整了时钟或出现了硬件故障,例如CMOS电池损坏等。此时,NTP服务就会退出,需要人工(ntpdate …)进行时钟同步。

采用-g选项可以让ntpd忽略1000s或更大误差,设置时钟到server system time, 但是ntpd还是会因此退出。

层次(strata)

stratum根据上层server的层次而设定(+1)。

对于提供network time service provider的主机来说,stratum的设定要尽可能准确。

而作为局域网的time service provider,通常将stratum设置为10 (Stratum 10 is conventional for unsynchronized local clocks; it is high enough that nobody is likely to mistake it for a desirable clock to synchronize with.),如下:

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

#stratum设置为其它值也是可以的,其范围为0~15

设置与启动

文件路径:/etc/ntp.conf

# 1. 先处理权限方面的问题,包括放行上层服务器以及开放局域网用户来源:

restrict default kod nomodify notrap nopeer noquery <==拒绝 IPv4 的用户

restrict -6 default kod nomodify notrap nopeer noquery <==拒绝 IPv6 的用户

restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 进入本 NTP 的服务器

restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 进入本 NTP 的服务器

restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 进入本 NTP 的服务器

restrict 127.0.0.1 <==底下两个是默认值,放行本机来源

restrict -6 ::1

restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域网用户来源,或者列出单独IP

# 2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定批注掉:

server 220.130.158.71 prefer <==以这部主机为最优先的server

server 59.124.196.83

server 59.124.196.84

# 3.默认的一个内部时钟数据,用在没有外部 NTP 服务器时,使用它为局域网用户提供服务:

# server 127.127.1.0 # local clock

# fudge 127.127.1.0 stratum 10

# 4.预设时间差异分析档案与暂不用到的 keys 等,不需要更动它:

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

文件路径:/etc/sysconfig/ntpd

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"

SYNC_HWCLOCK=yes

# 将他改成 yes 吧!这样 BIOS 的时间也会跟着改变的!

启动

/etc/init.d/ntpd start 或 /etc/init.d/ntpd restart

查看端口使用情况

netstat -tlunp | grep ntp

查看本机作为client更新time的过程

ntptrace

查看ntpd的运行信息

ntpstat

查看所有层次time service provider的详细信息

ntpq –pn

Client单独用ntpdate更新时间

ntpdate ntp_server_ip

其后可能需要hwclock -w (clock -w)写入BIOS timer

可能的问题

no server suitable for synchronization found

原因:ntpd启动过程需要5分钟左右!(或者ntpd根本没有启动)

在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

那么如何知道何时ntp server完成了和自身同步的过程呢?

在ntp server上使用命令:

watch ntpq

出现画面:

注意LOCAL的这个就是与自身同步的ntp server,而reach这个值,在启动ntp server服务后,就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。

Server dropped: strata too high”的错误,并且显示“stratum 16”

修改fudge server的stratum为0~15

Server dropped: no data

从客户端执行ntpdate –d server_ip(debug模式)时有错误信息: Server dropped: no data.

出现这个问题的原因可能有2:

1). 检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误(版本差异),解决方法是把notrust去掉。

# ntpq -c version

2). 检查ntp server的防火墙,可能是server的防火墙屏蔽了upd 123端口。可以用下面命令来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。

#service iptables stop

ntp如何确认与服务器偏差_搭建NTP服务器相关推荐

  1. Linux 服务器内网搭建NTP时间服务器(Network Time Protocol)

    文章目录 Linux 服务器内网搭建NTP时间服务器(Network Time Protocol) 一.在主服务器端安装NTP时间服务器 二.在客户端安装NTP时间服务器 三.Xhell 同时控制多个 ...

  2. 饥荒自动服务器有点问题,饥荒联机版无法连接服务器怎么办_无法连接服务器的快速解决办法...

    饥荒联机版无法连接服务器怎么办?今天小编就为大家带来饥荒联机版无法连接服务器解决方法,让我们来一起看看吧! 其实有时候连不上klei服务器和刷新不出服务器列表,是dns的问题. 尤其一些三级宽带,像什 ...

  3. ntp如何确认与服务器偏差_怎么测试linux下搭建的ntp服务器

    展开全部 三.什么是NTP 为了实现时间同步,我们就需要用户NTP(Network Time Protocol)这个协议32313133353236313431303231363533e78988e6 ...

  4. win7制作ntp服务器,win7系统搭建ntp服务器的操作方法

    很多小伙伴都遇到过对 1.关闭windows系统自带的防火墙,否则NTP时间将无法正常同步. 2.单击"开始",选择"运行",输入regedit后确定,找到下面 ...

  5. win7制作ntp服务器,win7系统搭建ntp服务器的处理步骤

    随着电脑的使用率越来越高,我们有时候可能会遇到对win7系统搭建ntp服务器进行设置,如果我们需要对win7系统搭建ntp服务器进行设置时,要怎么处理呢? 接下来给大家带来win7系统搭建ntp服务器 ...

  6. 时钟服务器linux,简单搭建NTP时钟服务器

    centos的做法: yum -y install ntp ntpdate  #安装NTP的服务器和客户端 echo "restrict default nomodify" > ...

  7. windows 本地搭建git仓库_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  8. windows搭建tftp服务器_Ubuntu中搭建TFTP服务器

    参考: 在Ubuntu中搭建TFTP服务器_小拇指的脑瓜子的博客-CSDN博客_ubuntu tftp​blog.csdn.net 主要步骤: sudo apt-get install -y xine ...

  9. 开源 静态 文件 服务器,Node.js搭建静态服务器

    写在开头,本文是node.js最最初级的搭建静态服务器,比较适合新手入门,大神请绕道哦- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用 ...

最新文章

  1. 17._5正则表达式的替换
  2. 云炬随笔20171103
  3. Java10来了,来看看它一同发布的全新JIT编译器
  4. solr cloud 更新 solrconfig 配置_Solr各版本新特性「4.x,5.x,6.x,7.x」
  5. python中的列表和元组_浅析Python中的列表和元组
  6. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.17
  7. delphi android 串口通信,Delphi 7:操作串口(ComPort)
  8. 使用libxml2库生成和解析文件
  9. Mybatis源码解析!!! 附中午注释源码
  10. 浏览器的about:config清缓存及其他参数大全及其具体用途介绍
  11. 基于文本语义的智能问答机器人——工业应用
  12. 平衡小车制作系列之一——捋清制作流程
  13. VS code + Java 配置与使用
  14. CALayer的简单使用
  15. 天玥系列微型计算机,【简讯】AMD正式发布RX 6000系列显卡;OPPO K7x宣布…
  16. 某程序员动了公司祖传代码屎山,半年没改完,惭愧后交辞职报告
  17. 北京市定额发票真假查询地址
  18. Redis 之 subscribe 订阅模式封装
  19. 建群网培PMP每日一练2020-7-29
  20. Rust之常用集合(三):哈希映射(Hash Map)

热门文章

  1. QGraphicsScene接收不到drop事件
  2. 一文读懂——单片机的发展史
  3. C~K的班级(java)
  4. 使用zipfile/BytetesIO实现在内存中创建zip压缩文件
  5. DirectSound入门指南(1)录音实战
  6. 等比数列求和,二分递归
  7. Latex使用超链接url:网址、邮箱
  8. 高薪工作有哪些,转行it薪资能拿多少?
  9. MulDA: A Multilingual Data Augmentation Framework for Low-Resource Cross-Lingual NER 阅读笔记
  10. 【PAT】A1006 Sign In and Sign Out (25) (查找)