Linux

與 ntpd 同步伺服器時間的問題

  • December 27, 2016

我正在嘗試將一台機器與另一台機器同步。兩者都執行 Debian lenny,我在兩者中都安裝了 ntp 包。我通過將伺服器配置為與外部機器同步

server IP.ADDRESS iburst

在它的 /etc/ntp.conf 文件中。

我只將伺服器放在客戶端的 /etc/ntp.conf 中,將客戶端配置為與服務同步。

但是,它們似乎沒有同步。ntpq 顯示狀態為 INIT - 根據文件 - 表明“關聯尚未首次同步”

# ntpq -n
ntpq> pe
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
10.99.84.134    .INIT.          16 u  665 1024    0    0.000    0.000   0.000

ntpq -> 在條件行中顯示“拒絕”:

# ntpq
ntpq> as

ind assID status  conf reach auth condition  last_event cnt
===========================================================
 1 40102  8000   yes   yes  none    reject

知道如何解決這個問題嗎?(我寧願不使用 ntpdate)。

問題是伺服器本身無法與其上游伺服器同步。解決方案是像這樣更改伺服器配置:

重新啟用 Debian 池伺服器而不是我的單個硬編碼伺服器。

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

我添加了一個本地時鐘參考,這使伺服器看起來與客戶端同步,即使它不是,這是我的設置所需的行為。

server 127.127.1.0
fudge 127.127.1.0 stratum 10

一旦我進行了這些更改,伺服器就設法自行同步,然後客戶端設法與伺服器同步。

如今,許多發行版都在配置 ntpd 以限制訪問。如果restrict您的伺服器中存線上路/etc/ntp.conf,則僅允許與這些線路匹配的主機/網路連接到 ntpd。您可能需要為restrict要允許同步到伺服器的主機或網路添加額外的行。例如,要讓您提到的客戶端同步,請添加以下行之一:

# allow just this host
restrict 10.99.84.134 nomodify notrap

# or allow the whole /24 segment
restrict 10.99.84.0 mask 255.255.255.0 nomodify notrap

之後,重新啟動 ntpd,您的客戶端應該能夠同步。

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