ntpdate: no server suitable for synchronization found解决

内容目录

问题

无法同步时间

[root@eva_admin ~]# /usr/sbin/ntpdate ntp.aliyun.com
14 Mar 00:31:59 ntpdate[29497]: no server suitable for synchronization found

解决方案

时间偏差9小时非常大。这通常会导致 ntpdate 拒绝同步,因为默认情况下,如果时间偏差过大,NTP 服务器会拒绝调整。
所以我先调整到最近时间

[root@eva_admin ~]# date -s "2025-03-14 09:40:00"
Fri Mar 14 09:40:00 CST 2025
[root@eva_admin ~]# ntpdate -u ntp.aliyun.com
14 Mar 09:42:32 ntpdate[31439]: step time server 203.107.6.88 offset 152.361858 sec

-u 选项表示 使用非特权端口(大于 1024)进行 NTP 请求,适用于 防火墙可能阻止了低端口(UDP 123)的出站流量的情况。

其他可能原因

排查备用

你的 ntpdate 命令无法同步时间,可能的原因如下:

1. 服务器无法访问外部 NTP 服务(最常见)

  • 你的服务器可能 无法访问互联网,或者 被防火墙阻止了 NTP(UDP 123 端口)

解决方案

  1. 检查网络连接

    ping -c 4 ntp.aliyun.com

    如果 ping 不通,说明网络有问题。可以尝试:

    curl -I http://www.baidu.com

    如果 curl 也失败,说明服务器可能没有外网权限,需要联系网络管理员。

  2. 检查防火墙

    iptables -L -n | grep 123

    如果有规则阻止 UDP 123,可以临时关闭防火墙:

    service iptables stop

    或者开放 UDP 123 端口

    iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
    iptables -A INPUT -p udp --sport 123 -j ACCEPT
    service iptables save
    service iptables restart
  3. 尝试不同的 NTP 服务器

    /usr/sbin/ntpdate time.windows.com
    /usr/sbin/ntpdate 0.pool.ntp.org
    /usr/sbin/ntpdate 1.cn.pool.ntp.org

2. ntpdate 已被废弃,建议使用 ntpd

CentOS 6 默认安装的是 ntpdate,但这个工具已经被废弃,建议使用 ntpd

yum install -y ntp
service ntpd stop
ntpdate -u ntp.aliyun.com
service ntpd start
chkconfig ntpd on

3. NTP 服务器可能挂了

如果 ping 通 NTP 服务器,但 ntpdate 仍然失败,可能是目标服务器宕机了。可以尝试:

ntpq -p

如果没有输出,换一个 NTP 服务器(如 0.cn.pool.ntp.org)。


4. 服务器时间太久未同步,导致 NTP 拒绝同步

如果你的服务器时间偏差太大,NTP 可能拒绝同步。这种情况下可以手动设置时间:

date -s "2025-03-14 10:00:00"

然后再尝试 ntpdate

/usr/sbin/ntpdate -u ntp.aliyun.com

总结

  1. 检查网络ping ntp.aliyun.com,如果不通,先修复网络。
  2. 检查防火墙:是否阻止了 UDP 123 端口。
  3. 尝试不同的 NTP 服务器
  4. 改用 ntpd 进行时间同步
  5. 手动调整时间,再尝试 ntpdate

如果这些方法都失败了,可能你的服务器没有外网权限,建议找网络管理员排查。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注