Linux

ntpdate,ntpd 可以從 time.google.com 更新時間但是 ntpd 服務失敗

  • February 15, 2017

我正在嘗試將我的 Ubuntu 12.04.5 實例與 Google 時間伺服器同步,time{1,4}.google.com並且我可以使用 ntpdate 和 ntpd 成功查詢,但是一旦我將 ntp 作為服務啟動,它就無法聯繫時間伺服器。不知道為什麼我能做一個但不能做另一個?

使用 ntpdate 查詢有效:

$ ntpdate time1.google.com
14 Feb 10:47:28 ntpdate[17245]: adjust time server 216.239.35.0 offset 0.015588 sec

與使用 ntpd 進行查詢一樣:

$ ntpd -q -g -c /etc/ntp.conf
ntpd: time slew -0.004094s

但是一旦我啟動了 ntpd 服務,我在 ntpq 中看到的只是 INIT:

$ service ntp start
$ ntpq -n
ntpq> peers
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
<local IP>      .INIT.          16 u    -   64    0    0.000    0.000   0.000
216.239.35.0    .INIT.          16 u    -   64    0    0.000    0.000   0.000
216.239.35.4    .INIT.          16 u    -   64    0    0.000    0.000   0.000
216.239.35.8    .INIT.          16 u    -   64    0    0.000    0.000   0.000
216.239.35.12   .INIT.          16 u    -   64    0    0.000    0.000   0.000

它不會從這個狀態改變。我的 ntp.conf 文件完全由 Google 伺服器組成,沒有其他內容(沒有限制行):

$ cat /etc/ntp.conf
server time1.google.com
server time2.google.com
server time3.google.com
server time4.google.com

設法解決了這個問題;這是由於初始化腳本硬編碼了與標準配置文件不同的配置文件,這意味著我的配置文件更新沒有效果,並且restrict它實際使用的配置文件中的值不正確。

15 分鐘後再回來檢查。

客戶端通常需要幾分鐘才能同步到伺服器。

當第一次啟動並且頻率文件不存在時,守護程序進入特殊模式以校準頻率。這需要 900 秒,在此期間時間不受約束。

http://doc.ntp.org/current-stable/debug.html

調試頁面還顯示了更多要查看的變數,尤其是associations命令。

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