NTP 网络时间协议用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。

在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。在介绍详细内容之前,让我们先来简单了解一下 NTP 的概念。
为什么我们需要 NTP?

由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。为了将时钟漂移的影响最小化,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。

在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。
 NTP 的层次结构

NTP 时钟以层次模型组织。层级中的每层被称为一个 stratum(阶层)。stratum 的概念说明了一台机器到授权的时间源有多少 NTP 跳。

Stratum 0 由没有时间漂移的时钟组成,例如原子时钟。这种时钟不能在网络上直接使用。Stratum N (N > 1) 层服务器从 Stratum N-1 层服务器同步时间。Stratum N 时钟能通过网络和彼此互联。

NTP 支持多达 15 个 stratum 的层级。Stratum 16 被认为是未同步的,不能使用的。

CentOS上安装NTP

NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步:
  直接同步
     使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的任务,当前服务器时间是13点,但标准时间时11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。
  平滑同步
    使用ntpd进行时钟同步,可以保证一个时间不经历两次,它每次同步时间的偏移量不会太陡,是慢慢来的,这正因为这样,ntpd平滑同步可能耗费的时间比较长。

标准时钟同步服务
http://www.pool.ntp.org/zone/cn网站包含全球的标准时间同步服务,也包括对中国时间的同步,对应的URL为cn.pool.ntp.org,在其中也描述了ntp配置文件中的建议写法:
server 1.cn.pool.ntp.org
server 3.asia.pool.ntp.org
server 2.asia.pool.ntp.org

1.NTP服务器端配置首先确定服务器的时区正确

timedatectl       查看具体时间时区

timedatectl    list-timezones        查看具所有时区

timedatectl set-timezone Asia/Shanghai     设置时区

2 ntp服务器端安装ntp

yum -y install ntp

编辑配置文件

vi  /etc/ntp.conf

其中restrict 用于对访问ntp的客户端的限制

restrict参数

kod          使用kod技术防范“kiss of death”攻击

ignore       拒绝任何NTP连接

nomodify   用户端不能使用ntpc,ntpq修改时间服务器参数,可以进行网络校时

noquery     用户端不能使用ntpc,ntpq查询时间服务器参数,可以进行网络校时

notrap       不提供远程日志功能

notrust      拒绝没有认证的客户端

restrict ip   或者 restrict IP地址 + mask + 子网掩码 + 参数 例如:

restrict default nomodify notrap nopeer noquery   #默认拒绝所有访问 只可以同步时间

restrict 211.71.14.254 mask 255.255.255.0 #添加允许211.71.14.254/24网段访问

restrict 10.111.1.1 mask 255.0.0.0 nomodify #添加10.0.0.0/8网段访问,不可以修改服务器时间参数

   server 参数 server用于设定ntp同步时间的外网时间服务器

server + ip   或者 server + hostname

使用prefer参数可以设置优先上级服务器 例如:

server 202.112.128.33 prefer #默认上级时间服务器为202.112.128.33

server 202.112.10.60 #备用上级时间服务器为202.112.10.60

设置本地时间级别是10,如果上级时间服务器均失效,对外发布本地时间。

server 127.0.0.1 # local clock
                 fudge 127.0.0.1 stratum 10

burst :当一个运程NTP服务器可用时,向它发送一系列的并发包进行检测。

iburst :当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测

默认情况小15分钟后才会与上层NTP服务器进行时间校对。

通过minpoll和maxpoll来缩短同步时间,minpoll/maxpoll规定查询的间隔,以2的幕的形式,取值范围在4-17.

            例如,minpoll 3表示2的3次方,也就是最短8秒钟后主动与上层NTP服务器同步一次,maxpoll 4表示2的4次方,也就是最长16秒钟后主动与上层NTP服务器同步一次.
             如果连接NTP上层服务器失败,ntp服务会跳过失败的NTP服务器,而以配置项的顺序依次与ntp服务器同步
                 server 202.112.128.33 iburst minpoll  4 maxpoll 10

logfile

默认情况下,NTP 服务器的日志保存在 /var/log/messages。如果你希望使用自定义的日志文件,也可以指定。
       logfile  /var/log/ntpd.log

chown ntp:ntp /var/log/ntpd.log

key认证文件

driftfile /var/lib/ntp/drift #本地与上层服务器BIOS晶片振荡频率差值保存目录,不需要修改!

keys /etc/ntp/keys #可以借此来给客户端设置认证信息,不需要修改!

 硬件时间同步

ntp服务默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,

添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

#允许BIOS与系统时间同步,也可以通过hwclock -w 命令

SYNC_HWCLOCK=yes

因此服务器端配置只需修改restrict和server参数即可,修改如下

        restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

        server   2.cn.pool.ntp.org
        server   1.asia.pool.ntp.org
        server   2.asia.pool.ntp.org

 最后启动服务器

      systemctl enable ntpd

      systemctl start ntpd

