一 安装及准备

1.1 安装NTP

 [root@server ~]# yum -y install ntp #也可下载之后rpm安装,或者源码安装

1.2 NTP服务地址

提供全球可用NTP服务器列表,挑选适合自己(通常为物理位置附近)的NTP服务器。如:cn.ntp.org.cn。

二 相关配置

2.1 配置说明

  • /etc/ntp.conf:NTP主配置文件;
  • /usr/share/zoneinfo:规定了各主要时区的时间设定文件,如上海/usr/share/zoneinfo/Asia/Shanghai;
  • /etc/sysconfig/clock:Linux的主要时区设定文件,每次启动后系统读取此文件来设定系统预设要显示时间,如:Zone=Asia/Shanghai;
  • /etc/localtim:本地系统的时间设定文件。

2.2 命令说明

  • /bin/date:Linux系统上面的日期与时间修改及输出命令
  • /sbin/hwclock:主机的BIOS时间与Linux系统时间分开date 这个指令调整后,只是影响系统时间。如果更改BIOS时间,需要用hwlock命令
  • /usr/sbin/ntpd:NTP服务的守护进程
  • /usr/sbin/ntpdata:NTP客户端用来连接NTP服务器命令文件
  • /usr/sbin/ntpq:标准网络计时协议(NTP)查询程序

2.3 配置详解

  • driftfile 文件名:在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。 注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
  • restrict配置项——语法:restrict IP地址 mask 子网掩码 参数
  • 注意:其中IP地址也可以是default ,default 就是指所有的IP。
  • 参数:
  • ignore:关闭所有的 NTP 联机服务,即拒绝任何NTP连接。
  • minpoll+maxpoll:指定NTP消息的最小和最大轮询间隔(以秒为单位)。最大轮询间隔默认为10(1,024秒),可通过maxpoll选项增加到17(36.4小时)的上限。最小轮询间隔默认为6(64 s),可通过minpoll选项降低到4(16 s)的下限。
  • nomodify:客户端不能更改服务端的时间参数,但客户端可以通过服务端进行网络校时。
  • notrust:客户端除非通过认证,即拒绝没有认证的客户端。
  • noquery:不提供客户端的时间查询,用户端不能使用ntpq,ntpc等命令来查询ntp服务器,且不可以进行网络校时。
  • notrap:不提供trap远端登陆,即不提供远程事件日志记录功能。
  • nopeer:用于阻止主机尝试与服务器对等,不与其他同一层的NTP服务器进行时间同步。
  • kod:访问违规时发送 KoD 包,即使用kod技术防范“kiss of death”攻击。
  • restrict -6 :表示IPV6地址的权限设置。

举例:

 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 + ip 或者 server + hostname
  • prefer:设置优先上级服务器
  • burst:当一个运程NTP服务器可用时,向它发送一系列的并发包进行检测。
  • iburst:当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测。
  • peer:一般配置中表示,服务器接收其他服务器的地址,同时也会为其他设备提供NTP服务器。

举例:

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

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

 fudge 127.127.1.0 stratum 3

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

 keys /etc/ntp/keys #给客户端设置认证信息

三 实验配置

3.1 实验环境

  • ntp1:172.24.8.30
  • ntp2:172.24.8.31
  • ntp-client:172.24.8.32

要求:ntp1为最上级ntp服务器,且和亚洲授时中心同步;ntp2为次级ntp服务器,和ntp1时钟同步;ntp-client和ntp2时钟同步。

四 ntp1服务端配置

4.1 安装ntp包

 root@ntp1 ~]# rpm -qa | grep ntp #检测ntp包安装情况

 [root@ntp1 ~]# yum -y install ntp #使用yum安装ntp

