HCRM博客

如何在CentOS上配置NTP服务器?

NTP服务器在CentOS上的配置与应用

NTP(Network Time Protocol,网络时间协议)是一种用于同步计算机系统时钟的协议,它能够使计算机系统的时间保持精确一致,本文将详细介绍如何在CentOS上搭建NTP服务器,并探讨其应用场景和常见问题。

如何在CentOS上配置NTP服务器?-图1
(图片来源网络,侵权删除)

一、NTP

NTP是用来同步网络上不同主机的系统时间的协议,所有受管理的主机都可以和一个指定的被称为NTP服务器的时间服务器同步它们的时间,反过来,这些NTP服务器则与任何公共NTP服务器或者所选择的任何其他服务器同步自己的时间,通过NTP管理的所有系统时钟都同步精确到毫秒级。

由于制造工艺的差异,所有的非原子时钟并不以完全一致的速度运行,有些时钟走得快一些,有些走得慢一些,经过一段时间以后,一个时钟的时间与另一个时钟逐渐发生偏差,这就是所谓的“时钟漂移”或“时间漂移”,为了尽量减少时钟漂移的影响,使用NTP的主机应定期与指定的NTP服务器交互以保持时钟同步。

在不同的主机之间进行时间同步对于计划备份、入侵检测日志、分布式任务调度或事务订单管理等事务而言非常重要,甚至可能是监管合规性的要求。

二、NTP层次结构

NTP时钟以分层层次结构来组织,该层次结构中的每一层称为一个stratum(层),Stratum描述了某机器距离权威时间源有多少个NTP跳。

Stratum 0:含有几乎没有时间漂移的时钟,比如原子钟,这些时钟无法通过网络直接使用。

Stratum 1:直接连接到Stratum 0的服务器。

如何在CentOS上配置NTP服务器?-图2
(图片来源网络,侵权删除)

Stratum N (N > 1):对照Stratum N1服务器同步其时间的服务器。

NTP最多可支持层次结构中的15层,Stratum 16被认为不同步、无法使用。

三、在CentOS上搭建NTP服务器

1. 准备CentOS服务器

我们需要确保服务器的时区正确设置,在CentOS 7中,可以使用timedatectl命令来查看和更改服务器的时区:

timedatectl listtimezones | grep Australia
timedatectl settimezone Australia/Adelaide
timedatectl

2. 安装必要的软件

使用yum安装ntp包:

如何在CentOS上配置NTP服务器?-图3
(图片来源网络,侵权删除)
yum install ntp y

3. 修改NTP配置文件

添加用来同步时间的全局NTP服务器:

vim /etc/ntp.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

默认情况下,NTP服务器日志保存在/var/log/messages中,如果你想使用自定义的日志文件,也可以指定该文件的位置:

logfile /var/log/ntpd.log

如果选择使用自定义的日志文件,确保更改其所有权和SELinux上下文:

chown ntp:ntp /var/log/ntpd.log
chcon t ntpd_log_t /var/log/ntpd.log

4. 启动NTP服务并设置为开机自启

systemctl restart ntpd
systemctl enable ntpd

5. 验证NTP服务器时钟

我们可以使用ntpq命令检查本地服务器的时钟如何通过NTP实现同步:

ntpq p

四、控制对NTP服务器的访问

在默认情况下,NTP服务器允许来自所有主机的入站查询,如果想过滤入站NTP同步连接,可以在防火墙中添加一条规则,以过滤流量:

iptables A INPUT s 192.168.1.0/24 p udp dport 123 j ACCEPT
iptables A INPUT p udp dport 123 j DROP

该规则将允许来自192.168.1.0/24的NTP服务器(经由端口UDP/123),拒绝来自其他所有网络的流量,你可以更新规则以符合自己的要求。

五、配置NTP客户端

1. Linux客户端配置

NTP客户端需要ntpdate程序包来对照服务器同步其时间,可以使用yum或aptget安装该程序包:

yum install ntpdate y

安装后,运行带服务器IP地址的命令:

ntpdate <serverIPaddress>

如果是基于RHEL和Debian的系统,命令完全一样。

2. Windows客户端配置

如果你使用Windows,可以在日期和时间设置下寻找“Internet时间”,然后输入NTP服务器的地址进行同步。

3. 思科设备配置

如果你想同步思科设备的时间,可以从全局配置模式使用以下命令:

ntp server <serverIPaddress>

来自其他厂商的具有NTP功能的设备在Internet时间方面有各自的参数,如果你想与NTP服务器同步时间,就要查阅设备的说明文档。

六、常见问题与解答(FAQs)

Q1: NTP服务器无法启动怎么办?

A1: 如果NTP服务器无法启动,请检查以下几点:

确保已安装ntp包:rpm qa | grep ntp

检查ntp配置文件是否有语法错误:ntpq p

查看系统日志中的相关错误信息:tAIl f /var/log/messages

确保防火墙未阻止NTP端口(默认是UDP/123):iptables L

Q2: 如何更改NTP服务器的时间源?

A2: 要更改NTP服务器的时间源,只需编辑/etc/ntp.conf文件,替换现有的server行即可,要将时间源更改为阿里NTP服务器,可以编辑如下:

server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst

完成后保存文件并重启ntpd服务:systemctl restart ntpd

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/17582.html

分享:
扫描分享到社交APP
上一篇
下一篇