什么是NTP服务器?
NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。按照离外部UTC源的远近把所有服务器归入不同的Stratum(层)中。
NTP服务器环境说明
操作系统: CentOS 7
服务端:172.30.93.120
客户端:172.30.93.121
查看系统时间
[root@Mike-Node1 ~]# date ###系统时间 Tue Jan 5 10:41:35 CST 2021 [root@Mike-Node1 ~]# hwclock ###硬件时间 Tue 05 Jan 2021 10:41:47 AM CST -0.059461 seconds
注意:若发现时间和时区不对(正确的时区应为 CST),需要进行如下修改
[root@Mike-Node1 ~]# vim /etc/sysconfig/clock ZONE="Asia/Shanghai" UTC=true ARC=false [root@Mike-Node1 ~]# [root@Mike-Node1 ~]# cp -a /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@Mike-Node1 ~]# date
安装NTP应用
服务端 和 客户端 都需要执行
[root@Mike-Node1 ~]# yum -y install ntp
检查国家时间服务器
国家对时服务器可以使用下面3个
1.cn.pool.ntp.org 2.cn.pool.ntp.org ch.pool.ntp.org
依次测试上面3个时间服务器,正确结果如下
[root@Mike-Node1 ~]# ntpdate -q 1.cn.pool.ntp.org server 119.28.183.184, stratum 2, offset -0.063105, delay 0.22446 server 193.182.111.142, stratum 2, offset -0.005351, delay 0.26071 server 202.118.1.130, stratum 2, offset 0.000117, delay 0.07787 server 162.159.200.123, stratum 3, offset 0.004763, delay 0.26079 5 Jan 10:45:47 ntpdate[4582]: adjust time server 202.118.1.130 offset 0.000117 sec [root@Mike-Node1 ~]# ntpdate -q 2.cn.pool.ntp.org server 162.159.200.123, stratum 3, offset 0.002722, delay 0.26163 server 78.46.102.180, stratum 3, offset -0.000822, delay 0.28987 server 84.16.73.33, stratum 1, offset 0.014546, delay 0.26744 server 193.182.111.14, stratum 2, offset 0.000415, delay 0.26688 5 Jan 10:46:35 ntpdate[4599]: adjust time server 84.16.73.33 offset 0.014546 sec [root@Mike-Node1 ~]# ntpdate -q ch.pool.ntp.org server 192.33.96.102, stratum 1, offset 0.013037, delay 0.26088 server 195.186.1.101, stratum 2, offset 0.006517, delay 0.26398 server 185.17.70.106, stratum 2, offset 0.024530, delay 0.28456 server 130.60.204.10, stratum 2, offset 0.009264, delay 0.26593 5 Jan 10:46:52 ntpdate[4648]: adjust time server 192.33.96.102 offset 0.013037 sec [root@Mike-Node1 ~]#
核对当前时间
[root@Mike-Node1 ~]# ntpdate 1.cn.pool.ntp.org 5 Jan 10:50:25 ntpdate[4665]: adjust time server 84.16.67.12 offset 0.008677 sec [root@Mike-Node1 ~]# date Tue Jan 5 10:50:29 CST 2021
服务端修改配置文件
[root@Mike-Node1 ~]# vim /etc/ntp.conf driftfile /var/lib/ntp/drift pidfile /var/run/ntpd.pid logfile /var/log/ntp.log # Access Control Support restrict default kod nomodify notrap nopeer noquery ##服务默认拒绝所有NTP连线 restrict -6 default kod nomodify notrap nopeer noquery ##拒绝IPV6所有NTP连线 restrict 127.0.0.1 restrict -6 ::1 ##表示允许本机访问 ##允许172.30.93.0/24 网段的主机来进行对时,不允许客户端来修改,登录ntp服务器 restrict 172.30.93.0 mask 255.255.255.0 nomodify notrap # local clock server 1.cn.pool.ntp.org prefer ##prefer优先使用 server 2.cn.pool.ntp.org server ch.pool.ntp.org [root@Mike-Node1 ~]#
同步更新硬件时间
[root@Mike-Node1 ~]# vim /etc/sysconfig/ntpd # Command line options for ntpd OPTIONS="-g" SYNC_HWCLOCK=yes [root@Mike-Node1 ~]#
启动NTP服务
[root@Mike-Node1 ~]# systemctl start ntpd [root@Mike-Node1 ~]# systemctl enable ntpd Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service. [root@Mike-Node1 ~]#
查看时间服务器连接状态
[root@Mike-Node1 ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp8.flashdance 194.58.202.20 2 u 170 64 334 260.525 -41.485 29.777 +ntp1.ams1.nl.le 130.133.1.10 2 u 98 64 122 208.596 -13.352 52.033 +ntp0.as34288.ne 85.158.27.31 2 u 36 64 377 203.690 -41.981 14.787 [root@Mike-Node1 ~]#
注意:*表示目前正在使用的NTP服务器,+表示已连线,可提供时间更新的候补服务器
确认时间同步
显示下面时间需要好几分钟,需要耐心等待
[root@Mike-Node1 ~]# ntpstat synchronised to NTP server (193.182.111.143) at stratum 3 time correct to within 266 ms polling server every 64 s [root@Mike-Node1 ~]#
客户端配置
[root@Mike-Node2 ~]# ntpdate 172.30.93.120 5 Jan 11:08:41 ntpdate[13792]: step time server 172.30.93.120 offset -16670.517336 sec [root@Mike-Node2 ~]# date Tue Jan 5 11:08:44 CST 2021 [root@Mike-Node2 ~]#
加入计划任务
每天凌晨两点更新同步服务端时间
[root@Mike-Node2 ~]# crontab -e 0 2 * * * /usr/sbin/ntpdate 172.30.93.120 [root@Mike-Node2 ~]# [root@Mike-Node2 ~]# systemctl enable crond [root@Mike-Node2 ~]# systemctl restart crond [root@Mike-Node2 ~]#
本文分享完毕,感谢支持点赞~~