【chrony】CentOS7.2 上chrony的安装与配置

【chrony】CentOS7.2 上chrony的安装与配置,第1张

NTP:Network Time Protocol 网络时间协议

Chrony 应用本身已经有几年了,其是是网络时间协议的 (NTP) 的另一种实现。

Chrony可以同时做为ntp服务的客户端和服务端

一直以来众多发行版里标配的都是ntpd对时服务,自rhel7/centos7 起,Chrony做为了发行版里的标配服务,不过老的ntpd服务依旧在rhel7/centos7里可以找到 。

Chrony有两个核心组件:

chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。

chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

chrony用来同步时间,来代替ntp服务,优点是很精巧的时间同步工具,更快响应时钟变化,在应对延时提供更好的稳定性能,不会出现时间空白,跨越互联网同步时间只需要几毫秒。

*** 作系统: CentOS7.x

chronyServer  192.168.1.106

chronyClient  192.168.1.100

在chronyServer 和chronyClient 服务器:

# yum -y install chrony

# rpm -ql chrony

开启防火墙

#  firewall-cmd --add-service=ntp  --permanent

# firewall-cmd --reload

关闭selinux

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config

在chronyServer服务器:

# vim /etc/chrony.conf

#########################

server pool.ntp.org iburst prefer

server 192.168.1.106 iburst

driftfile /var/lib/chrony/drift

makestep 1.0 3

rtcsync

allow 192.168.1.0/24

local stratum 10

logdir /var/log/chrony

bindaddress 192.168.1.106

port 123

###############################

# systemctl start chronyd

# systemctl enable chronyd

#  systemctl status  chronyd

查看服务端绑定的IP和端口监听

# ss  -uan 

chronyd默认监听两个端口: 123/udp   323/udp

123/udp  ,是供客户端通讯连接用的,安全起见,请绑定服务端socket的IP,而不是0.0.0.0

323/udp,供chronyc连接用,安全起见,默认绑定的本地socket的IP为 127.0.0.1

在chronyClient服务器:

# vim /etc/chrony.conf

################################

server 192.168.1.106 iburst

driftfile /var/lib/chrony/drift

makestep 1.0 3

rtcsync

logdir /var/log/chrony

bindacqaddress  192.168.1.100

acquisitionport  1234

#######################################

# systemctl start chronyd

# systemctl enable chronyd

#  systemctl status  chronyd

# ss -uan

注意:chrony作为客户端是采用随机的udp端口与服务端进行通讯的,但是我们可以绑定客户端socket的的IP和端口,以便于相应的防火墙管理控制,,本客户端,我们配置的与服务端通讯的端口为 1234。

#  watch chronyc tracking

Chrony Introduction

https://chrony.tuxfamily.org/

https://wiki.archlinux.org/index.php/Chrony

chrony.conf(5) Manual Page

https://chrony.tuxfamily.org/doc/3.4/chrony.conf.html

CentOS / RHEL 7 : Chrony V/s NTP (Differences Between ntpd and chronyd)

https://www.thegeekdiary.com/centos-rhel-7-chrony-vs-ntp-differences-between-ntpd-and-chronyd/

CHAPTER 17. CONFIGURING NTP USING THE CHRONY SUITE

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite

CentOS 7.x中正确设置时间与时钟服务器同步

https://linux.cn/article-4764-1.html

https://www.jianshu.com/p/a8cc55c894e9?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

chronyd Can't synchronise: no majority

https://forums.fedoraforum.org/showthread.php?298929-Automatic-time-set

CentOS / RHEL 7 : How to sync chrony to local clock

https://www.thegeekdiary.com/centos-rhel-7-chrony-how-to-sync-to-local-clock/

Manage NTP with Chrony

https://opensource.com/article/18/12/manage-ntp-chrony

Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品

https://linux.cn/article-10250-1.html

How to Install and Use Chrony in Linux

https://www.tecmint.com/install-chrony-in-centos-ubuntu-linux/

Centos 8不在直接使用ntp,而是使用chrony作为时间同步,chrony既可以当服务器端广播时间,又可以作为客户端同步时间

安装

sudo dnf install chrony -y

sudo yum install chrony -y

Centos8使用firewalld服务对防火墙进行管理。放行ntp服务(123/udp)

firewall-cmd --add-service=ntp --permanent &&firewall-cmd --reload

作为服务器端

配置chrony服务端

sudo vim /etc/chrony.conf

删除配置自带的NTP服务器。换成国内阿里云的NTP服务器地址。

添加上游NTP服务器

server time1.aliyun.com iburst   

server time2.aliyun.com iburst

server time3.aliyun.com iburst

允许 192.168.1.0/24 内的客户端通过这台服务器获取时间

allow 192.168.1.0/24

配置无误后,重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service

systemctl enable chronyd.service

使用ss -tlunp | grep chrony或者 lsof -i:123 命令 检查chrony服务使用的123/udp端口是否启动成功

作为客户端

同样安装,然后修改客户端chrony配置文件

sudo vim /etc/chrony.conf

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

# pool 2.centos.pool.ntp.org iburst

#添加NTP服务器

server time1.aliyun.com iburst   

server time2.aliyun.com iburst

server time3.aliyun.com iburst

如果有自建的chrony客户端也可以自行配置

server 192.168.1.30 iburst

重启chrony客户端服务,重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service &&systemctl enable chronyd.service --now

查看同步状态

chronyc sources -v

本想简单的找点chrony的讲解视频看看,但没找到;我想,可能是因为服务这个服务太简单了吧,觉得没什么讲的;所以都忽略了;现在只有自己烧烧脑,手动研究一下下

公司里 虚拟机加物理机 2000+ 台 机器,一直使用的是 ntpdate 直接强行同步三台NTP服务器,就这么暴力的用了几年,到现在,也没出啥问题;但是身为一名运维屌丝,预感到了强烈安全隐患。

是时候展现真正的技术了 ~~~

一啪啦的扯淡,进入正题。

我的 rhel8上面没有,我使用过yum安装的

安装完成之后,系统会多出一个 chronyd的服务

查看服务状态: systemctl status chronyd

停止服务: systemctl stop chronyd

重启服务: systemctl restart chronyd

我们可以用 rpm -ql chrony 看一下安装 chrony 后产生的安装文件,帮助了解这个服务的大体结构,与复杂度,不想看也可以不看;

大体上就是这些东西了

 

 

 

下面开始介绍,将chrony配置为 NTP 服务端,用来供NTP 客户端同步使用的,后面再讲客户端

配置前先讲一下 配置文件件:

经过一番烧脑,大致的理解了一下主配置文件里的参数,并做了一下注释,方便以后查阅

 

 

 

配置都很简单

就更改一下域名服务器,与允许同步的网段就可以了,其余的基本都是默认;更改完后重启一下服务

阿里云的时间服务器:

    ntp1.aliyun.com

    ntp2.aliyun.com

中科院的时间服务器:

    ntp.ntsc.ac.cn

显示目前同步的状态:

与外部互联网同步的时间间隔不能设置为小于64秒,否则会因为过于平凡与NTP服务器同步,而视为垃圾数据报被丢弃,这个需要注意一下

 

 

 

就是添加一个ntp服务IP就行了,其余的基本不用动;重启服务器,并加入开机启动


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11811257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存