CentOS7 搭建内网NTP授时服务

一、NTP规划

  NTP(Network Time Protocol)时间服务器,可用于服务器之间的时间同步,使时间保持一致,对于一些对时间一致性要求高的服务(集群)很适用。

  在这里,主要是针对无网络的情况下,要求服务器之间时间一致。

  主机规划:

    服务端 ntpSer:10.12.42.220

    客户端 ntpClient:10.12.42.221

 

二、服务端安装

   1、yum进行ntp的安装:

yum -y install ntp ntpdate

  2、执行同步命令:

ntpdate time1.aliyun.com

  3、查看当前系统时间:

date

  这样我们NTP服务器的时间就通过阿里提供的时间服务器进行了时间的校准工作。

 

三、系统配置

  NTP服务器默认是会使用 UDP 的 123 端口的,所以我们的第一步就是开放123端口,命令如下:

firewall-cmd --permanent --zone=public --add-port=123/udp
firewall-cmd --reload

  接下来就是去修改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

  你去看其他的文章,会让你修改很多东西,其实完全没有必要,只要修改上边这两部分就可以了。

  CentOS7 默认通过chronyd服务实现时钟同步,我们需要关闭chronyd服务并使其开机不自启,同时启动ntpd并将其加入开机自启:

#如果有 chronyd 服务则执行
systemctl stop chronyd
systemctl disable chronyd

#启动ntpd,加入自启动
systemctl enable ntpd
systemctl start ntpd

  到这里其实我们的时间服务器就搭建完成了。

 

四、客户端

  现在我们只要在B服务器上执行下边的命令就可以进行时间同步了。

  ntpdate NTP服务器地址

  实际的情况,我们不应该去手动执行时间同步命令,应该设置一个定时任务,每隔多长时间就自动去进行一次时间校对工作。

#安装ntp客户端
yum -y install ntpdate

#安装定时任务依赖
yum install crontabs

#设置为可用状态并启动
systemctl enable crond
systemctl start crond

#配置文件
vi /etc/crontab

  进入定时任务的vim界面,在其中设置定时任务执行同步时间的命令就可以了,比如下边的内容,就是每隔1天执行一次同步命令:

#每小时执行一次
0 0 */1 * * ntpdate 10.12.42.220

  保存以上内容,

#立即生效
crontab /etc/crontab

注:如果在生效命令执行时,出现以下错误:

premature EOF errors in crontab file, can"t install.

则在文件末尾多打一个回车就可以了。

网上有说多打一个空格,那是个坑。

 

注:文强哥出品,祝各位使用愉快!

posted @ 2023-04-04 17:57  Java365  阅读(413)  评论(0编辑  收藏  举报