怎样开启linux系统下的ntp同步请求?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样开启linux系统下的ntp同步请求?相关的知识,希望对你有一定的参考价值。

Linux 系统安装配置NTP时间服务器。

一、关于NTP时间服务器:

    NTP(The Network Time Protocol) 是网络时间协议,用以同步网络内计算机的时间。 它通过udp包交换,用特定算法进行协商,从而把计算机上的时间与时间服务器上的时间保持一致。通过互联网它支持的误差是10毫秒,局域网则可以达到200微秒。

    NTP时间服务器分为多层,从0层到4层,每层依次与上一次服务器同步,最高层的服务器则直接连接一个高精度的时钟设备,比如原子钟、GPS或者电波时等。

    怎样安装NTP Server:

    Linux系统内核提供了对NTP的支持,因此只需要再安装一个NTP Server的守护进程即可。常用的ntpd由ntp.org提供。

二、怎么确认linux系统有没有开启ntp服务?

service ntpd status  查看此服务有没有运行,设置:图形化界面--左上角时间---点击就可以知道。

参考技术A Linux
系统安装配置NTP时间服务器
NTP(The
Network
Time
Protocol)
是网络时间协议,用以同步网络内计算机的时间。
它通过udp包交换,用特定算法进行协商,从而把计算机上的时间与时间服务器上的
时间保持一致。通过互联网它支持的误差是10毫秒,局域网则可以达到200微秒。
NTP时间服务器分为多层,从0层到4层,每层依次与上一次服务器同步,最高层的服务器
则直接连接一个高精度的时钟设备,比如原子钟、GPS或者电波时等。
自己搭建时间服务器需要指定一个上层的时间服务器,然后它可以向局域网内的其它机器
提供同步服务。
详细信息可以见:
http://en.wikipedia.org/wiki/Network_Time_Protocol
安装NTP
Server
Linux系统内核提供了对NTP的支持,因此只需要再安装一个NTP
Server的守护进程即可。
常用的ntpd由ntp.org提供。
下载安装ntpd的稳定版本。目前是ntp-4.2.6p3.
http://www.ntp.org/downloads.html
示范脚本::
wget
http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p3.tar.gz
tar
zxf
ntp-4.2.6p3.tar.gz
mkdir
/app/ntp
cd
ntp-4.2.6p3
./configure
--prefix=/app/ntp
--enable-all-clocks
--enable-parse-clocks
make
clean
&&
make
check
&&
make
&&
make
intall
注意:/app/ntp为ntpd的安装后文件路径
配置
1.
配置文件位置为::
/etc/ntp.conf
2.
修改配置允许局域网内机器与该服务器进行时间同步。
将下面语句::
restrict
default
kod
nomodify
notrap
nopeer
noquery
修改为::
restrict
default
nomodify
3.
修改上一层的时间服务器。
ntp.org现在提供NTP
POOL
PROJECT,即ntp
服务器池项目。在中国区域,配置如下即可::
server
0.cn.pool.ntp.org
server
0.asia.pool.ntp.org
server
2.asia.pool.ntp.org
其中0.cn
是中国服务器池,后面两个是亚洲的服务器池。
最新列表见:
http://www.pool.ntp.org/zone/cn
启动
NTP
服务器
进入ntpd安装后的路径,如/app/ntd,
启动参数如下::
./ntpd
-c
/etc/ntp.conf
-p
/tmp/ntpd.pid
-l
/app/ntp/log/ntp.log
注意启动后需要等几分钟,否则其它机器来同步时会得到
no
server
suitable
for
synchronization
found
的错误。
Linux客户端机器配置
客户端机器使用ntpdate
程序来执行同步。
格式如下::
ntpdate
ntp-server-ip
如果需要配置计划任务,命令如下::
#
查看是否已经添加时间同步的计划任务
cat
/etc/crontab
#
如果没有则添加下列行,每30分钟同步一次:
echo
'*/30
*
*
*
*
root
/usr/sbin/ntpdate
10.20.219.43'
>>
/etc/crontab
#
将计划任务设为自动,默认是启动的【可选】
chkconfig
crond
on
#
启动计划任务服务
service
crond
restart
#
有些机器需要设置时区为中国
cp
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime

Linux系统下的Chrony时间同步

Chrony是一个开源的自由软件,它能够让linux系统时间和时间(NTP)服务器同步,让时间始终保持同步

NTP的缺点在于如果修改时间到10年前,那么NTP服务就蒙圈了,但是Chrony不会出现这种问题

环境准备

主机名 IP地址 描述
linux-node1 172.16.1.170 Chrony服务端
Linux-node2 172.16.1.171 Chrony客户端

NTP同步原理图(以阿里云NTP服务为例):
技术图片

1.Cheony服务端

#1.使用前关闭ntp服务
[[email protected] ~]# systemctl stop ntpd.service
[[email protected] ~]# systemctl disable ntpd.service

#2.安装cheony服务
[[email protected] ~]# yum install chrony -y

#3.修改chrony配置文件参数(添加的是阿里云NTP服务器的域名)
#删除自带的默认ntp服务器,修改为如下ntp服务器地址,并且设置允许访问改服务器的NTP服务的地址段
[[email protected] ~]# vim /etc/chrony.conf
....
server ntp1.aliyun.com iburst 
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst

allow 172.16.1.0/24 #只允许172.16.1.0/24网段访问本机NTP服务
....

#4.启动chrony服务,并加入开机自启动
[[email protected] ~]# systemctl start chronyd.service
[[email protected] ~]#  systemctl enable chronyd.service

2.Cheony客户端同步

#1.安装ntpdate
[[email protected] ~]# yum install ntpdate -y

#2.使用ntpdate 指定ntp服务器的IP地址进行时间的同步
[[email protected] ~]# ntpdate 172.16.1.170
10 Feb 21:53:10 ntpdate[1665]: adjust time server 172.16.1.170 offset 0.005899 sec  # 出现该提示说明时间同步成功

#3.将NTP同步加入到定时任务,每五分钟同步一次
[[email protected] ~]# crontab -e
##NTP sync to linux-node1
*/5 * * * * /usr/sbin/ntpdate 172.16.1.170 &>/dev/null 2>&1

#4.将系统时间乱改
[[email protected] ~]# date -s "2018/11/11"
Sun Nov 11 00:00:00 CST 2018

#5.五分钟后系统时间被同步回正常的时间
[[email protected] ~]# date
Sun Feb 10 22:04:26 CST 2019

以上是关于怎样开启linux系统下的ntp同步请求?的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统下的Chrony时间同步

阿里云ECS集群服务器时间同步解决方案

怎样彻底解决Linux系统时间不能同步问题.(系统经常出现一个月时间就快十分钟左右)

Linux下的NTP服务搭建

linux硬件时间与系统时间同步

CentOS6.5下的时间同步ntpdate安装