Ntpd 快速指南

Ntpd 快速指南

快速开始


修改 ntp server 地址

vi /etc/ntp.conf

# 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 ntpserverip prefer

重启 ntp server

systemctl restart ntpd.service

观察启动的服务

netstat -tlunp | grep ntp


注意走的是 udp 协议 123 端口

查看 ntp 同步状态,通常需要数分钟时间进行 synchronised

ntpstat

synchronised to NTP server (5.103.139.163) at stratum 2
time correct to within 193 ms
polling server every 1024 s

观察 ntpd 服务

ntpd 服务每隔 64 秒会主动更新时间,可以通过以下命令查看

ntpq -p

ntpq -p 可以列出目前我们的 ntp 与相关的上层 ntp 的状态,上头的几个字段的意义为:

  • remote:远程时间服务器的 IP 地址或主机名 ~注意最左边的符号
    • [ * ] 代表目前正在作用当中的上层 ntp
    • [ + ] 代表也有连上线,而且可作为下一个提供时间更新的候选者。
    • [ - ] 代表远程服务器被认为是不合格的 NTP Server
    • [ x ] 代表远程服务器不可用
  • refid:远程时间服务器的上一层服务器IP地址
  • st:stratum 阶层,表示与顶层参考时钟(原子时钟、GPS 或者其他无线电时钟)的距离,顶层为第 0 层。距离顶层越近,时间越准确。
  • t:类型,本地 ntp 服务与远程时间服务的通信方式
    • u:单播或者多播
    • b:广播
    • l:本地
  • when:最后一次时间同步到现在的时间,没有单位表示秒
  • poll:同步的频率
  • reach:和远程时间服务的连接成功次数,每成功一次就增加,以8进程显示
  • delay:从本地到远程时间服务器通信往返时间,单位毫秒
  • offset:本机与远程时间服务器的时间偏移量,该值越接近0越好,单位毫秒
  • jitter:本机与远程时间服务器的时间平均偏差,该值越小越好,单位毫秒


简介


ntpd 特性

C/S 合一

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

  • restirct 部分为 server 端配置
  • server 部分为 clinet 端配置

NTP 客户端同步间隔

ntp 服务会间隔多长时间想时钟服务器请求一次时钟同步呢?默认最小时间间隔为64s,默认最大时间间隔是1024s(17分钟左右)。
默认间隔可以通过 minpoll 和 maxpoll 配置。

容忍误差范围

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

采用 -g 选项可以让 ntpd 忽略 1000s 或更大误差

层次(strata)

stratum 根据上层 server 的层次而设定(+1)。
对于提供 network time service provider 的主机来说,stratum的设定要尽可能准确。
而作为局域网的 time service provider,通常将 stratum 设置为 10


ntpd 与 ntpdate

ntpd

  • ntpd 是一个时间服务。采用柔性时间调整策略,让时间的变化和调整尽量减少对业务的影响。
  • ntpd 不盲目相信远端时钟,服务器时间和远端时钟超过恐慌阈值(默认1000秒),ntpd 甚至会停止时间同步。
  • ntpd 自己会思考。它相信本地时间可能不对,但是不会忽快忽慢甚至停滞。ntpd 通过多次收发包选择权威稳定的时间源,算出双方间的网络延迟,然后才会采信新的远端时钟进行时间同步。
  • ntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移 (drift) ——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。

ntpdate

  • ntpdate 是一个时间同步命令,通常采用 crond + ntpdate 方式同步时间。
  • ntpdate 盲目信任远端时钟,如果远端时钟错误,ntpdate 永远相信远端时钟是正确的,可能造成服务器时钟停滞,甚至回逆。
  • ntpdate 简单粗暴,无脑不会思考。采用野蛮式(brute force)、跃进式调整服务器时间。

区别

-- ntpdate 是一个命令,而 ntpd 则是一个体系

ntpdate 机制是 one-shot 同步, 若要定时同步需搭配 cron

ntpd 是 daemon, 可自动定期将系统时间和 NTP server 更新

ntpd 不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非 ntpdate 立即同步。也正如此两者不可同时运行。

ntp.org 在 2012 年时开始, 表示将让 ntpd 来取代 ntpdate, 主要原因如下:

ntpd 可以 cover ntpdate 的功能
ntpd 和 ntpdate 原本共用相同的程式码, 后来 ntpd 优化了裡面的演算法, 但 ntpdate 并没有更新

在生产环境中慎用 ntpdate。时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如传统数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate 调整时间的方式就是我们所说的”跃变“: 在获得一个时间之后,ntpdate 使用 settimeofday 设置系统时间。

  • ntpdate 不安全。ntpdate 的设置依赖于 ntp 服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿 下ntp 服务器并令与其同步的服务器执行某些消耗性的任务。由于 ntpdate 采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

  • ntpdate 不精确。一旦 ntp 服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd 不仅能够校准计算机的时间,而且能够校准计算机的时钟。

  • ntpdate 不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果 ntpdate 发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用 ntpd 来校准时钟,而不是调整计算机时钟上的时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容