NTP时间服务器安装与配置

第1章 Server端的安装与配置

1.1 查看系统是否已经安装ntp服务组件

rpm -qa | grep "ntp"                #<==查看是否已经安装ntp组件,有如下两个组件说明已经安装
ntpdate-4.2.6p5-1.el6.centos.x86_64
ntp-4.2.6p5-1.el6.centos.x86_64
 

1.2 yum安装

yum -y install ntp
 

1.3 ntp服务器端的配置

1.3.1 配置文件

Ø  配置文件

/etc/ntp.conf
 

Ø  配置文件默认内容

egrep -v "^$|#" ntp.conf        #<==排除默认注释及空行
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery #<==对默认的client拒绝所有操作
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 #<==允许本地地址的一切操作
restrict -6 ::1
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
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
 

Ø  修改配置

cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery #<==对默认的client拒绝所有操作
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 #<==允许本机的一切操作
restrict 192.168.1.0 mask 255.255.255.0 nomodify #<==允许局域网内所有client连接到这台服务器
restrict -6 ::1 同步时间.但是拒绝让他们修改服务器上的时间
#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 ntp1.aliyun.com #<==同步公网的时间
server 127.127.1.0 #<==如果无法连接公网,则使用自己本身的时间作为标准时间。
fudge 127.127.1.0 stratum 10 #<==设置stratum级别
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
 

1.3.2 restrict安全相关参数

ignore :关闭所有的 NTP 联机服务 
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 
noquery :不提供客户端的时间查询

第2章 Client的安装与配置

客户端的安装同服务器,如上。

2.1 配置文件

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
#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 ntpserver #<==添加自己的时间服务器
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
 

第3章 服务启动

3.1 服务器段启动

在服务器端启动NTP服务,命令如下:

/etc/init.d/ntpd start
 

添加开启启动:

chkconfig ntpd on
 

3.2 客户端同步

3.2.1 ntpdate命令同步

在客户端运行时间同步命令ntpdate,测试服务器是否工作。该方法可以不用再客户端启动ntpd服务,可以将ntpd服务做成定时任务来同步时间服务:

命令格式:ntpdate server

ntpdate master1
19 Dec 17:46:03 ntpdate[20131]: adjust time server 192.168.1.211 offset -0.000042 sec
 

注:ntpdate命令需要客户端不能运行ntpd服务,否则会报如下错误:

ntpdate master1
19 Dec 17:45:51 ntpdate[20110]: the NTP socket is in use, exiting
 

3.2.2 ntpdate定时任务

echo '*/10 * * * * /usr/sbin/ntpdate master1 &>/dev/null' >> /var/spool/cron/root
 

该命令是做一个每10分钟同步一次时间服务器的任务,其中master1是自己配置的时间服务器,&>/dev/null表示不打印日志。

3.2.3 ntpd服务同步

启动ntpd服务:

/etc/init.d/ntpd start
 

查看同步的状态:ntpq -p

ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
time5.aliyun.co 10.137.38.86 2 u 27 64 1 52.650 3657191 0.000
*LOCAL(0) .LOCL. 10 l 26 64 1 0.000 0.000 0.000
 

各项参数的含义如下:

服务参数

含义

remote

本地机器连接的远程NTP服务器。

refid

给远程服务器提供时间同步的服务器。

st

远程服务器的层级别(stratum)。由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端,所以服务器从高到低级别可以设定为1-16。

t

本地NTP服务器与远程NTP服务器的通信方式,u:单播;b:广播;i:本地

when

本地机器和远程服务器进行一次时间同步的剩余时间。

poll

本地机和远程服务器多少时间进行一次同步(单位为秒)

reach

测试能够和服务器连接,每成功一次它的值就会增加

delay

从本地机发送同步要求到服务器的round trip time

offset

本地机和服务器之间的时间差别。Offset接近0,就和时间服务器的时间越接近。

jitter

统计了再特定个连续的连接数里offset的分布情况。

+

它将作为辅助的NTP   Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管

*

远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供

-

远程服务器被clustering   algorithm认为是不合格的NTP   Server

x

远程服务器不可用

3.3 同步机器时间

linux除了系统时间之外,还有机器时间,这两者可能不同一,可以用hwclock查看机器时间:

hwclock
Tue 19 Dec 2017 06:27:40 PM CST -0.627173 seconds
 

使用hwclock –w命令将系统时间同步到机器时间

hwclock –w
 

最新文章

  1. spring--学习之IOC DI
  2. mac系统下如何解压.car文件
  3. 关于“服务器提交了协议冲突. Section=ResponseStatusLine&quot;问题
  4. Quartz源码阅读
  5. 完整版的OpenLDAP搭建全过程
  6. 使用apktool解包和打包apk
  7. 字符串-06. IP地址转换
  8. C#实现接口xml序列化与反序列化
  9. ios做的两个矩形相交叉
  10. 入门干货之Electron的.NET实现-Electron.NET
  11. 最新版Sublime Text Build 3156 x64 的下载 + 注册码 + Install Package Control + 汉化教程
  12. webpack之proxyTable设置跨域
  13. linux查找删除某天前的文件(转载)
  14. babel
  15. C语言 九九乘法表
  16. 阶段02JavaWeb基础day04mysql
  17. 让ADO.NET Entity Framework支持Oracle数据库
  18. 开源性能测试工具Locust使用篇(三)
  19. elasticsearch 外网访问9200端口访问
  20. React Native - TextInput详细解说

热门文章

  1. Thunder DLL Hijacking
  2. TCP 才不傻!
  3. 关于Tomcat服务器的笔记
  4. 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决
  5. WPF自定义控件一:StackPanel 控件轮播
  6. Golang语言系列-15-数据库
  7. Python Flask API实现方法-测试开发【提测平台】阶段小结(一)
  8. 003 PCI Express体系结构(三)
  9. 001 七层OSI参考模型
  10. Spring系列之HikariCP连接池