······【NTP服务概述】

NTP(Network Time Protocol)服务主要用于同步服务器时间。

nptd 可以运行在多种模式下,包括对称的 主动、被动(active/passive),客户端、服务端(client/server),广播、多播(broadcast/multicase/manycase)。

通常运行模式是以Daemon方式持续跟踪同步时钟源时间;当然也可以只运行一次,从外部时钟源同步时间(从上次纪录的频度误差文件中读取频度误差值)。

广播与多播模式下客户端能够自动发现时钟源服务器,并计算各个服务器的时延然后自动完成配置。

NTP服务端口为123,使用UDP协议传输。

NTP使用树状的层级(stratum)时钟源,层级数字越小优先级越高,低层级的NTP服务同步高层级的NTP服务。

低层级的服务同时也可以向更低层级的NTP服务提供时钟校准功能。

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

2014年暴露的NTP服务重大漏洞,ntp-4.2.8p9之前的版本都会受影响。造成基于网络包发射的分布式拒绝服务和本地负载升高导致的提权风险。

出于安全考虑,NTP服务器尽量不开放无用的端口,添加有效restrict条目,尽快升级最新版本。

该文档不包含NTP加密传输和某些冷门的配置,如有需要,可以自行查阅man文档: man ntp_auth, man ntp.conf等。

······【ntp配置文件详解】

【时钟源配置】

server address

选取的参考时钟源

peer address

与本机一起作为共同时钟源对外服务,在服务启动初始化时,两台服务器会自行协议主备关系

broadcast address

作为时钟源向指定广播域发送时钟信息

manycastclient address

接受广播的NTP信息客户端配置

【时钟源配置常用选项】

burst

时钟源可以访问时发送8个包,默认发送间隔2秒。只用于server

iburst

时钟源不可访问时发送8个包,默认发送间隔2秒。只用于server

minpool/maxpool

最小/最大轮询时间间隔,间隔为2的minpool/maxpool次方,取值4-17。只用于peer和server命令。

noselect

指定时钟源不再有效,只用于peer和server命令。

prefer

指定时钟源标志为偏好,只用于peer和server命令。

ttl

指定报文生存周期,仅用于broadcast和manycastclient命令。

【driftfile】

将自己主机的bios芯片震荡频率与上层的Time server频率比较,将误差记录在这个文件里,条目设置格式:

driftfile /etc/ntp/drift

【pidfile】

记录应用程序进程ID(PID)文件保存的路径,设置格式:

pidfile /var/run/ntpd.pid

【logfile】

日志文件保存路径,设置格式:

logfile /var/log/ntp.log

【tinker】

该命令修改当前系统给定的时钟统合算法(the clock discipline algorithm),和芯片硬件相关。该默认值已经优化过了,一般不需修改。

常用字段解释如下:

panic

指定一个时间偏移跃变的阈值,默认是1000秒。

如果设置为0,该功能将会关闭,任意一个时钟偏移同步都将会被接受。

就是说默认情况下如果时间偏移超过1000秒,将会判断为异常时间,不会进行同步,但是如果设置成0就会禁用这一个功能,当ntp server时间异常波动大于1000秒时,会导致本地的时间发生突变,这可能会导致某些应用异常。

step

指定时间同步步长,单位是秒,默认是0.128秒。

如果设置为0,该进步式时间调整功能将会关闭。注意:如果改值设置为0或者大于0.5秒时,操作系统内核的时间discipline也会被禁用。

······【访问权限配置】

ntpd实现了基于网段/掩码的通用权限控制列表,主要目的是为了防止有问题的外部时钟源影响本地时钟服务,restrict意为允许指定IP访问,并使用NTP部分功能,discard定义了发包间隔时间的规则,超过发送间隔的报文将被丢弃。

设置格式为:

discard [ average avg ] [ minimum min ] [ monitor prob ]

restrict numericaddress [mask numeric_mask] [flag] [...]

【访问权限配置常用Flag】

ignore

忽略匹配源目的地址发送的所有包

noquery

忽略ntpq和ntpdc查询命令,不影响ntpd服务

nomodify

忽略修改NTP服务器状态的命令(如修改运行时间,配置等命令)

notrap

拒绝向某些主机提供模式6的trap服务,trap服务为NTP的子系统,主要为远程日志程序所使用

noserve

除了ntpq和ntpdc,拒绝所有报文

nopeer

拒绝peer, broadcast,manycastclient的连接报文

······【配置示例】

#记录系统时钟频率差异文件

driftfile /var/lib/ntp/drift

# pid: 进程ID号文件

pidfile /var/run/ntpd.pid

# ntp服务记录日志路径

logfile /var/log/ntp.log

# 不准外部请求修改/查询本地ntp配置,-6意为IPv6地址

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

# 默认的本地时钟源,没有NTP服务可用时,使用它为局域网用户提供服务,这里层级可以设置低一点

server 127.127.1.0

fudge 127.127.1.0 stratum 5

# NTP服务的ACL权限控制,放通外网NTP服务器

restrict ntp1.aliyun.com

