redhat/centos 7.x默认使用的时间同步服务为ntp服务,但是从redhat/centos 8开始在官方的仓库中移除了ntp软件,换成默认的chrony进行时间同步的服务,虽然也可以通过添加第三方的源安装ntp,但是毕竟还是使用官方推荐的更好一些,使用和ntp基本上一样,个人感觉比ntp还更简单,下面简单的叙述一下配置过程. 

同步时间服务器,一直担当杠把子角色的NTP,其实确切的说是ntpd程序,它跟chrony一样,是NTP(network time protocol网络时间协议)协议的程序实现。总体上来说,chrony更为简单,比如,客户端安装好chrony之后,并不需要设定crontab任务来定时同步时间,它是自动的,同步的时间间隔在chrony.conf配置文件中设定即可。


chrony是在centos8里才出现的,用来替代ntpd程序。


 

用yum安装chrony

yum -y install chrony
 

ntp常用服务器:

 
中国国家授时中心 210.72.145.44
NTP服务器(上海) ntp.api.bz
美国 time.nist.gov
复旦 ntp.fudan.edu.cn
微软公司授时主机(美国) time.windows.com
北京邮电大学 s1a.time.edu.cn
清华大学 s1b.time.edu.cn
北京大学 s1c.time.edu.cn
台警大授时中心(台湾) asia.pool.ntp.org
 

配置chrony.conf

修改配置文件
vim /etc/chrony.conf


 

参数设置如下:

# 从时间服务器192.168.1.231上获取时间,如果有别的时间服务器,再添加一行就行,总数没上限。
server 192.168.1.231 iburst
# 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿
# 甚至可能的话,会从时钟服务器获得较好的估值
driftfile /var/lib/chrony/drift
# chronyd根据需求减慢或加速时间调整,Tristone发现网上有好多互相抄的内容,让人不知所云
# 这里表示时间的误差如果小于5秒,则通过减慢或加快时钟速度来逐渐调整时钟。
# 如果时间的误差大于5秒,前3次更新时间时允许步进时间(一步到位调整时间)。
# 如果改为:makestep 5 -1,则一直是按照一步到位的方式调整时间(慎用)
makestep 5 3
# rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC);
rtcsync
#允许哪个IP访问本服务器的时间服务
allow 192.168.1.0/24
#禁止哪个IP访问本服务器的时间服务
deny 192.168/16
#Get TAI-UTC offset and leap seconds from the system tz database.
#从system tz数据库中获取TAI-UTC偏移量和闰秒。
leapsectz right/UTC
# 指定日志文件的目录。
logdir /var/log/chrony
# 指定包含NTP验证密钥的文件。
#keyfile /etc/chrony.keys

 

重启chronyd服务

配置完成需要重启一下chronyd服务
systemctl restart chronyd

 

防火墙允许ntp服务

永久允许对外提供NTP时间服务
firewall-cmd --add-service=ntp --permanent

firewall-cmd --reload


 

基础命令

开始chronyd服务
systemctl start chronyd 

停止chronyd服务
systemctl stop chronyd

重启chronyd服务
systemctl restart chronyd

查看chronyd服务状态
systemctl status chronyd 

开机启动chronyd服务
systemctl enable chronyd

禁止开机启动chronyd服务
systemctl disable chronyd

查看时间同步源,查看时间同步进度
chronyc sources –v



查看时间同步源状态
chronyc sourcestats -v



硬件时间默认为UTC
timedatectl set-local-rtc 1 

启用NTP时间同步
timedatectl set-ntp yes

校准时间服务器
chronyc tracking



查看本机时间
timedatectl




chronyd端口为udp的323端口
netstat -an | grep 323
或 
ss -a | grep 323


​​​​​​​