Linux

NTP 正在執行,系統時鐘仍然不准時 - 什麼給出了?

  • April 15, 2016

Debian Stable (5.0.3) 伺服器正在執行ntpd,並連接到網際網路。儘管如此,系統時鐘還是錯了大約 5 分鐘。

$ /etc/init.d/ntp status
NTP server is running..

相關部分(我認為)/etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

我知道 NTP 不一定會立即及時顯示時鐘。不過,您需要等待多少小時或幾天才能合理地預期 NTP 已完成其工作並同步時鐘?

我是否缺少其他一些配置文件或選項,或者只是做錯了什麼?ntp (而不是例如ntpdate)是正確的工具嗎?有什麼快速的方法來檢查配置是否正確以及選擇的 NTP 伺服器是否返回正確的時間?

編輯:輸出ntpq -p是:

    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ns1.nexellent.n .INIT.          16 u    - 1024    0    0.000    0.000   0.000
dnscache-madrid .INIT.          16 u    - 1024    0    0.000    0.000   0.000
sinister.wzw.tu .INIT.          16 u    - 1024    0    0.000    0.000   0.000
dnscache-frankf .INIT.          16 u    - 1024    0    0.000    0.000   0.000

編輯2:結果ntpdate -u 0.europe.pool.ntp.org命令(布倫特建議)返回

17 Dec 17:37:29 ntpdate[14195]: no server suitable for synchronization found

…即使在其他機器上該命令工作正常。因此,我們將查看此特定伺服器的網路/防火牆設置(位於不同的網路中,通過 VPN 訪問)。

解決方法:罪魁禍首不是我們伺服器上的本地防火牆,而是周圍網路某處的防火牆設置。因此,我們要求伺服器託管提供商允許我們的機器使用 NTP,現在它工作正常。例如,ntpq -p現在返回:

    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ns1.eunet.fi    192.36.144.23    2 u   10   64    1    1.043    0.258   0.001
ns2.eunet.fi    62.142.10.44     2 u    9   64    1    0.671    0.135   0.001
ns3.eunet.fi    62.142.10.44     2 u    8   64    1    0.750    0.277   0.001

(我們還切換到由託管公司重新啟動的 eunet.fi 伺服器,但這不是重點。)布倫特的回答中的命令很有幫助,因為它們讓我意識到問題出在網路訪問 NTP 伺服器,而不是 NTP 配置本身。感謝大家!

停止 ntpd,執行ntpdate -u 0.europe.pool.ntp.org3 次,啟動 ntpd,檢查ntpq -p、延遲、偏移和抖動應該非零。

如果我不得不猜測為什麼並假設您具有網路連接並且可以毫無問題地看到您的 NTP 主機,那麼您可能已經偏離了一個很大的值。如果時間差大於 X(對不起,我不記得 X 是什麼意思),則會列印警告並且時間不會同步。您可以檢查您的系統日誌消息以了解這種情況。

如果是這種情況,請停止 NTP,執行 ntpdate host 並重新啟動NTPD,這將強制時間同步,然後開始保持同步,如果您繼續漂移那麼大,您可能有硬體問題。

引用自:https://serverfault.com/questions/95342