restrict ntp2.aliyun.com

# 选择以下外网服务器,拒绝外部查询和配置更改等请求

server ntp1.aliyun.com iburst minpoll 4 maxpoll 10

server ntp2.aliyun.com iburst minpoll 4 maxpoll 10

······【附录:有效的国内时钟源服务器】

ntp1.aliyun.com (阿里云ntp服务器地址,从ntp1到ntp6)

us.ntp.org.cn (美国)

cn.ntp.org.cn (中国)

NTP服务解析的更多相关文章

  1. ntp服务的细节全解析

    在linux里设置NTP服务并不难,但是NTP本身确是一个很复杂的协议. 你都了解细节么? 1. 时间和时区 date命令可显示时间与市区 [root@T_PV1_DB ~]# date Tue Fe ...

  2. NTP服务和DNS服务(week3_day3)--技术流ken

    NTP时间服务器 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 部署安装NTP ...

  3. 末学者笔记--NTP服务和DNS服务

    NTP时间服务器 一.概念: 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 二 ...

  4. NTP POOL PROJECT:全球最大的免费NTP服务集群

    pool.ntp.org项目是一个提供可靠易用的NTP服务的虚拟集群,它作为一个大的NP服务器可以支撑全球数百万客户端使用.该项目允许那些能提供NTP服务的服务器加入到该集群中,截止2012年8月份, ...

  5. ntp服务及其配置

    集群中使用NTP服务 简介 之前搭建zookeeper时报了一个错,我以为是ntp的问题,结果不是.这里详细学习一下如何在集群中使用ntp服务. 什么是ntp服务 来自ntp的百度百科: NTP服务器 ...

  6. CentOS学习之NTP服务配置详解

    详解centos7下ntp服务配置 一.ntp服务是什么 1.定义 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 2.发展 首次记载在 ...

  7. 时间同步ntp服务的安装与配置(作为客户端的配置

    在linux环境下,我们不仅可以自己设置时间,也可以对系统进行时间的同步,比如同步时间到某台物理机上或虚拟机,皆可!接下来我们就以同步时间到某台物理机为例, 一起学习学习. 1.配置本地yum源(挂载 ...

  8. 配置ntp服务

    配置ntp服务(hadoop搭建可参考) 一:修改选定的服务器的本地时间 date -s '2016-10-07 16:29:30' +'%F %T' //需要设置的时间 二:修改后将时间写入到硬件时 ...

  9. 如何搭建NTP服务

    最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名.IP管理,NTP用于时间同步.其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律.用得越频 ...

随机推荐

  1. Scrum 冲刺第三天

    一.每日站立式会议 1.会议内容 1)进行每日工作汇报 张博愉: 昨天已完成的工作:博客编写.spring boot学习 今日工作计划:将项目代码更新到最新版本 工作中遇到的困难:各成员的环境不一样, ...

  2. ARC109D - L

    平面上一开始有三个点\((0,0),(0,1),(1,0)\)形成成L形(点连续),每次操作可以将一个点改变位置,使得得到的仍然是L形.给出终止L形的位置,问移动的最小步数. \(|x|,|y|\le ...

  3. 大白话详解大数据hive知识点,老刘真的很用心(2)

    前言:老刘不敢说写的有多好,但敢保证尽量用大白话把自己复习的内容详细解释出来,拒绝资料上的生搬硬套,做到有自己的了解! 1. hive知识点(2) 第12点:hive分桶表 hive知识点主要偏实践, ...

  4. Python条件判断和循环语句

    一.条件判断语句 通过一条或多条语句的判断来决定是否执行代码块 1.if语句基本形式: if 判断条件:    语句块 例如: score=75if score>=60:    print &q ...

  5. 【adb命令的使用,及logcat日志的分析】

    实时记录日志: adb logcat -v time >D:\maimang.txtadb logcat -v threadtime > E:\Desktop\SSGame_log.txt ...

  6. 高手查看Linux系统用户命令-测评

    一.Linux查看用户命令-测评 查看linux所有的用户 cat /etc/passwd 查看普通用户.系统用户(1-499) root:x:0:0:root:/root:/bin/bash < ...

  7. JUC(一):volatile关键字

    volatile是什么 ​ volatile是java虚拟机提供的轻量级同步机制,它包含三种特性: 保证可见性:只要主内存中变量做出修改,其余线程马上会感知到变量的修改. package com.ch ...

  8. 一位弱校选手的oi经历

    锦瑟无端五十弦,一弦一柱思华年. 这只是一位不知道什么时候就要退役的oier在一节晚自习的时候写的无聊东西 曾经也想好好写一写自己的oi历程,也许会有人看,不过因为自己懒加上文笔差也一直没写,直到昨天 ...

  9. Hbase各组件职责

    Hbase各组件职责 Client职责 1.HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META ...

  10. java_day_02

    一.return的两个作用 1.停止当前方法 2.将后面的结果数据返回值还给调用处 二.方法的三种调用格式 1.单独调用:方法名(参数): public class Method { public s ...