4.2 修改主配置

 [root@server ~]# vi /etc/ntp.conf

 server 0.cn.pool.ntp.org

 server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org #设置与亚洲时间同步 restrict 0.cn.pool.ntp.org nomodify notrap noquery restrict 1.asia.pool.ntp.org nomodify notrap noquery restrict 2.asia.pool.ntp.org nomodify notrap noquery

 restrict 3.asia.pool.ntp.org nomodify notrap noquery # 允许上层时间服务器主动修改本机时间

 server 127.127.1.0

 fudge 127.127.1.0 stratum 8 #外部时间服务器不可用时,以本地时间作为时间服务

 #将系统原有ntp地址池修改为所选定的NTP服务器。

4.3 添加允许同步的网段

 restrict 172.24.8.0 mask 255.255.255.0 nomodify notrap

4.4 选配

 logfile /var/log/ntp.log								#添加ntp相关日志记录文件
[root@ntp1 ~]# chown ntp:ntp /var/log/ntp.log
[root@ntp1 ~]# chcon -t ntpd_log_t /var/log/ntp.log

注意:若增加日志,则需要配置日志所属者和SELinux上下文。

五 ntp2服务端配置

5.1 安装ntp包

5.2 修改主配置

 restrict 127.0.0.1

 restrict ::1

 restrict 172.24.8.0 mask 255.255.255.0 nomodify notrap

 server 172.24.8.30 prefer

 restrict 172.24.8.30 nomodify notrap noquery

 server 127.127.1.0

 fudge 127.127.1.0 stratum 10 #外部时间服务器不可用时,以本地时间作为时间服务

六 ntp-client服务器配置

6.1 安装ntp包

6.2 修改主配置

 server 172.24.8.31

 restrict 172.24.8.31 nomodify notrap noquery

七 防火墙及服务器开启

7.1 添加防火墙规则

 [root@ntp1 ~]# firewall-cmd --permanent --add-service=ntp

 [root@ntp1 ~]# firewall-cmd --reload

7.2 开启相关服务

 [root@ntp1 ~]# systemctl start ntpd.service

 [root@ntp1 ~]# systemctl enable ntpd.service

 [root@ntp1 ~]# systemctl status ntpd.service

注意:第七步操作需要在所有ntp服务器和client上执行,也可直接关闭防火墙。

 [root@ntp1 ~]# systemctl stop firewalld.service

 [root@ntp1 ~]# systemctl disable firewalld.service

 [root@ntp1 ~]# setenforce 0

八 ntp1服务器查看服务

8.1 查看该NTP服务器的上层服务器情况

需要隔一定时间之后,查询:

等待一段时间后,查看是NTP服务器和NTP服务器的服务端同步状态。

九 ntp2服务器查看

十 ntp-client端查看

十一 其他选配

ntp服务,默认只会同步系统时间。若需要tp同时同步硬件时间,可以在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes ,则可以让硬件时间与系统时间一起同步。

SYNC_HWCLOCK=yes

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

附:ntpq参数解释:

  • remote:本地服务器所连接的远程NTP服务器。
  • refid:NTP服务器使用的上一级ntp服务器,即给远程ntp服务器提供时间同步是服务器。。
  • st :remote远程服务器的级别,由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端。所以服务器从高到低级别可以设定为1-16,为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的。
  • when: 上一次成功请求之后到现在的秒数。
  • poll : 本地机和远程服务器多少时间进行一次同步(单位为秒),在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小。
  • reach:这是一个八进制值,用来测试能否和服务器连接,每成功连接一次它的值就会增加
  • delay:从本地机发送同步要求到ntp服务器的round trip time
  • offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近。
  • jitter:这是一个用来做统计的值,它统计了在特定个连续的连接数里offset的分布情况,简单地说这个数值的绝对值越小,主机的时间就越精确。
  • 『 * 』:代表目前正在作用当中的NTP,即主NTP Server;
  • 『 + 』:代表辅助的NTP Server和带有*号的服务器一起为我们提供同步服务, 当主NTP Server服务器不可用时备服务器接管,即作为下一个提供时间更新的候选者。
  • 『 - 』:远程服务器被认为是不合格的NTP Server。
  • 『 x 』:远程服务器不可用。

