天天看點

Linux伺服器搭建--NTP伺服器的搭建與配置

起因

公司内網裡有多台伺服器,由于是區域網路下,是以時間無法與Internet進行時間同步,故想通過搭建NTP伺服器,NTP伺服器與Internet進行時間同步,而區域網路中的其他伺服器與該NTP伺服器進行時間同步。

NTP介紹

網絡時間協定(Network Time Protocol),用于時間同步。計算機時間在某些情況下會出現時間不準确的問題,此時就可以通過NTP進行時間調節。

NTP安裝與配置

測試環境為Red Hat 6.4

1. 檢測安裝包

rpm -qa | grep ntp
# 若顯示如下資訊,則代表已安裝ntp服務
# ntpdate-4.2.4p8-3.el6.x86_64
# fontpackages-filesystem-1.41-1.1.el6.noarch
# ntp-4.2.4p8-3.el6.x86_64

# 若未安裝 ntp ,則使用 yum 進行安裝
yum install ntp
           

2. NTP配置

NTP配置檔案位于 /etc/ntp.conf ,其中設定方法如下:

① restrict 用于權限管理

ntp.conf 檔案内可以通過restrict進行NTP伺服器連接配接控制。

簡單的說,就是對能夠連接配接本 NTP 伺服器的用戶端進行限制。

# 格式
restrict [IP] mask [netwask_IP] [parameter]
# 其中 IP 為你需要設定的IP
# mask 為網關資訊
# parameter 可設定不同的參數
#	- ignore:拒絕所有類型的 NTP 連接配接
#	- nomodify:用戶端不能使用 ntpc 與 ntpq 這兩個程式來修改伺服器的時間參數,但是用戶端仍可以通過這部主機來進行網絡校時
#	- noquery:用戶端不能夠使用 ntpq、ntpc 等指令來查詢時間伺服器,等于不提供 NTP 的網絡校時
#	- notrap:不提供 trap 這個遠端事件登入的功能
#	- notrust:拒絕沒有認證的用戶端
#	- nopeer:用于阻止主機嘗試與伺服器對等,并允許欺詐性伺服器控制時鐘
#	- kod:通路違規時發送 KoD 包
#	restrict -6 表示IPV6位址的權限設定

例如:
restrict 192.168.1.127 nomodify notrap notrust # 允許192.168.1.127進行校時
restrict 192.168.1.0 mask 255.255.255.0 nomodify # 允許 192.168.1.0 網段下的所有主機進行校時
           

② 利用 server 設定上層的 NTP 伺服器

在 ntp.conf 檔案中可以通過 server 參數設定其與哪個NTP伺服器進行同步時間

# 格式
server [IP or hostname] [perfer]
# server 後面可以跟具體的 NTP 伺服器 IP 或主機名稱
# perfer 表示是否優先連接配接該伺服器

例如:
server 192.168.1.127 perfer  # 以127做為優先伺服器
server 192.168.1.128
           

③ 通過 driftile 記錄時間差異

可以指定某個檔案用于記錄目前主機BIOS的晶片振蕩周期頻率與上層的Time Server的誤差。

# 格式
driftfile [可以被 ntpd 寫入的目錄與檔案]
# 注意:該檔案路徑必須能夠被ntpd讀寫,否則會報錯
           

④ 通過 keys 來設定秘鑰進行限制用戶端連接配接

3. 啟動NTP服務

NTP服務通過 udp協定 與 123端口 進行通信。

service ntpd status  # 檢視NTP服務狀态
service ntpd start   # 啟動NTP服務

netstat -tlunp | grep ntp    # 觀察NTP服務是否已啟動監聽

ntpstat    # 檢視ntp伺服器連接配接資訊
ntpq -p    # 列印出已連接配接的上層 NTP Server 資訊

例如:
[[email protected] Desktop]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*120.25.115.20   10.137.53.7      2 u  572 1024  377   36.830   -1.902   4.811
+electrode.felix 56.1.129.236     3 u  233 1024  377  212.645   -2.799   1.346
 ntp.wdc1.us.lea 130.133.1.10     2 u  11h 1024    0  215.177   -2.970   0.000
+undefined.hostn 127.67.113.92    2 u  239 1024  377  160.769    3.244  10.146

- remote:遠端連接配接的NTP主機名或IP,“*”代表正在作用的上層NTP,“+”代表次級候選NTP伺服器
- refid:參考的上一層NTP主機的位址
- st:就是stratum階層,目前NTP主機的層級資訊
- when:幾分鐘前層走過同步化更新
- poll:下次更新在幾秒鐘後
- reach:已經向上層NTP伺服器要求更新的次數
- delay:網絡傳輸過程中延遲的時間,機關為10^-6秒
- offset:時間補償的結果,機關為10^-3秒
- jitter:Linux系統時間與BIOS硬體時間的差異時間,機關為10^-6秒
           

注意

  1. 完成NTP伺服器後,還需要檢查防火牆的狀态,確定防火牆開放了123端口。
  2. NTP伺服器之間的時間差必須小于1000s,否則會出現伺服器連接配接關閉,無法進行時間校驗
  3. 若 NTP Server 本身未連接配接外網,則需要在 ntp.conf 檔案中Server部分添加如下設定資訊:
# 在其他伺服器都無法同步成功時,同步本地伺服器
server 127.127.1.0
fudge 127.127.1.0 stratum 10
           

Windows 10下如何連接配接NTP伺服器

  1. 右鍵右下角時間,選擇“調節日期/時間”,打開時間配置界面
  2. 點選“添加不同時區使用”,打開日期/時間配置界面
  3. 在Internet标簽欄頁面中,點選“更改設定”,打開Internet時間設定,手動修改伺服器主機名或IP即可。
    Linux伺服器搭建--NTP伺服器的搭建與配置
    完成上述配置後,即可完成Windows連接配接NTP伺服器配置

Windows 下如何修改同步時間的間隔

  1. win + r 打開 “運作” 視窗,輸入 “regedit” 回車,打開系統資料庫視窗
    Linux伺服器搭建--NTP伺服器的搭建與配置
  2. 在系統資料庫視窗中,按如下目錄查找鍵值 [ HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Services – W32Time – TimeProviders – NtpClient ] 找到 “SpecialPollInterval”
    Linux伺服器搭建--NTP伺服器的搭建與配置
  3. 輕按兩下該鍵值,切換到十進制模式下,該數值即為Windows同步時間的間隔,機關為秒,可按自己需要進行修改,如我将其改為 “86400” (60x60x24,即一天)
    Linux伺服器搭建--NTP伺服器的搭建與配置
  4. 完成上述修改後,關閉系統資料庫視窗,統一使用 win + r 打開 “運作” 視窗,輸入 “services.msc”,打開 “服務” 視窗,找到 “Windows Time” 服務,右鍵重新開機該服務即可完成時間間隔修改設定。
    Linux伺服器搭建--NTP伺服器的搭建與配置

繼續閱讀