wsl2中安装openEuler22.03(另一台电脑上23.03),ntp不能自动同步时间

在win10上面通过wsl2安装的openEuler22.03,然后:
1、安装了ntp、ntpdate、rdate软件;
2、手动通过ntpdate同步了系统时间;
3、设置了ntp同步的时间服务器后,启动ntpd服务;
4、通过date,手动调整了时间(比当前时间快了6分钟);
5、然后就没有然后了,ntpd服务也在启动中,可是时间一直没有自动同步,还是显示我第4步中手动设备的比当前时间快6分钟的时间。

通过在另外一台win10电脑上wsl2安装的openEuler23.03,与上面一样的步聚,还是一样的结果,也是没有自动同步时间。

可是…可是…
在同一台电脑上wsl2中安装debian,同样的步聚安装了ntp、ntpdate、rdate软件,也是同样的设备ntp.conf文件,然后就能自动同步时间,不论是手动设置的时间比当前快多少都能同步成功。(最大我设置时间为2099-12-12 22:22:00,一样能同步成功)。

请高手指导,问题出在哪儿了??

谢谢!

你好,据我所知openEuler默认的ntp配置里,是没有配置任何ntp服务器的
可以先执行一下看看是否配置了服务器,下面这个是正常的显示

$ ntpq -pn                                                                        ✔  15:04:48
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.pool.ntp.org  .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 1.pool.ntp.org  .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 2.pool.ntp.org  .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 3.pool.ntp.org  .POOL.          16 p    -   64    0    0.000   +0.000   0.000

如果没有,可以试试在/etc/ntp.conf里加上这些服务的配置,例如

pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
pool 3.pool.ntp.org iburst

同时确保你的WSL环境和服务器之间是联通的(ntp使用的UDP协议,服务器端口是123)
可以使用下面的命令测试一下

$ sntp 3.pool.ntp.org
4.2.8p15@1.3728-o Mon Mar 27 15:17:43 UTC 2023 (1)
kod_init_kod_db(): Cannot open KoD db file /var/lib/sntp/kod: No such file or directory
0.pool.ntp.org 81.16.177.123 no UCST response after 5 seconds

如上打印就表示网络不通

1 Like

非常感谢

如您所说,前几步的设置检查了都没问题,最后这一步
$ sntp 132.163.96.1
sntp 4.2.8p15@1.3728-o Mon Mar 27 15:17:43 UTC 2023 (1)
kod_init_kod_db(): Cannot open KoD db file /var/lib/sntp/kod: No such file or directory
2023-07-07 18:05:01.123281 (-0800) +0.297009 +/- 0.198590 132.163.96.1 s1 no-leap

显示时间服务器也是通的。

就是不知道为什么ntp不能自动较时,尝试安装systemd-timesyncd来作为客户端自动较时,可是它不能在wsl中运行:
$ service systemd-timesyncd status
Redirecting to /bin/systemctl status systemd-timesyncd.service
○ systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Condition: start condition failed at Fri 2023-07-07 17:40:28 CST; 3s ago
└─ ConditionVirtualization=!container was not met
Docs: man:systemd-timesyncd.service(8)

放弃ntp,安装了chrony,可以自动较时。

:)