我们都知道时钟同步可以使用外网服务器,但是在内网内不能连接外网的时候也需要时钟同步,那怎么进行呢?
很多项目中会使用内网时间服务器作为时钟源(如通过卫星或原子钟来同步时间),然后让其他机器都来同步这台机器即可。
注意:其实ntp服务和chrony服务本质上差不多,他们之间都可以互相进行同步。不过为了避免不必要的麻烦,一般服务器都只选择同一时钟服务来讲进行同步。
一、NTP服务
安装ntp服务: yum -y install ntp
1、服务端设置
修改配置文件:
vi /etc/ntp.conf
将如下外网的时钟源注释掉(前面加#)
如果这台作为内网时钟源服务端的话,做如下设置
#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 #命令查看,带 *星号为已经同步
ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。
2、其它客户端配置
vi /etc/ntp.conf
# 注释掉server开头的
添加 server IP(这里IP是上边服务端的也就是时钟源的 ip) iburst
例如:server 192.168.1.1
重启NTP服务:ystemctl restart ntpd #即可
ntpq -p #查看同步状态,如下图都有值且 ip 前面带星号* 为正常
二、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 #带星号*为同步成功
或者: timedatectl 命令,NPT synchronized 为yes就是同步完成
2、客户端配置
然后客户端也是以这台服务端的作为时钟源进行设置
vi /etc/chrony.conf
server ip(上一台服务端的ip) iburst
# 再加一行
allow #允许所有
保存退出即可。
chronyc sources -v #查看同步状态,显示刚刚配置的ip 并且ip前面有,*星号即为成功 ,这个符号 ^ 为失败
保存退出即可。
chronyc sources -v #查看同步状态,显示刚刚配置的ip 并且ip前面有,*星号即为成功 ,这个符号 ^ 为失败