cmos
V2EX  ›  问与答

时间同步(NTP)疑难杂症求解

  •  
  •   cmos · Apr 13, 2023 · 2105 views
    This topic created in 1128 days ago, the information mentioned may be changed or developed.

    背景

    买了一台 VPS ,安装 Debian 11 系统,使用systemd-timesyncd进行时间同步,即 NTP 服务。

    网络细节:洛杉矶机房,接入 AS9929 ,IP 属于 AfriNIC ,广播到本机上,host 使用 PVE 系统。

    现象

    无法从 NTP Server 获取数据,报错如下:

    systemd-timesyncd: Timed out waiting for reply from 162.159.200.1:123 (0.debian.pool.ntp.org).
    

    已经做过的尝试

    • 临时从 HE.NET 隧道 IPv6 ,目前走 IPv6 可以正常链接 NTP Server 进行时间同步。
    • IDC/host 明确没有对网络做过任何限制。
    • 使用 golang 写了手动获取 NTP 数据的程序,在其他 VPS 上正常运行,在此 VPS 上无法正常工作,但能解析 NTPServer 对应的 IP 地址。
    • 使用 netcat 查看 udp 是否能连接外网,发现是正常的,如下。
    nc -vz -u 8.8.8.8 443
    Connection to 8.8.8.8 443 port [udp/https] succeeded!
    nc -vz -u 0.hk.pool.ntp.org 123
    Connection to 0.hk.pool.ntp.org (45.125.1.20) 123 port [udp/ntp] succeeded!
    

    这个问题已经困扰我好几天了,真是个疑难杂症!

    Supplement 1  ·  Apr 13, 2023
    补充 1#的禁 udp/123 入站猜想:VPS 跑了一个 UDP Server ,可以通过 netcat 连接。所以不是这个原因。
    5 replies    2023-04-14 11:10:23 +08:00
    piku
        1
    piku  
       Apr 13, 2023 via Android
    换上游呗,可能上游就是不行呢。
    还有一种可能是防火墙( ufw ?)禁了 udp/123 入站。
    还有一种可能是时钟与上游差异过大,但是看提示是超时(指二次发包没回应,不代表无法连接)。
    此外除了 timesyncd ,还可以选用 chrony ,ntpd 等
    cmos
        2
    cmos  
    OP
       Apr 13, 2023
    @piku 1#
    感谢提醒,我来试试是不是入站 UDP/123 被禁了。
    blankmiss
        3
    blankmiss  
       Apr 13, 2023
    不是可以换 ntp 服务器吗
    julyclyde
        4
    julyclyde  
       Apr 14, 2023
    nc 那个 udp/https 说啥啊??
    cmos
        5
    cmos  
    OP
       Apr 14, 2023 via Android
    @blankmiss 3#
    @julyclyde 4#
    我又查了一下,应该是上游封禁了 ntp 协议。换了 htpdate 实现 ntp over http 可以绕开这个问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4240 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 10:12 · PVG 18:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.