美文网首页
NTP时钟局域网服务器搭建及配置

NTP时钟局域网服务器搭建及配置

作者: 伊夫_艾尔斯 | 来源:发表于2024-05-09 19:04 被阅读0次

Chrony 和 NTP 都是用于网络时间同步的工具,但它们有不同的工作方式和特点。

  • NTP (Network Time Protocol):
        
        - NTP 是一种用于同步计算机系统时钟的协议。它通过在计算机之间传递时间信息来实现精确的时间同步。NTP 有一个分层的服务器体系结构,其中包含一组公共的时间服务器,这些服务器彼此同步并提供时间信息给其他计算机。

        - 特点:
            - 历史悠久:NTP 是最早用于网络时间同步的协议之一,具有广泛的支持和成熟的实现。
            - 精度高:NTP 可以提供高精度的时间同步,通常可以达到毫秒级别的准确度。
            - 复杂性:NTP 的配置和管理可能相对复杂,特别是对于大型网络和要求高精度同步的环境。
  • Chrony:
        - Chrony 是一个相对较新的时间同步工具,旨在改进传统 NTP 的一些方面,并提供更简单、更稳定的时间同步解决方案。Chrony 在计算机之间传递时间信息时采用了不同的算法,以提高时间同步的稳定性和准确性。
        
        - 特点:
            - 简单性:Chrony 设计为易于配置和管理,尤其适用于普通用户或小型网络环境。
            - 稳定性:Chrony 使用了一些优化技术,如更快的时钟步进和更准确的时钟漂移计算,以提高同步的稳定性。
            - 灵活性:Chrony 支持多种时间源,包括 NTP 服务器、本地时钟和 GPS 接收器等,可以根据实际需求进行配置。
            - 总的来说,NTP 是一个经过广泛验证和成熟的时间同步协议,适用于对时间精度有较高要求的环境。而 Chrony 则更注重简单性和稳定性,在一些小型网络或普通用户中较为流行。选择使用哪个取决于你的需求和偏好,以及你对时间同步的要求。

阿里云 ntp服务器地址

  • 中国大陆地区:
    ntp.aliyun.com
    ntp1.aliyun.com
    ntp2.aliyun.com
  • 国际地区:
    ntp.ntp.aliyun.com   

Ubuntu 安装chrony

    sudo apt update

  • 安装 Chrony
    sudo apt install chrony

  • 配置 NTP 服务器(服务端): 修改/etc/chrony/chrony.conf
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.

# This will use (up to):
# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
# sources will be used.
# At the same time it retains some protection against one of the entries being
# down (compare to just using one of the lines). See (LP: #1754358) for the
# discussion.
#
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2

server ntp.aliyun.com iburst maxsources 4


# This directive specify the location of the file containing ID/key pairs for
# NTP authentication.
keyfile /etc/chrony/chrony.keys

# This directive specify the file into which chronyd will store the rate
# information.
driftfile /var/lib/chrony/chrony.drift

# Uncomment the following line to turn logging on.
#log tracking measurements statistics

# Log files location.
logdir /var/log/chrony

# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0

# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
rtcsync

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3

# Allow NTP client access from local network.
#allow 192.168.0.0/16
#allow all
allow 172.200.6.0/24
allow 10.0.100.0/24

  • 配置 NTP 服务器(客户端): 修改/etc/chrony/chrony.conf
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.

# This will use (up to):
# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
# sources will be used.
# At the same time it retains some protection against one of the entries being
# down (compare to just using one of the lines). See (LP: #1754358) for the
# discussion.
#
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2

server 172.200.6.101 iburst maxsources 1


# This directive specify the location of the file containing ID/key pairs for
# NTP authentication.
keyfile /etc/chrony/chrony.keys

# This directive specify the file into which chronyd will store the rate
# information.
driftfile /var/lib/chrony/chrony.drift

# Uncomment the following line to turn logging on.
#log tracking measurements statistics

# Log files location.
logdir /var/log/chrony

# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0

# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
rtcsync

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3

  • 启动并设置 NTP 客户端开机自启动:
    sudo systemctl start chronyd
    sudo systemctl enable chronyd

  • 验证时间同步
    chronyc tracking

