什么是ntp以及如何在rhel和centos上配置ntp服务器

时间:2020-03-21 11:48:45  来源:igfitidea点击:

网络时间协议(NTP):

它是用于在机器之间同步时钟的协议,它遵循Marzullo算法的原理。
如果配置正确并且处于理想条件下,NTP协议可以将时间精度保持在1毫秒的范围内。

  • 该协议的当前版本是NTPv4.
  • 它适用于用户数据报协议
  • 它使用端口123
  • 当一个ntp服务器查询另一个ntp服务器时,源端口和目标端口均为123. 但是,当客户端查询服务器时,源端口在1023以上,目标端口为123.

NTP(Network Time Protocol)使用时钟的分级级别,以确保准确性。
其维护如下。

ntp层次结构中的每个级别均由阶层定义。
层指定到参考ntp服务器的距离。

层0:这些是原子时钟之类的设备,这些设备未在网络中使用。
但是第1层服务器直接连接到第0层设备。

第1层:这些服务器用于从第0层设备同步其时间,并连接到第0层设备。

第2层:这些设备连接到第1层服务器以进行时间同步。
有多个第2层服务器,这些服务器将与其他第1层服务器联系,并根据准确性向第3层服务器提供数据。

第3层:这些设备与第2层服务器完全相同,它们从第2层服务器获取同步数据。

NTP中最多支持256个层。
截至目前,只有16个阶层以上的任何人都被视为未同步ntp时间。

  • NTP服务器防火墙的配置方式必须允许到端口123 UDP的传出和传入流量都允许。

以下是一些第1层服务器,从中可以使NTP服务器时间同步。

ntp.amnic.net

time.markosyan.info

ntp.tbpl.com.au

ntp.melbourne.nmi.gov.au

在support.ntp.org上可以找到更多的第1层服务器

安装和配置我们的NTP服务器:

可以通过Red Hat Enterprise linux或者Centos中的以下方法完成NTP服务器的安装。

[root@myvm1 ~]yum install ntp

ntp 的主要配置文件是/etc/ntp.conf

我们需要输入所有NTP服务器将从其获取同步数据的ntp服务器主机名或者ip。
默认安装ntp软件包时,该文件将包含以下内容作为服务器。

server 0.rhel.pool.ntp.org 
server 1.rhel.pool.ntp.org 
server 2.rhel.pool.ntp.org

我们可以更改它们,然后其中添加我们选择的ntp服务器,也可以使用相同的服务器。

从安全的角度来看,限制文件中提到的服务器是一个好主意。
我们可以拒绝那些NTP服务器,以便不查询我们,也不要修改运行时间。

restrict default kod nomodify notrap nopeer noquery

上述条目是在安装后默认添加的,它表示默认的整体无法修改,无法查询我们的系统。

现在,当我们为本地网络配置NTP服务器时,我们需要授予它们权限以允许与我们的服务器进行时间同步。

这可以通过以下方法来完成。

restrict 172.16.0.0 mask 255.255.0.0 nomodify notrap

这表示网络172.16.0.0可以查询此服务器,但不能进行任何修改。

现在,让我们的NTP服务器与某些第1层服务器同步,如下所示。

[root@myvm1 ~]# ntpq -p ntp.amnic.net
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(0)     .GPS.            0 l   13   16  377    0.000   -0.001   0.001
-ntp1.adc.am     .PPS.            1 u   39   64  377    2.440   -0.332   0.080
-nav.metrologie. .ATOM.           1 u   33   64  377  111.772   -2.719   0.267
-ntp4.ja.net     .DCFa.           1 u   23   64  377   92.657   -1.257   1.135
*ntp1.rrze.uni-e .DCFp.           1 u   48   64  377   73.475   -3.794   0.140
+ntp2.rrze.uni-e .PPS.            1 u   43   64  377   72.896   -3.368   1.921
+ptbtime1.ptb.de .PTB.            1 u    7   64  377   77.358   -3.194   1.035

现在,让我们检查NTP服务器的状态并确认其是否已同步。

[root@myvm1 ~]# ntpstat
synchronised to NTP server (204.45.7.82) at stratum 3
   time correct to within 516 ms
   polling server every 64 s

现在,此结果表明我已与第3层的服务器173.248.148.27同步。

现在,我们只需要确保已启用ntpd服务器,即可通过以下方式开始使用bootime:

chkconfig ntpd on

现在,我们网络中的客户端计算机可以在配置文件中提及我们新配置的NTP服务器IP,并与我们新创建的服务器保持同步。