NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。
它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止病毒的协议攻击。
---来自百度百科
#查看ntp版本
rpm -qa ntp
#安装ntp
yum –y install ntp
#备份配置文件
cp /etc/ntp.conf /etc/ntp.conf.bak
#精简优化配置文件
egrep -v "^$|#" /etc/ntp.conf.bak >/etc/ntp.conf
#修改配置文件,以下为全部修改过的
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server ntp.api.bz prefer #prefer表示优先,ntp上层服务器地址
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap #允许该网段的主机
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap restrict default #default表示全部IP
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
systemctl start ntpd
systemctl entable ntpd
#查看端口,默认为123端口
ss -lntup|grep ntp
现在 ntp 服务器已经启动了,不过与上层服务器连接则还需要一些时间,通常启动 NTP 后在 15 分钟内才会和上层 NTP 服务器顺利连接上。可以使用以下几个命令查看确定已经与 ntp 服务器更新时间。
ntpstat
synchronised to NTP server (17.253.84.251) at stratum 2
time correct to within 944 ms
polling server every 64 s
ntpq -p命令可以列出当前我们的NTP服务器与上层NTP服务器的连接状态:
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*hkhkg1-ntp-004. .SHM. 1 u 39 64 33 0.911 -1.659 1.228
#192.168.1.244为服务端内网IP
yum -y install ntpdate
ntpdate 192.168.1.244
14 Jun 20:21:53 ntpdate[13775]: adjust time server 192.168.1.244 offset -0.003766 sec
#设置定时任务定时同步服务端时间
crontab -l
#crond-id-001:time sync by dsf
*/30 * * * * /usr/sbin/ntpdate 192.168.1.244 >/dev/null 2>&1