Linux下的时间同步-----NTP服务搭建

NTP协议

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

NTP服务器可以使局域网中主机的时间同步,应用于对实时性要求非常高的环境中。

需求

联网的服务器搭建NTP服务,其余两台局域网服务器通过NTP服务器实现时间同步。

环境:
NTP服务器两块网卡,因此两个地址:192.168.254.129,192.168.1.125
客户端:与NTP服务器局域网地址能通信

NTP服务安装

服务采用C/S模式,运行时监听UDP的123端口。

服务安装程序有两个,分别是ntp(服务器端)和ntpdate(客户端)。除最小化安装系统外,ntp程序默认已经安装到系统中。

yum install -y ntp ntpdate

配置文件位于:/etc/ntp.conf,在编辑之前,可以对其做一下备份

cp /etc/ntp.conf /etc/ntp.conf.bak

服务控制使用systemctl即可,start启动,stop关闭等等。

systemctl start ntpd

查看端口是否存在

netstat -anpu4 | grep 123
udp        0      0 192.168.122.1:123       0.0.0.0:*                           4711/ntpd
udp        0      0 192.168.254.128:123     0.0.0.0:*                           4711/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           4711/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           4711/ntpd

NTP服务器搭建

ntp.conf配置文件说明

配置项 作用
notrust 不接受没有经过认证的客户端的请求
ignore 忽略所有类型的NTP连接请求
noquery 不提供NTP网络校时服务
nomodify 限制客户端不能使用命令ntpc和ntpq来修改服务器端的时间
notrap 不接受远程登录请求
fudge 设置时间服务器的层级
server 指定其他NTP服务器的地址
restrict 允许上层时间服务器修改本机时间

将过滤后的配置文件覆盖源文件

grep -v '^$' /etc/ntp.conf | grep -v '^#' > ntp.conf
cat ntp.conf > /etc/ntp.conf

接下来,开始对配置文件进行修改,通过http://www.ntp.org.cn/pool.phphttps://www.ntppool.org/zone/cn来指定中国权威NTP服务器域名。

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery	#禁止远程主机修改本机
restrict 127.0.0.1	#允许本机修改时间
restrict ::1
server 0.cn.pool.ntp.org	#四个均为权威NTP服务器域名
server 1.cn.pool.ntp.org	
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
server 127.127.1.0			#权威NTP不可用时,本机时间作为时间服务
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

之后将服务暂时关闭,将时间修改为错误时间,然后通过ntpdate命令同步权威NTP服务器,因为本机是服务器端,不将其服务关闭无法使用客户端工具进行时间同步。

命令语法:ntpdate 域名或IP

date -s '2020-1-1 5:55:55'
20200101日 星期三 05:55:55 CST
systemctl stop ntpd

现在已经将本机时间修改为错误时间了,然后通过ntpdate命令进行时间同步,同步的服务器为配置文件中权威服务器任意一个即可。

ntpdate 3.cn.pool.ntp.org
4 May 13:47:44 ntpdate[5925]: adjust time server 94.130.49.186 offset 0.017917 sec
date
20200504日 星期一 13:49:11 CST

同步完成后,时间恢复正确,之后把NTP服务启动

systemctl start ntpd

客户端测试

局域网测试机进行时间同步,若没有ntpdate命令,安装一下ntpdate即可。

date -s '2000-1-1 4:44:44'
20000101日 星期六 04:44:44 CST
ntpdate 192.168.1.125
4 May 14:02:44 ntpdate[2864]: step time server 192.168.1.125 offset 641899072.284345 sec
date
20200504日 星期一 14:03:02 CST

以上NTP时间同步服务器搭建完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章