Ubuntu服务器对时方案

在 Ubuntu 20.04 中,默认使用 systemd-timesyncdchrony/ntp 进行时间同步。针对您提供的内网 NTP 服务器 YOUR IP,最推荐且轻量级的方法是配置系统自带的 systemd-timesyncd,或者安装更专业的 chrony(Ubuntu 20.04 默认倾向于使用 chrony 替代传统的 ntpd)。

以下是两种最常用的配置方案:

方案一:使用 systemd-timesyncd(无需安装额外软件,推荐)

这是 Ubuntu 20.04 内置的时间同步服务,配置简单,资源占用少。

  1. 编辑配置文件
    打开 /etc/systemd/timesyncd.conf 文件:

    sudo nano /etc/systemd/timesyncd.conf
    
  2. 修改配置
    找到 [Time] 部分,取消 NTP= 行的注释,并填入您的 NTP 服务器地址。如果有备用服务器,可以用空格分隔。

    修改后内容如下:

    [Time]
    #NTP=
    NTP=YOUR IP
    #FallbackNTP=ntp.ubuntu.com
    
  3. 重启服务

    sudo systemctl restart systemd-timesyncd
    
  4. 验证状态

    timedatectl status
    

    确保输出中 System clock synchronized: yesNTP service: active


方案二:使用 Chrony(更精准,适合网络波动环境)

如果您的机房网络存在延迟或抖动,chronytimesyncd 更能保持时间稳定。Ubuntu 20.04 可能已预装,若未安装需先安装。

  1. 安装 Chrony(如果未安装)

    sudo apt update
    sudo apt install chrony
    
  2. 编辑配置文件
    打开 /etc/chrony/chrony.conf

    sudo nano /etc/chrony/chrony.conf
    
  3. 修改配置
    注释掉默认的公共 NTP 服务器(如 pool.ntp.org),添加您的内网服务器:

    # 注释掉原有的 server 行
    # pool ntp.ubuntu.com        iburst maxsources 4
    # pool 0.ubuntu.pool.ntp.org iburst maxsources 1
    # ...
    
    # 添加您的内网 NTP 服务器
    server YOUR IP iburst
    
  4. 重启服务

    sudo systemctl restart chrony
    
  5. 验证同步状态

    chronyc sources -v
    

    如果看到 YOUR IP 前面有 * 号,表示已成功同步。


常见问题排查

  • 防火墙问题:确保客户端允许 UDP 123 端口出站,且服务器 YOUR IP 允许该端口入站。
  • 时区设置:对时前请确认时区正确:
    sudo timedatectl set-timezone Asia/Shanghai
    
  • 手动强制同步(仅用于测试)
    如果使用 chrony,可执行 sudo chronyc -a makestep 强制立即调整时间。

建议优先尝试 方案一,若发现时间漂移较大或同步不稳定,再切换至 方案二

posted @ 2026-07-28 09:44  Mr42Sir  阅读(27)  评论(0)    收藏  举报