AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 461752
Accepted
Crash Override
Crash Override
Asked: 2012-12-31 00:54:12 +0800 CST2012-12-31 00:54:12 +0800 CST 2012-12-31 00:54:12 +0800 CST

ntpdate 和 ntpd 无法在 Linux 上同步时钟

  • 772

我的一台服务器有一个奇怪的问题。 ntpd并ntpdate无法工作,但调试显示没有任何错误。起初我以为可能是本地或网络防火墙阻止了 UDP 端口 123,但事实并非如此——该服务器可以通过 UDP 端口 123(ntp 协议)与 Internet 通信并获得答案。

让我演示一下这个问题。

date -s "30 DEC 2012 02:30:00"- 有效,所以我可以成功地设置时钟而不会出错。

ntpq -pn pool.ntp.org- 有效,我确实从时间服务器获取了详细的时间数据,并证明 UDP 数据包正在运行。

ntpdate -d pool.ntp.org- 调试模式有效,显示大量调试数据并显示当前时间偏移: 30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec

一切看起来都很正常,直到: ntpdate pool.ntp.org- 暂停 4.7 秒后,它返回: 30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found

类似ntpd的问题运行,它不更新时钟。

ntpd 启动后,ntpq -pn导致所有 refid 永远停留在.INIT.这意味着它们无法同步。

/var/lib/ntp/drift 是 ntp.conf 中的 driftfile 设置,它是 chmod 644 并且归 ntp:ntp 所有,与我所有其他系统一样。

我尝试了十几个其他的 ntp 时间服务器,禁用了 iptables 防火墙,并确认数据中心没有过滤 udp 流量。有什么想法阻止 ntpd 和 ntpdate 同步我的时钟吗?

这是配备 Intel CPU 的专用服务器上的 CentOS 6.3 x64。

ntp
  • 2 2 个回答
  • 65212 Views

2 个回答

  • Voted
  1. Best Answer
    chutz
    2012-12-31T00:58:16+08:002012-12-31T00:58:16+08:00

    ntpdatentpd如果偏移量太高,(和)将拒绝(轻松地)设置时间。这两个应用程序都会尝试慢慢调整您的时间,以免混淆您的系统或任何可能无法很好地处理大时间跳跃的应用程序。

    试试ntpdate -b吧。无论看起来多么不合理,它都会设定时间。

    您可能还需要添加-u标志,以防止ntpdate使用特权(<1024)端口。请注意,这-u是隐含的-d!听起来-d工作正常。

    如果添加-u在工作和非工作之间产生差异,那么您在导致这些问题的方式上有防火墙。

    不幸的是,似乎无法ntpd使用不受限制的端口。

    • 15
  2. Soham Chakraborty
    2012-12-31T09:09:01+08:002012-12-31T09:09:01+08:00

    你能在 pastebin 中提供以下输出吗?

    cat /etc/ntp.conf
    cat /etc/sysconfig/ntpd
    ntpq -pn
    ntpdc -c sysstat
    ntpdc -c kerninfo
    ntpdc -c loopinfo
    ntpdate -d <time-server-IP>
    ntptrace
    

    您是从 stratum 1 服务器同步还是从其他任何服务器同步。

    No server suitable for synchronization 意思是说客户端和服务器之间无法建立通信。

    如果我们不能从这组数据中找到线索,可能需要 tcpdump 来查看数据包丢失的位置。

    tcpdump -s0 -i ethX -p udp -w /tmp/ntp.pcap
    

    停止并启动 ntpd 守护程序并等待达到 377,然后停止 tcpdump。这应该会提供进一步的线索。

    • 3

相关问题

  • 网络时间服务器的 DHCP 选项

  • 公共 NTP 服务器

  • 时间同步和计划任务

  • 时间漂移

  • Windows Server 无法可靠地同步 NTP 时间

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve