HCRM博客

如何在CentOS系统上配置与管理NTP服务器?

CentOS NTP 服务器配置指南

一、NTP

网络时间协议(NTP, Network Time Protocol)是一种用于计算机网络中同步不同设备系统时间的协议,通过 NTP,可以确保所有受管理的主机与指定的 NTP 服务器同步时间,从而减少由于时钟漂移导致的时间偏差,NTP 服务器通常与公共 NTP 服务器或选定的服务器进行同步,以确保其时间的准确性。

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

二、为什么需要 NTP?

时钟漂移:由于制造工艺的差异,所有非原子时钟并不完全以一致的速度运行,有些时钟会快一些,有些则会慢一些,随着时间的推移,这种差异会导致时间逐渐偏离标准时间,即所谓的“时钟漂移”。

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

三、NTP 层次结构

NTP 时钟采用分层层次结构,每一层称为一个层级(stratum),层级描述了机器距离权威时间源的 NTP 跳数:

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

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

Stratum N(N > 1):服务器对照 Stratum N1 服务器同步其时间,Stratum N 时钟可以通过网络彼此连接。

Stratum 16:认为不同步,无法使用。

NTP 最多支持层次结构中的 15 层。

四、在 CentOS 上搭建 NTP 服务器

1. 准备 CentOS 服务器

确保服务器的时区正确设置,在 CentOS 7 中,可以使用timedatectl 命令查看和更改服务器的时区,将时区设置为“Australia/Adelaide”:

如何在CentOS系统上配置与管理NTP服务器?-图3
(图片来源网络,侵权删除)
  • timedatectl listtimezones | grep Australia
  • timedatectl settimezone Australia/Adelaide

2. 安装 NTP 软件

使用yum 安装ntp 软件包:

  • yum install ntp y

3. 配置 NTP 服务器

编辑/etc/ntp.conf 文件,添加用于同步时间的全局 NTP 服务器,使用阿里 NTP 服务器:

  • vim /etc/ntp.conf

在文件中添加以下内容:

  • server ntp1.aliyun.com
  • server ntp2.aliyun.com

默认情况下,NTP 服务器日志保存在/var/log/messages 中,如果需要自定义日志文件,可以在配置文件中指定路径,并确保更改其所有权和 SELinux 上下文:

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

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

启动 NTP 服务并确保其已添加到启动项:

  • systemctl restart ntpd
  • systemctl enable ntpd

5. 验证 NTP 服务器时钟

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

  • ntpq p

6. 控制对 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 程序包来对照服务器同步其时间,可以使用yumaptget 安装该程序包,然后运行带服务器 IP 地址的命令:

  • ntpdate <serverIPaddress>

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

2. Windows 客户端

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

3. 思科设备

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

  • ntp server <serverIPaddress>

来自其他厂商的具有 NTP 功能的设备在 Internet 时间方面有各自的参数,查阅设备的说明文档以进行配置。

NTP 协议可以让你所有主机上的时钟保持同步,通过上述步骤,我们演示了如何搭建一台 NTP 服务器,让具有 NTP 功能的设备对照该服务器同步其时间。

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

Q1: 如何更改 NTP 服务器的时区?

A1: 在 CentOS 7 中,可以使用timedatectl 命令查看和更改服务器的时区,将时区设置为“Australia/Adelaide”:

  • timedatectl listtimezones | grep Australia
  • timedatectl settimezone Australia/Adelaide

Q2: 如何验证 NTP 服务器是否正常运行?

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

  • ntpq p

该命令将显示 NTP 服务器的同步状态和相关信息。

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

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