技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页CentOS>正文
CentOS使用Chrony部署内网NTP时间服务器
2022年05月10日 CentOS 暂无评论 ⁄ 被围观 4,878次+

NTP服务器Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,CentOS 8.x默认不支持NTP,替换为Chrony作为时间同步服务,Chrony既可以当服务器端广播时间,又可以作为客户端同步时间。

系统安装

1、CentOS 7.x系统安装配置图解教程

http://www.osyunwei.com/archives/10003.html

2、CentOS 8.x系统安装配置图解教程

https://www.osyunwei.com/archives/11499.html

准备篇

一、防火墙配置

CentOS 7.x 8.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

Chrony服务器端需要用到udp 123和323端口,因此服务器端防火墙需要打开此端口,客户端则不需要。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2、安装iptables防火墙

软件包下载地址:

CentOS 8.x   https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/iptables-services-1.8.4-10.el8.x86_64.rpm

CentOS 7.x   https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/iptables-services-1.4.21-35.el7.x86_64.rpm

上传到目录:/usr/local/src

cd  /usr/local/src

安装 iptables-services:

CentOS 8.x  rpm -ivh  iptables-services-1.8.4-10.el8.x86_64.rpm

CentOS 7.x  rpm -ivh  iptables-services-1.4.21-35.el7.x86_64.rpm

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 323 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、关闭交换分区

#执行以下命令

swapoff -a

sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

free -m

四、设置时区和时间

rm -rf /etc/localtime #先删除默认的时区设置

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #替换上海/北京作为默认

vi /etc/sysconfig/clock #添加时区

Zone=Asia/Shanghai

:wq! #保存退出

timedatectl set-local-rtc 0

hwclock --systohc -u  #系统时钟和硬件时钟同步,当前系统时区不为 UTC,是CST时间,所有要加-u参数

date #显示系统时间

date -s "2022-05-15 14:15:00"   #修改时间

安装篇

一、安装部署Chrony服务端,以CentOS 8.x为例

1、Chrony下载

CentOS 8.x  https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/chrony-3.5-1.el8.x86_64.rpm

CentOS 7.x  https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/chrony-3.4-1.el7.x86_64.rpm

上传到目录:/usr/local/src

2、安装Chrony

cd  /usr/local/src

CentOS 8.x   rpm -ivh  chrony-3.5-1.el8.x86_64.rpm

CentOS 7.x   rpm -ivh  chrony-3.4-1.el7.x86_64.rpm

systemctl start chronyd #启动

systemctl restart chronyd #重启

systemctl status chronyd #查看状态

systemctl enable chronyd #开机自启动

3、配置chrony服务器端

cp /etc/chrony.conf /etc/chrony.conf-bak

vi /etc/chrony.conf #编辑

#pool 2.centos.pool.ntp.org iburst #注释掉

server 192.168.21.182 iburst #添加ntp服务器地址,这里设置为服务端ip地址

allow 192.168.21.0/24 #允许IP段内的客户端通过这台服务器获取时间

local stratum 10 #必须设置,否则内网NTP时间服务同步失败,允许客户端从本地网络访问,即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端

:wq! #保存退出

systemctl restart chronyd #重启

chronyc sources -v  #查看同步状态

^* centos-8.2 10 6 377 363 +6148ns[+8237ns] +/- 11us

^* 表示服务端部署成功

ss -tlunp | grep chrony  #查看监听端口

发现chrony服务已经在监听123和323的udp端口,服务端配置成功。

二、安装部署Chrony客户端,以CentOS 7.x为例

客户端和服务器端安装是相同的,主要区别是配置文件不同。

客户端的版本软件不能高于服务端的版本。

配置chrony客户端,

cp /etc/chrony.conf /etc/chrony.conf-bak

vi /etc/chrony.conf #编辑

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

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

#server 3.centos.pool.ntp.org iburst  #注释掉

server 192.168.21.182 iburst   #添加ntp服务器地址,这里设置为服务端ip地址

maxdistance 600.0

:wq! #保存退出

systemctl restart chronyd #重启

chronyc sources -v  #查看同步状态

^* 192.168.21.182 11 6 17 0 -10us[ -212us] +/- 108ms

^* 表示时间同步成功,192.168.21.182是我们部署的NTP时间服务器ip地址

三、测试NTP时间服务器

1、在服务端手动修改时间

timedatectl set-ntp false  #先关闭NTP同步

timedatectl set-time "2022-05-16 15:15:15"

timedatectl set-ntp true  # 打开NTP同步

chronyc -a makestep  #立即手工同步

2、在客户端执行同步

chronyc  sources  -v    #查看时间同步源

chronyc -a makestep   #立即手工同步

systemctl restart chronyd  #重启

chronyc tracking  #校准时间服务器

3、在客户端手动修改时间

timedatectl set-ntp false  #先关闭NTP同步

timedatectl set-time "2022-05-16 15:15:15"

date   #可以看到客户端时间已经修改

timedatectl set-ntp true  # 打开NTP同步,时间会从服务端自动同步

watch -n 1 date  #显示实时时间

至此,CentOS使用Chrony部署内网NTP时间服务器完成。

扩展阅读:

1、CentOS 8.x官方已经停止维护,不再提供yum支持,但软件包仍然在https://vault.centos.org上保留,如果继续使用CentOS 8.x,可以在/etc/yum.repos中修改源,用vault.centos.org替换mirror.centos.org,执行以下命令即可。

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS*

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS*

2、CentOS 7.x在使用ssh远程连接的时候速度很慢,需要调整ssh配置参数

vi  /etc/ssh/sshd_config

GSSAPIAuthentication  no

UseDNS  no

:wq!  #保存退出

systemctl restart sshd  #重启ssh,再次连接会发现速度明显提升。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2024 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3