centos NTP服务器配置总结

简介:

  Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

 

中国大概能用的NTP服务器地址 http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server

133.100.11.8 prefer 
210.72.145.44 
203.117.180.36 
131.107.1.10 
time.asia.apple.com 
64.236.96.53 
130.149.17.21 
66.92.68.246 
www.freebsd.org
18.145.0.30 
clock.via.net 
137.92.140.80 
133.100.9.2 
128.118.46.3 
ntp.nasa.gov 
129.7.1.66ntp-sop.inria.frserver 210.72.145.44(中国国家授时中心服务器IP地址) 
ntp.sjtu.edu.cn (上海交通大学网络中心NTP服务器地址)202.120.2.101 (上海交通大学网络中心NTP服务器地址)

 

1.确认是否安装NTP软件包如果没有请使用yum -y install ntp来安装。

[root@localhost ~]# rpm -qa|grep ntp
ntpdate-4.2.4p8-3.el6.centos.i686
ntp-4.2.4p8-3.el6.centos.i686

 

2.NTP配置文件

运行一个NTP Server不需要占用很多的系统资源,所以也不用专门配置独立的服务器,就可以给许多client提供时间同步服务, 但是一些基本的安全设置还是很有必要的
那么这里一个很简单的思路就是第一我们只允许局域网内一部分的用户连接到我们的服务器. 第二个就是这些client不能修改我们服务器上的时间

关于权限设定部分 
权限的设定主要以 restrict 这个参数来设定,主要的语法为: 
restrict IP地址 mask 子网掩码 参数 
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP 
参数有以下几个: 
ignore :关闭所有的 NTP 联机服务 
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 
noquery :不提供客户端的时间查询 
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

在/etc/ntp.conf文件中我们可以用restrict关键字来配置上面的要求


[root@localhost ~]# cat /etc/ntp.conf //查看ntp.conf配置文件如下:

 

restrict default kod nomodify notrap nopeer noquery //首先我们对于默认的client拒绝所有的操作


restrict default ignore //设置默认策略为允许任何主机进行时间同步


restrict 127.0.0.1 //然后允许本机地址一切的操作

restrict 192.168.200.0 mask 255.255.255.0 //最后我们允许局域网内所有client连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间


restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap //允许任何主机跟进行时间同步


restrict 202.120.2.101 //允许202.120.2.101主机跟进行时间同步


server cn.pool.ntp.org prefer //设置此服务器同上层服务器做时间同步的IP地址,prefer意味着首选IP地址

 

server 202.120.2.101 //设置上层服务器做同步ip地址

 

#server 127.127.1.0 //local地址

 

fudge 127.127.1.1 stratum 10 //这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0

 

driftfile /etc/ntp/drift //记录上次的NTP server与上层NTP server联接所花费的时间

 

statsdir /var/log/ntp/ //设置ntp日志的path


logfile /var/log/ntp/ntp.log //设置ntp日志文件

系统默认去掉#号配置/etc/ntp.conf如下:
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 202.120.2.101 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys


3.NTP server的维护

----添加为服务
 chkconfig --level 345 ntpd on 

----启动
 service ntpd start
 或
 /etc/rc.d/init.d/ntpd start
----停止
 service ntpd stop
 或
 /etc/rc.d/init.d/ntpd stop
----管理命令
 ntpq –p     #查看本机和上层服务器的时间同步结果
 ntptrace     #可以用來追踪某台时间服务器的时间对应关系
 ntpdate IP   #客户端要和NTP server进行时钟同步。
 /var/log/ntp/ntp.log  #查看ntp日志
 ntpstat      # 也可以查看一些同步状态
 watch ntpq -p #监测服务器的运行查NTP源

 

[root@localhost ~]# watch ntpq -p //监测服务器的运行查NTP源
Every 2.0s: ntpq -p                                     Sun Dec  2 00:05:31 2012

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 dns.sjtu.edu.cn 202.112.31.197   3 u    4   64   77   14.668  1907019 8528448
 dns2.synet.edu. .INIT.          16 u    -   64    0    0.000    0.000   0.000

现在我就来解释一下其中的含义

  remote: 它指的就是本地机器所连接的远程NTP服务器


  refid: 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器


  st: 远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.


   t: 这个.....我也不知道啥意思^_^


   when: 我个人把它理解为一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步


   poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小


  reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加


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


  offset: 这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近


     jitter: 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确


4.配置客户端


1.LINUX客户端: (局域网内对时间有要求的机器)
 echo “00 */1 * * * root /usr/sbin/ntpdate 192.168.200.240;/sbin/hwclock -w”>>/etc/crontab
 每小时同NTP server进行一次时钟同步,并写入本机BIOS



本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/1244772,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
|
10月前
|
CentOS7换yum源
CentOS是Linux系统里最常用的一种,CentOS7的yum源默认是国外的源,相较于国内源,网络连接不够稳定,下载速度较慢,因此我们常常把下载好的CentOS7换源为国内的yum源,本篇文章将介绍如何更换CentOS7的yum源为国内yum源,以阿里云的源为例。
2416 1
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
220304 0
集成nacos,使用钉钉发送服务下线告警
我们在集成微服务框架的时候,涉及服务太多,如果是单节点的话,遇到凌晨服务挂起的问题会很麻烦。并且原生的监控也不是很理想。这里结合nacos,再通过钉钉来发送服务下线告警,这样可在第一时间确定服务异常并及时处理。
616 0
解决 kali换源之后签名无效
解决 kali换源之后签名无效
494 0
是时候废除“网络君主制”啦?认识 Usenet ~
于是乎,作者提出这样的设想:我们可以选举“社区管理员”,不仅如此,还可以进一步获取“社区资源”(比如数据库等等);当我们不满意当前的管理时,可以基于社区目前的状态再分割出一个新社区,这有点像 git 分支管理中再拉取一个分支一样。
Alpine Docker 安装 bash
Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。
5669 0
这些年背过的面试题——架构设计篇
对技术人来说,面试成功的道路只有一条,就是好好准备技术基础。本文是面试系列文章架构设计篇,作者把自己的八股文和一些经验总结汇总在一起,供大家参考。
MySQL常见DDL语法:掌握数据库定义语言的基础知识
作为最受欢迎和广泛使用的关系型数据库之一,MySQL提供了丰富的DDL(数据定义语言)语法,用于创建、修改和删除数据库、表和其他数据库对象。在本文中,我们将介绍MySQL中一些常见的DDL语法,帮助您掌握数据库定义语言的基础知识。以下是一些常用的 MySQL DDL(Data Definition Language)语句,用于定义和管理数据库对象(如表、索引、视图等):
1020 0
MySQL常见DDL语法:掌握数据库定义语言的基础知识

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等