内网时间服务器搭建

在无法连接互联网的内网环境中,服务器之间的时间同步是一个需要解决的问题。使用 Chrony 可以很好地解决这个问题。下面是在内网中使用 Chrony 搭建时间服务器的步骤:

1. 服务端配置

在服务端上,你需要编辑 Chrony 的配置文件 /etc/chrony.conf。以下是一个基本的配置示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 使用本地服务器作为时间源
server 127.0.0.1 iburst

# 记录系统时钟的增减速率
driftfile /var/lib/chrony/drift

# 如果系统时钟的偏移超过1秒,允许在前三次更新时进行调整
makestep 1.0 3

# 启用内核对实时时钟(RTC)的同步
rtcsync

# 允许所有本地网络的NTP客户端访问
allow all

# 即使没有同步到时间源,也提供时间服务
local stratum 10

# 指定日志文件目录
logdir /var/log/chrony

2. 客户端配置

在客户端上,你可以使用类似的配置文件 /etc/chrony.conf。以下是一个示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 使用公共NTP服务器作为时间源
server 0.centos.pool.ntp.org iburst

# 同步服务端的时间
server 服务端IP地址 iburst

# 其他配置保持默认即可

# 启动Chronyd服务并设置开机自启
systemctl start chronyd
systemctl enable chronyd

3. 防火墙配置

确保防火墙放行 Chrony 所需的端口(默认是 UDP 123 端口)。你可以使用以下命令:

1
2
firewall-cmd --permanent --add-port=123/udp
firewall-cmd --reload

4. 验证时间同步

  • 查看时间同步源:chronyc sources -v

  • 查看时间信息:date

  • 查看详细的时间信息:timedatectl

    1
    2
    
    timedatectl status --- 时间同步状态, 输入timedatectl 默认为时间同步状态
    timedatectl set-ntp true --- 开启网络时间同步
    

    chronyc 的命令学习

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    
    # 查看 ntp_servers
    chronyc sources -v
    
    # 查看 ntp_servers 状态
    chronyc sourcestats -v
    
    # 查看 ntp_servers 是否在线
    chronyc activity -v
    
    # 查看 ntp 详细信息
    chronyc tracking -v
    
    # 强制同步下系统时钟
    chronyc -a makestep
    
    # 查看哪些ip连接我的ntp时间了
    chronyc clients
    

    chrony sources -v,查看时间的同步情况

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    [root@hdp103 ~]# 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
    ===============================================================================
    ^* hdp104                       11  10   377   764    +73us[  +45us] +/-  323ms
    

这样,你就可以在内网环境中搭建一个 Chrony 时间服务器,让其他节点同步服务端的时间了。12

希望这对你有所帮助!如果你需要进一步的帮助,请随时告诉我。

img

Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 06, 2025 05:52 UTC
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计
Caret Up