Linux
與 ntpd 同步伺服器時間的問題
我正在嘗試將一台機器與另一台機器同步。兩者都執行 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,您的客戶端應該能夠同步。