首页 > 其他 > 详细

95、配置ntp服务器

时间:2020-02-16 01:18:43      阅读:71      评论:0      收藏:0      [点我收藏+]


95.1、ntp简介:

ntp服务使用的是udp的123端口,如果开启了防火墙要记得放开这个端口;

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,

其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。NTP服务器就是利用NTP协议提供时间同步服务的。

95.2、硬件时钟:RTC

在主板上的电池中存储,linux启动时根据硬件时钟改变软件时钟;

[root@m01 ~]# hwclock -s #将硬件时钟同步到软件时钟上

[root@m01 ~]# hwclock -w #将软件时钟同步上硬件时钟上

[root@m01 etc]# hwclock --show #显示硬件的时间

95.3、软件时钟:

system clock系统的时钟;

时区不对时会影响ntp时间服务器的同步;

[root@localhost ~]# \cp -a /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#设置系统的时区,将/usr/share/zoneinfo/ 中相应文件拷贝到/etc下并重命名为 localtime 即可修改时区设置,这种修改对 date 命令是即时生效的;

[root@localhost ~]# cat /etc/timezone #查看时区或date -R;

95.4、服务器端:

95.4.1、安装ntp服务软件(系统是自带ntp服务的):

[root@m01 ~]# rpm -qa ntp

ntp-4.2.6p5-12.el6.centos.2.x86_64

95.4.2、如果没有用yum进行安装:

[root@m01 ~]# yum install ntp -y

95.4.3、配置ntp服务:

[root@m01 etc]# egrep -v "^$|#" /etc/ntp.conf

driftfile /var/lib/ntp/drift #ntp时间误差调节

#restrict default kod nomodify notrap nopeer noquery #拒绝ipv4客户端的所有访问

#restrict -6 default kod nomodify notrap nopeer noquery #拒绝ipv6客户端的所有访问

restrict 127.0.0.1 #允许本地服务器的一切访问,包括修改本地的时间参数 ipv4

restrict -6 ::1 #允许本地服务器的一切访问,包括修改本地的时间参数 ipv6

###########################################################

#允许局域网特定网段的client连接到这台服务器同步时间.但是拒绝让他们修改服务

#器上的时间,和trap登陆;

###########################################################

restrict 172.16.1.0 mask 255.255.255.0 nomodify notrap

###########################################################

#扩展:

# restrict IP地址 mask 子网掩码 参数

#其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP

#参数有以下几个:

#ignore:拒绝连接到NTP服务器

#nomodiy: 客户端不能更改服务端的时间参数

#noquery: 不提供客户端的时间查询,即时间校时

#notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。

#notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。

#nopeer: 提供时间服务,但不作为对等体。

#kod: 向不安全的访问者发送Kiss-Of-Death报文。 KOD是NTPv4提出的一种全新的访问控制技术,

#主要用于服务器向客户端上提供状态报告和接入控制等信息。在服务器上使能KOD功能后,

#服务器会根据系统的运行状态向客户端发送DENY Kiss和RATE Kiss码。

# 注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

#############################################################

#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 #添加可以使用的ntp时间服务器,阿里,国家授时中心

server ntp.ntsc.ac.cn

server ntp.aliyun.com

# local clock ,如果上面的服务器都无法同步时间,就和本地系统时间同步,127.127.1.0在这里是一个IP.

server 127.127.1.0

##########################################################

#以本地时间作为时间服务127.127.1.0为第10层,ntp 和127.127.1.0同步完后,

#就变成了11层,ntp是层次阶级的。同步上层服务器的stratum大小不能超过或等于16。

##########################################################

fudge 127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

[root@m01 ~]# crontab -e #如果本地的定时任务中有时间同步,需要注释掉,不然会起冲突:

#*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1

[root@m01 etc]# vim /etc/sysconfig/ntpd #NTP一般只会同步系统时间. 如果我们也要同步硬件时间,只要加入下面一段配置即可;

SYNC_HWCLOCK=yes

[root@m01 etc]# ntpdate ntp1.aliyun.com #先和网络上的ntp服务器进行时间同步,保持现有时间的准确性,后期如果想要用该法需要停止ntpd;

[root@m01 etc]# hwclock -w #同步系统的时间到硬件的时间上

[root@m01 ~]# /etc/init.d/ntpd start

正在启动 ntpd: [确定]

[root@m01 ~]# /etc/init.d/ntpd status

ntpd (pid 1955) 正在运行...

[root@m01 ~]# chkconfig --list ntpd

ntpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

[root@m01 ~]# chkconfig ntpd on

[root@m01 ~]# chkconfig --list ntpd

ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[root@m01 ~]# ntpq -p #查看网络中的NTP服务器,同时显示客户端和每个服务器的关系

remote refid st t when poll reach delay offset jitter

==============================================================================

*120.25.115.20 10.137.53.7 2 u 48 64 77 27.600 4272.08 572.131

+114.118.7.161 123.139.33.3 2 u 46 64 77 25.274 4581.25 733.887

LOCAL(0) .LOCL. 10 l 120 64 76 0.000 0.000 0.000

参数说明:

* #响应的NTP服务器和最精确的服务器;

+#响应这个查询请求的NTP服务器;

空白:没有响应的NTP服务器;

remote: 本地机器所连接的远程NTP服务器;

refid: 给远程服务器提供时间同步的服务器;

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

为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的;

when: 上一次成功请求之后到现在的秒数;

poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了;

可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小;

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

delay: 从本地机发送同步要求到ntp服务器的往返时间;

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

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

[root@m01 ~]# ntpstat #查看时间同步状态,一般需要5-10分钟才能成功连接和同步;

unsynchronised

time server re-starting

polling server every 8 s

[root@m01 etc]# ntpstat #利用此方法可以得知ntp服务器在起作用

synchronised to NTP server (120.25.115.20) at stratum 3 #本NTP服务器层次为3,已向120.25.115.20 NTP同步过

time correct to within 5067 ms #时间校正到相差5067ms之内

polling server every 64 s #每64秒会向上级NTP轮询更新一次时间

95.5、客户端:

[root@lb01 ~]# ntpdate 172.16.1.61

6 Dec 16:13:07 ntpdate[8731]: adjust time server 172.16.1.61 offset -0.000021 sec

[root@m01 ~]# crontab -e #写入到客户端中的定时任务中

*/15 * * * * /usr/sbin/ntpdate 172.16.1.61 >/dev/null 2>&1 && hwclock -w #每15分钟会更新本地的时间并同时更新硬件的时钟;

95.6、注意事项:

要注意的是,ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行. 所以新设置的时间服务器一定要先ntpdate从上源取得时间初值,

然后启动ntpd服务。ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小,

逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程。

ntp服务器和客户端的时区必须要设置好,以确保不会更新成其它时区的时间;

LINUX的NTP服务器必须记得将从上级NTP更新的时间从系统时间写到硬件里去 hwclock -s;

NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了:

vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

95、配置ntp服务器

原文:https://www.cnblogs.com/LiuChang-blog/p/12315166.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!