网络时间协议 (NTP) 用于同步网络上不同主机的系统时间。您管理的所有主机都可以将其时间与指定的时间服务器(称为 NTP 服务器)同步。反过来,NTP 服务器会将其时间与任何公共 NTP 服务器或您选择的服务器同步。NTP 管理的所有系统时钟都以毫秒精度同步。
在企业环境中,如果不想开放防火墙进行 NTP 传输,就需要架设内部 NTP 服务器,然后让员工使用内部服务器,而不是公用 NTP 服务器。在本指南中,我们将介绍如何将系统配置为 NTP 服务器。在介绍细节之前,我们先简单了解一下 NTP 的概念。
为什么我们需要 NTP?
由于制造差异,并非所有(非原子)时钟都以完全相同的速度运行。有些时钟运行得更快,有些时钟运行得更慢。因此,在很长一段时间内,一个时钟的时间会慢慢地偏离其他时钟,这通常称为“时钟漂移”或“时间漂移”。为了最大限度地减少时钟漂移的影响,使用 NTP 的主机应定期与指定的 NTP 服务器交互以保持其时钟同步。
不同主机之间的时间同步对于规划备份、入侵检测日志记录、分布式任务调度或交易订单管理非常重要。它甚至应该成为日常任务的一部分。
NTP 层次结构
NTP 时钟采用分层模型组织。层次结构中的每个级别称为 (层)。 的概念描述了一台机器到权威时间源有多少个 NTP 跳数。
0 由无时间漂移的时钟组成,例如原子钟。此类时钟不能直接在网络上使用。N(N > 1)个层服务器从 N-1 个层服务器同步时间。N 个时钟可以通过网络相互连接。
NTP 最多支持 15 个层。16 个层被视为不同步,不能使用。
准备服务器
现在让我们开始设置 NTP 服务器。
首先我们需要确保服务器的时区设置正确,在 7中我们可以通过命令来查看和更改服务器的时区(例如“/”,LCTT译注:中国可以设置为亚洲/)
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
继续使用 yum 安装所需的软件
# yum install ntp
然后我们将添加全局 NTP 服务器进行时间同步。
# vim /etc/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默认情况下,NTP 服务器日志存储在 /var/log/ 中。如果您希望使用自定义日志文件,您可以指定。
logfile /var/log/ntpd.log
如果您选择自定义日志文件,请确保更改其所有者和环境。
# chown ntp:ntp /var/log/ntpd.log
# chcon -t ntpd_log_t /var/log/ntpd.log
现在初始化 NTP 服务并确保它已添加到启动中。
# systemctl restart ntp
# systemctl enable ntp
验证 NTP 时钟
我们可以使用 ntpq 命令来检查本地服务器的时钟如何通过 NTP 同步。
下表解释了输出列。
源在 ntp.conf 中定义。'*' 表示当前使用的最佳源;'+' 表示这些源可用作 NTP 源;标有 '-' 的源不可用。
重新
用于同步本地时钟的远程服务器的IP地址。
英石
(班级)
类型。'u' 表示单播 (())。其他值包括本地 (local)、多播 (())、广播 (())。
什么时候
自上次与服务器交互以来的时间(以秒为单位)。
轮询
与服务器的轮询间隔(以秒为单位)。
抵达
八进制数,表示与服务器交互时是否存在任何错误。值 337 表示 100% 成功(或十进制的 255)。
延迟
服务器和远程服务器之间的往返时间。
我们的服务器和远程服务器之间的时间差,以毫秒为单位。
两个样本之间的平均时间差(以毫秒为单位)。
控制对 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(端口 UDP/123)的 NTP 流量,来自任何其他网络的流量将被丢弃。您可以根据需要更改规则。
配置 NTP 客户端 1. Linux
NTP 客户端主机需要一个软件包来与服务器同步时间。可以使用 yum 或 apt-get 轻松安装此软件包。安装软件包后,使用服务器的 IP 地址运行以下命令。
# ntpdate
对于 RHEL 和基于 Linux 的系统,命令是相同的。
2.
如果您正在使用它,请在“日期和时间”下查找“网络时间”。
3.思科设备
如果要同步Cisco设备的时间,可以在全局配置模式下使用以下命令。
# ntp server
其他制造商的 NTP 设备有自己的网络时间参数。如果您想要将设备与 NTP 服务器同步,请查阅设备文档。
综上所述
简而言之,NTP 是一种同步所有主机时钟的协议。我们已经介绍了如何设置 NTP 服务器,以及如何同步启用 NTP 的设备和服务器之间的时间。
希望对你有帮助。
通过:
作者: 译者: 校对:wxy
本文由LCTT翻译,Linux中国荣誉呈现
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。