我们都知道时钟同步可以使用外网服务器,但是在内网内不能连接外网的时候也需要时钟同步,那怎么进行呢?
很多项目中会使用内网时间服务器作为时钟源(如通过卫星或原子钟来同步时间),然后让其他机器都来同步这台机器即可。
注意:其实ntp服务和chrony服务本质上差不多,他们之间都可以互相进行同步。不过为了避免不必要的麻烦,一般服务器都只选择同一时钟服务来讲进行同步。

一、NTP服务

安装ntp服务: yum -y install ntp

1、服务端设置

修改配置文件:
vi /etc/ntp.conf
将如下外网的时钟源注释掉(前面加#)

centos7 二级时钟源 linux配置时钟源_服务端

如果这台作为内网时钟源服务端的话,做如下设置
#ntp实现同步本机时钟
server 127.127.1.0  #local clock,如果是时间服务器请修改为对应IP        
fudge 127.127.1.0  stratum 10
如下按需修改:
restrict 10.0.0.0 mask 255.255.255.0      #允许10.0.0.0 网段中的服务器访问本ntp服务器进行时间同步(按自己内网来)
restrict 10.0.0.16                #允许单个IP地址访问本ntp服务器(按ip来)
restrict 192.168.111.0 mask 255.255.255.0 nomodify notrap              #允许内网其他机器同步时间,如果不添加该约束默认允许所有IP访问本机同步服务
其它配置不用进行修改,保存退出配置文件

重启NTP:systemctl restart ntpd

查看状态:systemctl status nptd

查看时钟源是否同步: ntpq -p #命令查看,带 *星号为已经同步

centos7 二级时钟源 linux配置时钟源_IP_02


ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。

2、其它客户端配置

vi /etc/ntp.conf
# 注释掉server开头的

centos7 二级时钟源 linux配置时钟源_linux_03

添加 server IP(这里IP是上边服务端的也就是时钟源的 ip) iburst
例如:server 192.168.1.1
重启NTP服务:ystemctl  restart ntpd  #即可
ntpq -p  #查看同步状态,如下图都有值且 ip 前面带星号*    为正常

centos7 二级时钟源 linux配置时钟源_linux_04

二、Chrony服务

现在新的Linux7之后版本系统都用chrony进行同步了
安装chrony包 :yum -y install chorny

1、服务端配置

配置: vi /etc/chrony.conf
先注释掉网络时钟源,再做如下配置
server 127.0.0.1 iburst        #本地作为时钟源
local stratum 10           #允许本地同步
allow        #允许所有连接
开机启动:systemctl enable chronyd
启动服务:systemctl start chronyd
查看状态:systemctl status chronyd
查看同步:chronyc sources -v     #带星号*为同步成功

centos7 二级时钟源 linux配置时钟源_IP_05

或者: timedatectl 命令,NPT synchronized 为yes就是同步完成

centos7 二级时钟源 linux配置时钟源_内网_06

2、客户端配置

然后客户端也是以这台服务端的作为时钟源进行设置
vi /etc/chrony.conf
server  ip(上一台服务端的ip)  iburst
# 再加一行
allow    #允许所有
 
保存退出即可。 
chronyc sources -v  #查看同步状态,显示刚刚配置的ip 并且ip前面有,*星号即为成功 ,这个符号 ^ 为失败

保存退出即可。
chronyc sources -v #查看同步状态,显示刚刚配置的ip 并且ip前面有,*星号即为成功 ,这个符号 ^ 为失败