Centos8配置 chrony NTP服务端及客户端
现在有一台服务器想作为NTP服务器,3台客户端想作为NTP服务器的客户端,保证客户端机器上的时间与服务器端保持同步。清单如下:
类型 | IP地址 |
---|---|
server | 192.168.1.30 |
client | 192.168.1.[31:33] |
部署服务端chrony
ssh登录到server机器后放行防火墙、安装chrony服务、配置chrony服务器端。
放行防火墙端口
Centos8使用firewalld
服务对防火墙进行管理。放行ntp服务(123/udp)
firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload
安装chrony服务
默认情况下Centos8中已经安装好chrony的软件包。如果发现没有安装,使用下面的命令安装即可:
sudo dnf install chrony -y
配置chrony服务端
sudo vim /etc/chrony.conf
不习惯vi/vim
编辑器的小伙伴可以替换为自己喜爱的编辑器如nano
。
把原有自带的上游NTP服务器地址删除。之后手动配置国内阿里云的NTP服务器地址。
1 | server time1.aliyun.com iburst #添加上游NTP服务器 |
配置无误后,重启chrony服务,并配置开机自启动:
systemctl restart chronyd.service && systemctl enable chronyd.service --now
使用ss -tlunp | grep chrony
命令检查,发现chrony服务已经在监听123/udp
端口,服务端配置成功。
配置chrony客户端
配置chrony客户端需要将三台客户端都安装chrony并且配置好他们的配置文件。如果说客户端数量较少可以手动配置,当数量为成百上千台机器时使用Ansible自动化配置是一个不错的选择。所以在这里有两种配置方法供大家参考,一种是普通手动配置,一种是使用Ansible-Galaxy角色配置。
手动配置chrony客户端
配置客户端同样的需要放行防火墙、安装chrony软件包、配置chrony客户端。
安装chrony软件包
dnf install chrony -y
修改客户端chrony配置文件
sudo vim /etc/chrony.conf
不习惯vi/vim
编辑器的小伙伴可以替换为自己喜爱的编辑器如nano
。
1 | # Use public servers from the pool.ntp.org project. |
注释默认的NTP服务器地址,之后添加上我们自己刚刚搭建好的NTP服务器地址即可完成chrony客户端的手动配置。
重启chrony客户端服务
重启chrony服务,并配置开机自启动:
systemctl restart chronyd.service && systemctl enable chronyd.service --now
查看同步状态
chronyc sources -v
1 | [root@vm1 ~]# chronyc sources -v |
可以看到,输出结果里已经有我们搭建好的NTP服务器了。并且在服务器地址前有^*
标记,证明已经正确同步时间。
至此一台客户端的chrony已经搭建完毕。剩下的两台同理部署即可。
使用Ansible自动化配置chrony客户端
相关Ansible基础默认你已经了解,不再赘述。如果你不了解Ansible请从Ansible文档入门学习。
mkdir Chrony && cd Chrony
配置ansible.cfg
vim ansible.cfg
1 | [defaults] |
配置主机清单
vim inventory
1 | [client] |
配置ssh免密登陆客户端
下载chrony角色
ansible-galaxy install ericsysmin.chrony
编写Playbok
vim playbook.yml
1 | --- |
执行结果如下,全部OK即为成功:
1 | PLAY RECAP ************************** |
之后可以登录几台机器进行手动验证,查看是否已经以NTP服务器保持同步。