3.客户机需要同步时间可以有两种方式

方式1: 直接在防火墙上放行此客户机同外部时间服务器同步,此时直接安装

yum -y install ntp

配置即同配置局域网ntp服务器一样。

systemctl enable ntpd

systemctl start ntpd

此时ntp会以守护进程的方式去运行,且会自动同配置文件中的外网NTP服务器同步时间,不需人工干预。

方式2:和内网NTP服务器去同步 此时只需安装utpdate软件

yum -y install ntpdate

但需添加计划任务  让服务器周期性去同内网NTP同步

vi  /var/spool/cron/root(或crontab -e)
              在每天的0点10分、8点10分、16点10分与时间同步服务器进行同步并写入BIOS
               10 0,8,16 * * *  /usr/sbin/ntpdate 10.3.5.5; /sbin/hwclock -w
              如果同步不正常,可以加输出日志1.txt或看系统日志者看/var/mail/root系统邮件
               0 */8  * * *  /usr/sbin/ntpdate 10.3.5.5 >>/tmp/1.txt; /sbin/hwclock -w

也可以编辑cat /etc/sysconfig/ntpdate 中的SYNC_HWCLOCK=yes 自动同步到硬件时间。

CentOS7 NTP 安装配置的更多相关文章

  1. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  2. centos7 yum安装配置redis 并设置密码

    原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...

  3. centos7 rabbitmq安装/配置

    原文:centos7 rabbitmq安装/配置     因为RabbitMQ是由erlang实现的,所以要先安装erlang再安装rabbitMQ   1.先配置yum软件源地址EPEL(EPEL是 ...

  4. 在centOS7.2安装配置zabbix监控

    zabbix由两部分组成,zabbix-server与可选的zabbix-agent.zabbix-server可以通过SNMP,ZABBIX-AGENT,PING,端口监视等方法提供对远程服务器/网 ...

  5. Centos7 下安装配置tomcat7

    首先下载压缩包 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.78/bin/apache-tomcat-7. ...

  6. centos7 docker 安装配置

    docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...

  7. centos7下安装配置prometheus

    prometheus官网:https://prometheus.io/download/ 搭建环境参考:https://blog.csdn.net/baidu_36943075/article/det ...

  8. centos7.2安装配置

    VMware12上安装Centos7,如果电脑是64位,这必须选择64位的centos系统,不然安装完会找不到网卡.安装过程中应当开启网卡选项. 安装完想用ifconfig命令查找IP地址会提示错误: ...

  9. centOS7.3安装配置NFS服务

    在安装和运行NFS服务中,发现了一个需要警惕的地方. 运行2个centOS7.3系统.由于前面一篇已经写了使用xshell进行远程,所以,直接远程进行操作: chen-01做为服务端,chen-02做 ...

随机推荐

  1. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  2. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  3. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...

  4. JS中class和id的区别

    class和id的区别 class用于css的,id用于js的. 1)class页面上可以重复.id页面上唯一,不能重复. 2)一个标签可以有多个class,用空格隔开.但是id只能有id.

  5. 【CVE-2016-10009】OpenSSH < 7.4 - agent Protocol Arbitrary Library Loading

    粗看了一下,发现这个漏洞还是比较鸡肋的.如果前提条件满足,该漏洞可以在ssh server执行任意指令.不过前提是:1.攻击者可以往受害者磁盘上写文件.

  6. p/invoke碎片--对类的封送处理

    主要是看默认封送处理行为 按类成员的类型是否为“可直接传递到非托管内存”的类型来分类;按照成员中是否有“可直接传递到非托管内存”的类型来讨论. 所有成员都是“可直接传递到非托管内存”的类型 托管代码和 ...

  7. weblogic安全漫谈

    今天,我来与大家探讨一下关于weblogic的话题 在进入内网后,如图: 当我们看到7001时,我们就可以测试weblogic反序列化漏洞,如图: 证明,漏洞存在,查看一下权限,如图: 理论上,我们可 ...

  8. AssetBundle

    AssetBundle是Unity推荐的一种资源打包方式,与不使用AssetBundle相比,它有如下优点: 1.AssetBundle是经过LZMA压缩过的,所以体积更小. 2.可以将AssetBu ...

  9. AD域-让共享目录只显示用户有权限访问的文件夹

    问题: 在AD域中,我们一般都会用到共享,如果有很多部门,我们可能还会按部门.职位配置权限.比如CSD,IT,PA等,但文件夹一多,用户看着就头大,而且用户没权限访问的文件夹误点击进去还会提示无权限访 ...

  10. Velocity 局部定制模板

    Velocity介绍 Velocity是一个基于java的template engine.它允许Web designer引用Java Code中定义的方法.Web designer可以和Java工程师 ...