002.NTP服务端搭建的更多相关文章

  1. Centos 6.5 pptpd服务端搭建过程

    首先检测有没有启用ppp和tun cat /dev/ppp cat /dev/net/tun 如果显示是这样的 cat: /dev/ppp: No such device or address cat ...

  2. Apereo CAS Server服务端搭建教程

    不说废话了,直接看搭建过程吧. 首先到下载源码,https://github.com/apereo/cas-overlay-template/tree/4.2 附上地址,本次版本为4.2,下载源码后如 ...

  3. react 项目实战(一)创建项目 及 服务端搭建

    1.安装 React社区提供了众多的脚手架,这里我们使用官方推荐的create-react-app. //安装脚手架 npm install -g create-react-app //生成并运行项目 ...

  4. FTP服务端 FTP服务端搭建教程

    FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...

  5. node服务端搭建学习笔记

    咳咳,终于迈出这一步了...这篇文章将是边学边写的真正笔记...用于mark下学习过程中的点滴~ 开篇先把我学习参考的文章来源给出,以表示对前人的尊敬: https://github.com/nswb ...

  6. centos6.5 svn服务端搭建

    一.前言 Subversion是一个免费的开源的版本管理系统,它是作为CVS(Concurrent Versions System)的取代品出现的.本文简单介绍了Subversion在centos上的 ...

  7. git分布式的理解----简单服务端搭建

    Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git.Git支持四种协议,file,ssh,git,http.ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端. 1 ...

  8. CAS单点登录学习(一):服务端搭建

    下载先在网上下载cas-server-3.5.2,将里面的cas-server-webapp-3.5.2.war放到tomcat的webapps目录下. https设置cas单点登默认使用的是http ...

  9. 菜鸟之webservice(一) 服务端搭建

    首先说一下,为什么取名叫菜鸟之webservice,由于本人技术真的不咋滴,写博客仅仅是为了对所学知识的总结.webservice对于我来说一直都是高大上的感觉,一个java web和javase都没 ...

随机推荐

  1. linux 条件变量与线程池

    条件变量Condition Variables 概述 1. 条件变量提供了另外一种线程同步的方式.如果没有条件变量,程序需要使用线程连续轮询(可能在临界区critical section内)方式检查条 ...

  2. 【CSS】定位层

    html:定位层1.概念: >>.定位层是由html元素(标签)形成的一个特殊的box盒子. >>.其重点在于“定位”,而html元素(标签)的定位方式由CSS来控制. 通常情 ...

  3. 「Vue」父子组件之间的传值及调用方法

    a.父组件向子组件传值data(){},props数据区别data中的数据可读可写,是自己的数据props是个数组,中的数据是父组件传递过来的,只读不能写<login :dmsg='msg'&g ...

  4. Java基础-SSM之Spring和Mybatis整合案例

    Java基础-SSM之Spring和Mybatis整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   在之前我分享过mybatis和Spring的配置案例,想必大家对它们的 ...

  5. Java基础-二进制以及字符编码简介

    Java基础-二进制以及字符编码简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必计算机毕业的小伙伴或是从事IT的技术人员都知道数据存储都是以二进制的数字存储到硬盘的.从事开 ...

  6. python---django使用cookie和session

    在views中的调用: def login(req): message='' if req.method == "POST": user = req.POST.get(" ...

  7. 介绍C++11标准的变长参数模板

    目前大部分主流编译器的最新版本均支持了C++11标准(官方名为ISO/IEC14882:2011)大部分的语法特性,其中比较难理解的新语法特性可能要属变长参数模板(variadic template) ...

  8. 利用CSS3实现简书中点击“喜欢”时的动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. oracle connect by用法篇 (转)

    1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 1 2 1 2 一般用来查找存在父子 ...

  10. HDU 2509 基础Anti-SG NIM

    如果我们规定当局面中所有的单一游戏的SG值为0时,游戏结束,则先手必胜当且仅当:(1)游戏的SG!=0 && 存在单一游戏的SG>1:(2)游戏的SG==0  && ...