查询结果: Leap status : Normal 为同步成功

成功例:

Reference ID    : AC1C1014 (172.28.16.20)
Stratum         : 4
Ref time (UTC)  : Fri May 10 10:10:50 2024
System time     : 0.000929535 seconds slow of NTP time
Last offset     : -0.002262334 seconds
RMS offset      : 0.002262334 seconds
Frequency       : 1.078 ppm slow
Residual freq   : -8.604 ppm
Skew            : 4.322 ppm
Root delay      : 0.060497474 seconds
Root dispersion : 0.005537998 seconds
Update interval : 64.7 seconds
Leap status     : Normal

失败例:

Reference ID    : 00000000 ()
Stratum         : 0
Ref time (UTC)  : Thu Jan 01 00:00:00 1970
System time     : 0.000000000 seconds fast of NTP time
Last offset     : +0.000000000 seconds
RMS offset      : 0.000000000 seconds
Frequency       : 0.000 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 1.000000000 seconds
Root dispersion : 1.000000000 seconds
Update interval : 0.0 seconds
Leap status     : Not synchronised
  • 查看时间源列表
chronyc sources -v

[root@dzzhdj20 ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* ntp.aliyun.com                2   9   377   258   -891us[-1048us] +/-   40ms
  • chronyd 服务端开放端口: 123

使用 ss 命令 可查看端口使用情况,可发现使用的是udp协议

[root@dzzhdj20 ~]# sudo ss -tuln | grep 123
  udp    UNCONN     0      0         *:123                   *:*  

使用对应操作系统的防火墙指令开放防火墙端口123/udp

CentOS 安装chrony

    yum makecache

  • 安装 Chrony
    sudo apt install chrony

  • 配置 NTP 服务器(服务端): 修改/etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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

server ntp.aliyun.com iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#allow 192.168.0.0/16
#allow all
allow 172.200.6.0/24
allow 10.0.100.0/24


# Serve time even if not synchronized to a time source.
#local stratum 10

# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking
  • 配置 NTP 服务器(客户端): 修改/etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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

server 10.0.100.101 iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#allow 192.168.0.0/16
#allow all


# Serve time even if not synchronized to a time source.
#local stratum 10

# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking
  • 启动并设置 NTP 客户端开机自启动:
    sudo systemctl start chronyd
    sudo systemctl enable chronyd

  • 验证时间同步
    chronyc tracking

查询结果: Leap status : Normal 为同步成功

成功例:

Reference ID    : AC1C1014 (172.28.16.20)
Stratum         : 4
Ref time (UTC)  : Fri May 10 10:10:50 2024
System time     : 0.000929535 seconds slow of NTP time
Last offset     : -0.002262334 seconds
RMS offset      : 0.002262334 seconds
Frequency       : 1.078 ppm slow
Residual freq   : -8.604 ppm
Skew            : 4.322 ppm
Root delay      : 0.060497474 seconds
Root dispersion : 0.005537998 seconds
Update interval : 64.7 seconds
Leap status     : Normal

失败例:

Reference ID    : 00000000 ()
Stratum         : 0
Ref time (UTC)  : Thu Jan 01 00:00:00 1970
System time     : 0.000000000 seconds fast of NTP time
Last offset     : +0.000000000 seconds
RMS offset      : 0.000000000 seconds
Frequency       : 0.000 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 1.000000000 seconds
Root dispersion : 1.000000000 seconds
Update interval : 0.0 seconds
Leap status     : Not synchronised
  • 查看时间源列表
chronyc sources -v

[root@dzzhdj20 ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* ntp.aliyun.com                2   9   377   258   -891us[-1048us] +/-   40ms
  • chronyd 服务端开放端口: 123

使用 ss 命令 可查看端口使用情况,可发现使用的是udp协议

[root@dzzhdj20 ~]# sudo ss -tuln | grep 123
  udp    UNCONN     0      0         *:123                   *:*  

使用对应操作系统的防火墙指令开放防火墙端口123/udp

相关文章

网友评论

      本文标题:NTP时钟局域网服务器搭建及配置

      本文链接:https://www.haomeiwen.com/subject/mpjsfjtx.html