CentOS NTP 时间同步服务安装和局域网同步

原创 ntpcentos

NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正。

环境

本例共用 3 台服务器做测试,1台做为 NTP 服务器,两台作为 NTP 的客户端。两台客户端的时间与 NTP 服务的时间保持同步。

搭建的时候使用的是 CentOS 7,实际上 CentOS 6 也没有问题,系统本身的操作命令不同,和 NTP 服务没有关系,其它发行版可能略有区别,未测试。

三台服务我做了 host 映射。

vim /etc/hosts

# 添加 
192.190.20.13    hd-node1
192.190.20.14    hd-node2
192.190.20.15    hd-node3

hd-node1 作为 NTP 服务节点。

防火墙

NTP 服务默认走 UDP 协议,使用 123 端口,如果启动防火墙的话,会导致时间同步失败。

暂时先直接关闭防火墙。

# 关闭
systemctl stop firewalld
# 设置开机不启动
systemctl disable firewalld

CentOS 6 下面使用 servicechkconfig 来实现这个操作(下面的操作不再做区分演示)。

# 关闭防火墙
service iptables stop
# 关闭开机启动
chkconfig iptables off

安装 NTP

首先可以使用 rpm -qa | grep ntp 查询一下是否安装了 NTP,没有的话就先安装。

yum install ntp

配置 hd-node1 的 ntp 服务

这里的配置,在考虑使用场景上来说,有两种。

一种是服务器可以访问公网,时间可以从公网上的时间服务器获取,然后提供给局域网内不能访问公网的主机同步时间。

另外一种是服务器不可以访问公网,只是为了统一局域网内的所有主机时间,我的情况就是这种,因为在局域网内不能访问公网,并且需要同步集群时间。

我们两种都讲一下,区别不大,但是会让新手感到困惑。

CentOS 下 ntp 的配置文件是 /etc/ntp.conf

服务器可以访问公网

vim /etc/ntp.conf

删除默认的同步 centos 的时间服务,那个服务在国内不能访问或者延迟太高,同步不了,我们换成国内可以访问的时间同步服务。

# 检测的时间服务器地址
server ntp1.aliyun.com

# 允许时间服务器修改本机时间
restrict ntp1.aliyun.com nomodify notrap noquery
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

国内除了阿里,还有很多大学的时间同步服务,都可以使用。

重新启动 hd-node1 的 ntp 服务。

systemctl restart ntpd

查看当前 ntp 服务运行状态。

ntpq -p

服务器不能访问公网

如果主服务器不能访问公网,我们让它和自己同步,时间可以直接用 date -s 来手动重新设定。

注释掉默认的公网 server 配置。

server 127.127.1.0
fudge 127.127.1.0 stratum 10

默认的配置文件里这两个是被注释掉的。把自己的时间做为 NTP 服务器的时间,即和自己同步。局域网里不可以访问外网,所以这里需要把这个配置项用上,即把前面的注释符 # 号去掉就可以了。

NTP 的本地 IP 就使用 127.127.1.0,没有问题的,我中间把它修改成回环地址 127.0.0.1 是不能正确启动服务的。

添加允许同步时间的客户端 IP 段。我需要让 192.190.*.* 段的客户端都可以来同步时间,nomodify 表示客户端不能反过来修改服务器的时间。

restrict 192.190.0.0 mask 255.255.0.0 nomodify

到这里服务端就配置完成了,开启 ntp 并设置开机启动。

systemctl start ntpd
systemctl enable ntpd

客户端配置

客户端的配置是相同的,我们用 hd-node2 节点来做演示。

注释掉默认的 server 配置,然后将同步的服务指向 hd-node1。其它的配置不用管。

server 192.190.20.13

重启 ntp,查看时间,发现时间同步了。然后设置开机启动,以后开机时间就直接同步一次了。

systemctl restart ntpd
systemctl enable ntpd

使用 ntpq -p 查看状态。offset 越小,同步的时间越精确。

如果觉得这对你有用,请随意赞赏,给与作者支持
评论 0
最新评论