CentOS7使用NTP搭建时间同步服务器
前言
为什么要搭建时间同步服务器呢?场景是这样的。
我们有两台CentOS服务器,其中一台是可以连接外网的,下文中我们称它为A服务器,另一台不能连接外网,但是与A服务器在同一局域网中,下文中我们称它为服务器B。
现在我们需要将A服务器的时间进行网络校准,这部分操作还是比较容易的,按照下面的步骤操作即可。
1、yum进行ntp的安装:
yum -y install ntp
2、执行同步命令:
ntpdate time1.aliyun.com
3、查看当前系统时间:
date
这样我们A服务器的时间就通过阿里提供的时间服务器进行了时间的校准工作。
那么问题来了,我们的B服务器也是需要校准时间的,但又没有外网,所以无法使用相同的步骤来进行时间同步,所以王子就想到了在A服务器上搭建时间同步服务器,B服务器通过A服务器进行时间校准工作。
接下来就是去网上查阅资料实现了,但是网络上大部分人的文章写的都很不完善,导致实践出现了各种问题。
本文就是为了记录下正确的搭建流程而编写的,相信会对小伙伴们有所帮助。
时间服务器搭建流程
首先我们要清楚,NTP服务器默认是会使用udp的123端口的,所以我们的第一步就是开放123端口,命令如下:
firewall-cmd --permanent --zone=public --add-port=123/udp
增加端口后当然要重新加载防火墙,让配置生效了
firewall-cmd --state
当然,如果小伙伴们用不到防火墙,直接关闭防火墙即可。
Centos7默认通过chronyd服务实现时钟同步,我们需要关闭chronyd服务并使其开机不自启,同时启动ntpd并将其加入开机自启:
systemctl stop chronyd
systemctl disable chronyd
systemctl enable ntpd
systemctl start ntpd
接下来就是去修改ntp的配置文件了:
vi /etc/ntp.conf
这个配置文件中的内容我们主要修改如下内容:
#1 把下边这行注释掉 # restrict default nomodify notrap nopeer noquery #2 删除掉原有的4行server,增加下边的两行,127.127.1.0代表把本机作为时间服务器 server 127.127.1.0 fudge 127.127.1.0 stratum 10
你去看其他的文章,会让你修改很多东西,其实完全没有必要,只要修改上边这两部分就可以了。
修改后重新启动NTP服务即可。
systemctl restart ntpd
到这里其实我们的时间服务器就搭建完成了,现在我们只要在B服务器上执行下边的命令就可以进行时间同步了。
ntpdate A服务器的IP地址
写在后边
实际的情况,我们不应该去手动执行时间同步命令,应该设置一个定时任务,每隔多长时间就自动去进行一次时间校对工作。
我们可以直接执行如下命令:
crontab -e
进入定时任务的vim界面,在其中设置定时任务执行同步时间的命令就可以了,比如下边的内容,就是每隔1个小时执行一次同步命令:
0 */1 * * * ntpdate 192.160.99.201
保存后,可以通过下边的命令查看已经存在的任务:
crontab -l
往期文章推荐: