网络时间协议(NTP)用于通过网络同步不同主机的系统时钟。所有托管主机都可以将其时间与称为NTP服务器的指定时间服务器同步。另一方面,NTP服务器将自己的时间与任何公共NTP服务器或您选择的任何服务器同步。所有NTP管理设备的系统时钟都以毫秒精度同步。
在企业环境中,如果他们不想为NTP流量打开防火墙,则需要设置内部NTP服务器,并让员工使用内部服务器而不是公共NTP服务器。在本教程中,我们将介绍如何将CentOS系统配置为NTP服务器。在进入细节之前,让我们首先回顾一下NTP的概念。
我们为什么需要NTP?
由于制造差异,所有(非原子)时钟都不会以完全相同的速度运行。有些时钟往往运行得更快,而有些时钟运行得更慢。因此,在很长的时间范围内,一个时钟的时间逐渐从另一个时钟漂移,导致所谓的“时钟漂移”或“时间漂移”。为了最大限度地减少时钟漂移的影响,使用NTP的主机应定期与指定的NTP服务器通信,以使其时钟保持同步。
不同主机之间的时间同步对于计划备份,入侵检测日志记录,分布式作业调度或事务簿记等事务非常重要。甚至可能需要将其作为合规性的一部分。
NTP层次结构
NTP时钟以分层结构组织。层次结构的每个级别称为层。层的概念描述了一台机器来自权威时间源的NTP跳数。
Stratum 0中装有几乎没有时间漂移的时钟,例如原子钟。这些时钟不能直接在网络上使用。Stratum N(N > 1)服务器将它们的时间与Stratum N -1服务器同步。Stratum N个时钟可以通过网络相互连接。
NTP支持层次结构中最多15个层。Stratum 16被认为是不同步的并且不可用。
准备CentOS服务器
现在让我们继续在CentOS上设置NTP服务器。
首先,我们需要确保正确设置服务器的时区。在CentOS 7中,我们可以使用timedatectl命令查看和更改服务器时区(例如,“Australia /
Adelaide”)
#timedatectl list-timezones | grepAustralia
#timedatectl set-timezone
#timedatectl
继续使用yum设置必要的软件。
#yum install ntp
然后我们将添加全局NTP服务器以同步时间。
#vim /etc/ntp.conf
服务器0.oceania.pool.ntp.org
服务器1.oceania.pool.ntp.org
服务器2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默认情况下,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
现在启动NTP服务并确保它已添加到启动。
#systemctl restart ntp
#systemctl enable ntp
验证NTP服务器时钟
我们可以使用ntpq命令检查本地服务器的时钟如何通过NTP同步。
下表说明了输出列。
远程
在ntp.conf中定义的源代码。'*'表示当前和最佳来源; '+'表示这些源可用作NTP源。来源- 被认为无法使用。
REFID
与远程服务器时钟同步的时钟的IP地址。
ST
地层
Ť
类型。'你'是单播。其他值可以包括本地,多播,广播。
什么时候
自上次与服务器联系以来经过的时间(以秒为单位)。
轮询
在几秒钟内与服务器轮询频率。
达到
八进制值,指示与服务器通信是否存在任何错误。值377表示100%成功。
延迟
我们的服务器和远程服务器之间的往返时间。
抵消
我们的服务器和远程服务器之间的时差,以毫秒为单位。
抖动
两个样本之间的平均时间差(以毫秒为单位)。
控制对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 -jDROP
该规则将允许来自192.168.1.0/24的NTP流量(在端口UDP / 123上),并拒绝来自所有其他网络的流量。您可以更新规则以符合您的要求。
配置NTP客户端
1. Linux
NTP客户端主机需要ntpdate包来同步服务器的时间。可以使用yum或apt-get轻松安装包。安装软件包后,使用服务器的IP地址运行该命令。
#ntpdate
对于RHEL和基于Debian的系统,该命令是相同的。
2. Windows
如果您使用的是Windows,请在“日期和时间”设置下查找“Internet时间”。
3.思科设备
如果要同步Cisco设备的时间,可以使用全局配置模式中的以下命令。
#ntp server
来自其他供应商的NTP设备具有自己的Internet时间参数。如果要将其时间与NTP服务器同步,请检查设备的文档。
结论
总而言之,NTP是一种协议,可以使所有主机上的时钟保持同步。我们已经演示了如何设置NTP服务器,并让NTP启用的设备将它们的时间与服务器同步。