windows下ntp伺服器的搭建與配置
『壹』 伺服器搭建四——NTP伺服器搭建
虛擬主機中安裝的Centos 6.9
安裝的軟體NTP
NTP(network time protocol 網路時間協議)用於同步計算機和網路設備的內部的時間一種協議。
使用 yum list installed|grep ntp 看到有@base表示已經安裝了ntp軟體,ntpdate軟體是用來和其他伺服器做時間校對的軟體,但是網路上有看到不建議使用,但是當我們網路linux時間調整他是最容易被搜索到的,最後會討論他們兩個的區別。另外還有個修改時間的rdate。也可以使用命令: rpm -qa|grep ntp 查看效果一樣的。
在配置之前首先查看是否可以啟動 /etc/rc.d/init.d/ntpd start 可以正常啟動
ps -aux|grep ntp可以查看啟動情況 另外嘗試使用ntpd start發現這個是一個命令不是啟動。使用whereis命令查看ntpd 對應的是/etc/sbin/ntpd這個是進程文件。啟動文件是/etc/rc.d/init.d/ntpd。
NTP的配置文件相對來說比較簡單,具體見下面的配置實例:
NTP 服務的埠號是123協議是UDP,注意防火牆開發
還修改/etc/ntp/stpe-tickers文件,內容如下(當ntpd服務啟動時,會自動與該文件中記錄的上層NTP服務進行時間校對)這個文件和主配置文件的選項sever功能特別像那麼有什麼區別呢?
service ntpd status #查看ntpd服務狀態
service ntpd start #啟動ntpd服務
service ntpd stop #停止ntpd服務
service ntpd restart #重啟ntpd服務
ntpq -p 列出所有作為時鍾源校正過本地FTP伺服器的上層伺服器的列表
ntpstat 本地伺服器與上層伺服器進行了同步本地伺服器為4、3層偏差小於1014ms或者218毫秒 每64s查詢一次上層伺服器的時間
至於在linux系統和windows下如何校正時間應該不用我在說了吧。時間伺服器都會搭建再不知道這個就有點說不過去的啊。
remote - 本機和上層ntp的ip或主機名,「+」表示優先,「*」表示次優先
refid - 參考上一層ntp主機地址
st - stratum階層
when - 多少秒前曾經同步過時間
poll - 下次更新在多少秒後
reach - 已經向上層ntp伺服器要求更新的次數
delay - 網路延遲
offset - 時間補償
jitter - 系統時間與bios時間差
ntpd在實際同步時間時是一點點的校準過來時間的,最終把時間慢慢的校正對。而ntpdate不會考慮其他程序是否會陣痛,直接調整時間。
一個是校準時間,一個是調整時間。
linux系統:
ntpdate 198.17.16.20(我的自己的內網)
rdate -s 198.17.16.20(也可以)
windows:
『貳』 NTP伺服器的配置和使用
為了避免Linux系統的主機,在長時間運行下所導致的時間偏差。因此我們需要對時間進行時間同步(synchronize)。我們一般使用ntp服務來同步不同機器的時間。NTP 是網路時間協議(Network Time Protocol)的簡稱,他是通過UDP協議,對時間進行同步的。
編輯NTP Server的主要配置文件為/etc/ntp.conf ,如下:
配置含義:
配置完畢,重啟NTP服務,使配置更改生效。
查看NTP服務和上級連通狀態
內網其他設備作為NTP的客戶端配置,相對就比較簡單,而且所有設備的配置都相同。
首先需要安裝NTP服務(與NTP-Server完全一樣)。然後找其中一台配置/etc/ntp.conf文件,配置完成驗證通過後,拷貝到其他客戶端機器,直接使用即可。
注釋掉之前的上層服務,以下幾行
添加本地的NTP伺服器即可完成配置
可以用date命令查看時區
如果時區是EST需要改成CST
選擇亞洲 /中國 /北京 /然後確認
改完後執行如下復制語句
使用
172.17.30.100為你的NTP伺服器的ip地址,顯示adjust time server 192.168.1.135 offset 0.004882 sec
這里有可能出現同步失敗,一般情況下原因都是本地的NTPD伺服器還沒有正常啟動起來,一般需要幾分鍾時間後才能開始同步。
也有報錯 no server suitable for synchronization found,這種問題由一下兩種情況造成:
Server dropped: strata too high:
並且顯示「stratum 16」。而正常情況下stratum這個值得范圍是「0~15」。
這種問題往往是由ntp服務啟動後還沒有和上層服務同步完成,可以等五分鍾再次查看。
Server dropped: strata no data:
這種問題一般是因為訪問不到NTP服務,需要檢查NTP服務是否啟動成功,或者是否是被防火牆攔截。
啟動NTP_Client
啟動後,查看同步情況
由於是內網,NTP服務很快會同步上,可以使用下面命令查看時間是否和伺服器時間相同
本機客戶端配置完成後,需要同步的客戶端機器使用SCP拷貝/etc/ntp.conf,命令如下,啟動NTP服務即可。
Linux的NTP配置總結
NTP服務及時間同步問題
『叄』 如何搭建自己的NTP伺服器
1、首先使用組合鍵WIN + R 啟動運行窗口,在打開的窗口中輸入regedit,點擊確定按鈕。
『肆』 server2008如何搭建ntp伺服器
當你配置正確,你可以用Windows Time(W32Time)service 建一個SNTP/NTP伺服器為Windows或非windows客戶端提供時間服務。
步驟如下:
1.打開開始菜單,點擊運行輸入regedit打開Windows注冊表。 2.找到如下位置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 3.找到AnnounceFlags 雙擊修改值為5保存。 4. 開啟NTPServer
1.在注冊表中找到如下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\ 2.找到Enable並修改其值為1.
5.打開開始菜單輸入CMD在命令行模式下輸入:
net stop w32time && net start w32time 重啟一下win32time服務。 ----------------------------- 需要注意的問題:
1. 在系統服務中設置W32Time服務啟動模式為自動。 2.確定防火牆允許UDP123埠訪問。
這樣你可以在NTP客戶端上測試從這台伺服器校對系統時間啦。
也可參考下面的資料:http://www.07net01.com/linux/Windows_2008_Server_dajian_NTP_fuwuqi_17115_1348536542.html
『伍』 怎樣把WINDOWS7設置成NTP時間伺服器
推薦使用linux操作系統搭建ntp伺服器
一、選擇伺服器基準時鍾,可選擇內部硬體時鍾和外部NTP授時伺服器。(首先要保證自己的時間准確)
A.配置Windows時間服務以使用伺服器內部硬體時鍾
(1).單擊「開始」,單擊「運行」,鍵入regedit,然後單擊「確定」。
(2).找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
(3).在右窗格中,右鍵單擊「AnnounceFlags」,然後單擊「修改」。
(4).在「編輯DWORD值」的「數值數據」框中鍵入A,然後單擊「確定」。
B.配置Windows時間服務以使用外部時間源
(1).指定時間源。為此,請按照下列步驟操作:
a.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
b.在右窗格中,右鍵單擊「NtpServer」,然後單擊「修改」。
c.在「編輯值」的「數值數據」框中鍵入Peers,然後單擊「確定」。
注意:Peers是一個佔位符,應替換為您的計算機從中獲取時間戳的對等端列表(以空格分隔)。列出的每個DNS名稱都必須是唯一的。必須在每個DNS名稱後面附加,0x1。如果不在每個DNS名稱後面附加,0x1,則在下面步驟中所做的更改將不會生效。
(2).選擇輪詢間隔。為此,請按照下列步驟操作:
a.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
SpecialPollInterval
b.在右窗格中,右鍵單擊「SpecialPollInterval」,然後單擊「修改」。
c.在「編輯DWORD值」的「數值數據」框中鍵入TimeInSeconds,然後單擊「確定」。
注意:TimeInSeconds是一個佔位符,應替換為您希望各次輪詢之間的間隔秒數。建議值為900(十進制)。該值將時間伺服器配置為每隔15分鍾輪詢一次。
(3).配置時間校準設置。為此,請按照下列步驟操作:
a.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
MaxPosPhaseCorrection
b.在右窗格中,右鍵單擊「MaxPosPhaseCorrection」,然後單擊「修改」。
c.在「編輯DWORD值」的「基數」框中單擊以選擇「十進制」。
d.在「編輯DWORD值」的「數值數據」框中鍵入TimeInSeconds,然後單擊「確定」。
注意:TimeInSeconds是一個佔位符,應替換為適當的值,如1小時(3600)或30分鍾(1800)。您選擇的值將因輪詢間隔、網路狀況和外部時間源而異。
e.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
MaxNegPhaseCorrection
f.在右窗格中,右鍵單擊「MaxNegPhaseCorrection」,然後單擊「修改」。
g.在「編輯DWORD值」的「基數」框中單擊以選擇「十進制」。
h.在「編輯DWORD值」的「數值數據」框中鍵入TimeInSeconds,然後單擊「確定」。
注意:TimeInSeconds是一個佔位符,應替換為適當的值,如1小時(3600)或30分鍾(1800)。您選擇的值將因輪詢間隔、網路狀況和外部時間源而異。
二、配置NTP授時伺服器
(1).將伺服器類型更改為NTP。為此,請按照下列步驟操作:
a.單擊「開始」,單擊「運行」,鍵入regedit,然後單擊「確定」。
b.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
c.在右窗格中,右鍵單擊「Type」,然後單擊「修改」。
d.在「編輯值」的「數值數據」框中鍵入NTP,然後單擊「確定」。
(2).將AnnounceFlags設置為5。為此,請按照下列步驟操作:
a.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
b.在右窗格中,右鍵單擊「AnnounceFlags」,然後單擊「修改」。
c.在「編輯DWORD值」的「數值數據」框中鍵入5,然後單擊「確定」。
(3).啟用NTPServer。為此,請按照下列步驟操作:
a.找到並單擊下面的注冊表子項:
程序代碼
HKEY_LOCAL_
b.在右窗格中,右鍵單擊「Enabled」,然後單擊「修改」。
c.在「編輯DWORD值」的「數值數據」框中鍵入1,然後單擊「確定」。
三、使配置即時生效
1.退出注冊表編輯器。
2.在命令提示符處,鍵入以下命令以重新啟動Windows時間服務,然後按Enter:
程序代碼
netstopw32time&&netstartw32time
四、配置防火牆允許NTP訪問
如果你需要在伺服器所在區域外訪問該伺服器的NTP服務,需要在防火牆上添加允許:
程序代碼
名稱埠協議方向
SNTP時間基準123UDP入
五、相關注冊表說明
注冊表項MaxPosPhaseCorrection
路徑HKEY_LOCAL_
注意:該項指定服務可進行的最大正時間校準量(以秒為單位)。如果服務確定某個更改幅度大於所需的幅度,它將記錄一個事件。(0xFFFFFFFF是一種特殊情況,它表示總是校準時間。)域成員的默認值是0xFFFFFFFF。獨立客戶端和伺服器的默認值是54,000,即15小時。
注冊表項MaxNegPhaseCorrection
路徑HKEY_LOCAL_
注意:該項指定服務可進行的最大負時間校準量(以秒為單位)。如果服務確定某個更改幅度大於所需的幅度,它將轉而記錄一個事件。(-1是一種特殊情況,它表示總是校準時間。)域成員的默認值是0xFFFFFFFF。獨立客戶端和伺服器的默認值是54,000,即15小時。
注冊表項MaxPollInterval
路徑HKEY_LOCAL_
注意:該項指定系統輪詢間隔所允許的最大間隔(單位是對數表示的秒)。盡管系統必須根據預定的間隔進行輪詢,但是提供程序可以根據請求拒絕生成示例。域成員的默認值是10。獨立客戶端和伺服器的默認值是15。
注冊表項SpecialPollInterval
路徑HKEY_LOCAL_
注意:該項指定手動對等端的特殊輪詢間隔(以秒為單位)。當啟用SpecialInterval0x1標志時,W32Time將使用此輪詢間隔而非操作系統確定的輪詢間隔。域成員的默認值是3,600。獨立客戶端和伺服器的默認值是604,800。
注冊表項MaxAllowedPhaseOffset
路徑HKEY_LOCAL_
注意:該項指定W32Time嘗試使用時鍾速率調整計算機時鍾的最大偏移量(以秒為單位)。當偏移量大於該速率時,W32Time將直接設置計算機時鍾。域成員的默認值是300。獨立客戶端和伺服器的默認值是1。
備注說明:
1、一般操作:
1)將時間伺服器改成,授時中心地址(210。72。145。44)
nettime/setsntp:210.72.145.44
2)啟動時間同步服務
scstartw32time
3)同步時間
w32tm/resync(實際上,大多數情況下,光作第三步即可。)2、啟動前提:
DOS啟動WindowTime服務:netstopw32time、netstartw32time
要啟動WindowTime服務,必須先啟動RemoteAccessConnectionManager服務。
『陸』 windows怎樣設置自定義時間伺服器
一、服務端設置:x0dx0a因為默認情況下,WINDOWS SERVER 2003 是作為NTP客戶端工作的 ,所以必須通過修改注冊表,以使系統作為NTP伺服器運行。注意,工作之前請先備份注冊表文件。x0dx0ax0dx0a1、通過開始菜單,輸入regedit命令後打開注冊表設定畫面,此時請一定備份注冊表文件。x0dx0ax0dx0a2、修改以下選項的鍵值x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\x0dx0aNtpServer內的「Enabled」設定為1,打開NTP伺服器功能x0dx0ax0dx0a3、修改以下鍵值x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\x0dx0aAnnounceFlags設定為5,該設定強制主機將它自身宣布為可靠的時間源,從而使用內置的互補金屬氧化物半導體(CMOS) 時鍾。x0dx0ax0dx0a4、在dos命令行執行以下命令,確保以上修改起作用x0dx0anet stop w32timex0dx0anet start w32timex0dx0ax0dx0a推薦計劃;如果該伺服器和internet連接,那麼為了避免伺服器和internet上的ntp同步,最好追加以下配置:x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\x0dx0aNtpClient的「enable」設定為0 以防止作為客戶端自動同步外界的時間服務x0dx0ax0dx0a二、客戶設置:x0dx0a1、指定主時間伺服器。在DOS方式輸入「net time /setsntp:ntp.sjtu.e.cn」,這里我們指定ntp.sjtu.e.cn是主時間伺服器,也可以是其它地址(210.72.145.44)。x0dx0ax0dx0a2、自由設定XP時間同步間隔:x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\x0dx0aNtpClient的「SpecialPollInterval」默認設定為604800(或86400)x0dx0ax0dx0aPS:x0dx0a對話框中的「基數欄」選擇到「十進制」上,顯示的數字正是自動對時的間隔(以秒為單位),比如默認的604800就是由7(天)×24(時)×60(分)×60(秒)計算來的如果您想讓WINODWS以多長時間自動對時,只要按這個公式算出具體的秒數
『柒』 windows設置ntp時鍾伺服器
一、服務端設置:
因為默認情況下,WINDOWS SERVER 2003 是作為NTP客戶端工作的 ,所以必須通過修改注冊表,以使系統作為NTP伺服器運行。注意,工作之前請先備份注冊表文件。
1、通過開始菜單,輸入regedit命令後打開注冊表設定畫面,此時請一定備份注冊表文件。
2、修改以下選項的鍵值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpServer內的「Enabled」設定為1,打開NTP伺服器功能
3、修改以下鍵值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
AnnounceFlags設定為5,該設定強制主機將它自身宣布為可靠的時間源,從而使用內置的互補金屬氧化物半導體(CMOS) 時鍾。
4、在dos命令行執行以下命令,確保以上修改起作用
net stop w32time
net start w32time
推薦計劃;如果該伺服器和internet連接,那麼為了避免伺服器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「enable」設定為0 以防止作為客戶端自動同步外界的時間服務
二、客戶設置:
1、指定主時間伺服器。在DOS方式輸入「net time /setsntp:ntp.sjtu.e.cn」,這里我們指定ntp.sjtu.e.cn是主時間伺服器,也可以是其它地址(210.72.145.44)。
2、自由設定XP時間同步間隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「SpecialPollInterval」默認設定為604800(或86400)
PS:
對話框中的「基數欄」選擇到「十進制」上,顯示的數字正是自動對時的間隔(以秒為單位),比如默認的604800就是由7(天)×24(時)×60(分)×60(秒)計算來的如果您想讓WINODWS以多長時間自動對時,只要按這個公式算出具體的秒數
『捌』 AD域控制器NTP服務設置
1)首先確認虛擬化底層的時間是否准確,因為所有虛擬機會自動同步虛擬主機的時間。
2)在所有AD伺服器上開啟時間同步功能
一、找到適合的NTP伺服器
首先需要找一個適合自己網路環境的NTP伺服器,因為不同的網路會有不同的NTP伺服器起作用,檢測NTP伺服器的方法為在AD上運行 w32tm /stripchart /computer:NTP伺服器域名或IP ,如 w32tm /stripchart /computer:182.92.12.11 ,若是可以使用會顯示如下圖
找到適合自己網路的可用NTP伺服器後,假設找到182.92.12.11為可用NTP伺服器,在AD伺服器上開啟時間同步,運行如下命令
三、設置主域控制器與國家授時中心伺服器時間同步,同步周期為1天。
1、 添加時間伺服器
在右邊窗口點右鍵新建「字元串值」,將此「字元串值」命名為0。雙擊此新建的「字元串值」,輸入: 182.92.12.11 ,保存。將「默認」(即第一個「字元串值」)修改為0即可,刪除其他所有的值只保留如圖所示的值
2、 指定時間源
修改鍵NtpServer的值為 182.92.12.11
3、 設置校時周期
修改鍵SpecialPollInterval的值為十進制的604800(即為604800秒,1天)
四、設置權威伺服器
1、 設置權威伺服器
在域控伺服器上打開注冊表,找到鍵值
修改鍵AnnounceFlags的值為十進制的10。
2、 啟用 NTPServer
修改鍵Enabled的值為十進制的1
五、配置組策略,設置時間同步
1、 打開組策略管理
2、 在「Default Domain Policy」上右鍵,編輯。
3、 計算機配置—管理模板—系統—Windows時間服務,雙擊「全局配置設置」,選擇「已啟用」。
修改MaxNegPhaseCorrection的值為3600(即為3600秒,1小時)
修改MaxPosPhaseCorrection的值為3600(即為3600秒,1小時)
修改AnnounceFlags的值為5
點「應用」,「確定」。
4、 計算機配置—管理模板—系統—Windows時間服務—時間提供程序,「啟用Windows NTP客戶端」,選擇「已啟用」。
「配置Windows NTP客戶端」,選擇「已啟用」。
修改NtpSever的值為 182.92.11
修改Type的值為NTP
修改SpecialPollInterval的值為1800(30分鍾)
5、cmd命令在域控和客戶端完成檢測
域控上運行下面三條命令檢測,返回成功執行了命令即為成功。若是返回此計算機沒有重新同步,因為沒有可用的時間數據。請排查上述文檔中一步時間伺服器是否可用,和五-4步伺服器是否正確,看w32tm /query /source命令返回的結果是否正確。
域內的客戶端想要同主域時間同步,執行下面的命令,返回成功執行了命令即為成功
注意時間若想成功同步,時間不能跟標准時間差別太大,在范圍內的才能成功同步。
1、系統時間比標准時間系統時間晚14小時59分鍾之內
2、系統時間比標准時間早30分鍾之內
3)對於有些客戶端Windows Times服務會自動停止,可以嘗試重新注冊一下此服務項
1.首先,運行如下命令刪除時間服務:
2.然後,再運行如下命令載入默認時間配置服務:
『玖』 請問關於如何在xp系統下搭建ntp時間同步伺服器
WindowsXP時間伺服器配置
1.在注冊表中將服務NTPServer的Enabled屬性設置為1.Type改為NTP。
2.如果外部時間源獲取時間將Config/AnnounceFlags設置為5.
3.將parameters\NtpServer地址改為外部時間源的IP地址或者DNS,在使用DNS是後面要加上」,0x1」.多個地址之間用空格隔開。
4.其他參數是可選的參數,可根據需要配置。
5.重啟w32time服務.在命令行中,net stop w32time && net start
w32time.就配置完成了。
6.此外,要保證windows
防火牆是關閉的。或者啟動防火牆時,在例外中添加C:\WINDOWS\system32\w32time.dll埠號:123類型UDP。
經過以上六步伺服器端就設置完成了。
WindowsXP客戶端的配置
1.將NtpServer地址設置為伺服器的地址。
2.服務類型改為NTP。
3.SpecialPolInterval自動同步時間間隔根據需要配置比如15分鍾輪詢一次(設置為900,因為單位為秒)。
4.將默認的時間伺服器設置為伺服器的地址, XP默認是微軟的時間伺服器time.windows.com。在注冊表中
HKEY_LOCAL_MACHINE\SOFTWARE\WINDOWS\CurrentVersion\DateTime\Servers
新建一個字元串值(名字3),輸入伺服器的IP地址。
並將默認值改為3.這樣在時期時間屬性\Internet時間默認的時間同步伺服器就成為我們設置的了。
『拾』 如何搭建自己的NTP伺服器
NTP伺服器【Network Time Protocol(NTP)】是用來使計算機時間同步化的一種協議,它可以使計算機對其伺服器或時鍾源(如石英鍾,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標准間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。時間按NTP伺服器的等級傳播。按照離外部UTC源的遠近把所有伺服器歸入不同的Stratum(層)中。
網路時間協議(NTP)用來同步網路上不同主機的系統時間。你管理的所有主機都可以和一個指定的被稱為 NTP 伺服器的時間伺服器同步它們的時間。而另一方面,一個 NTP 伺服器會將它的時間和任意公共 NTP 伺服器,或者你選定的伺服器同步。由 NTP 管理的所有系統時鍾都會同步精確到毫秒級。
在公司環境中,如果他們不想為 NTP 傳輸打開防火牆,就有必要設置一個內部 NTP 伺服器,然後讓員工使用內部伺服器而不是公共 NTP 伺服器。在這個指南中,我們會介紹如何將一個 CentOS 系統配置為 NTP 伺服器。在介紹詳細內容之前,讓我們先來簡單了解一下 NTP 的概念。
為什麼我們需要 NTP?
由於製造工藝多種多樣,所有的(非原子)時鍾並不按照完全一致的速度行走。有一些時鍾走的比較快而有一些走的比較慢。因此經過很長一段時間以後,一個時鍾的時間慢慢的和其它的發生偏移,這就是常說的 「時鍾漂移」 或 「時間漂移」。為了將時鍾漂移的影響最小化,使用 NTP 的主機應該周期性地和指定的 NTP 伺服器交互以保持它們的時鍾同步。
在不同的主機之間進行時間同步對於計劃備份、入侵檢測記錄、分布式任務調度或者事務訂單管理來說是很重要的事情。它甚至應該作為日常任務的一部分。
NTP 的層次結構
NTP 時鍾以層次模型組織。層級中的每層被稱為一個 stratum(階層)。stratum 的概念說明了一台機器到授權的時間源有多少 NTP 跳。
Stratum 0 由沒有時間漂移的時鍾組成,例如原子時鍾。這種時鍾不能在網路上直接使用。Stratum N (N > 1) 層伺服器從 Stratum N-1 層伺服器同步時間。Stratum N 時鍾能通過網路和彼此互聯。
NTP 支持多達 15 個 stratum 的層級。Stratum 16 被認為是未同步的,不能使用的。
准備 CentOS 伺服器
現在讓我們來開始在 CentOS 上設置 NTP 伺服器。
首先,我們需要保證正確設置了伺服器的時區。在 CentOS 7 中,我們可以使用 timedatectl 命令查看和更改伺服器的時區(比如,"Australia/Adelaide",LCTT 譯註:中國可設置為 Asia/Shanghai )
代碼如下:
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
繼續並使用 yum 安裝需要的軟體
代碼如下:
# yum install ntp
然後我們會添加全球 NTP 伺服器用於同步時間。
代碼如下:
# vim /etc/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默認情況下,NTP 伺服器的日誌保存在 /var/log/messages。如果你希望使用自定義的日誌文件,那也可以指定。
復制代碼
代碼如下:
logfile /var/log/ntpd.log
如果你選擇自定義日誌文件,確保更改了它的屬主和 SELinux 環境。
復制代碼
代碼如下:
# chown ntp:ntp /var/log/ntpd.log
# chcon -t ntpd_log_t /var/log/ntpd.log
現在初始化 NTP 服務並確保把它添加到了開機啟動。
代碼如下:
# systemctl restart ntp
# systemctl enable ntp
驗證 NTP Server 時鍾
我們可以使用 ntpq 命令來檢查本地伺服器的時鍾如何通過 NTP 同步。
下面的表格解釋了輸出列。
remote 源在 ntp.conf 中定義。『*』 表示當前使用的,也是最好的源;『+』 表示這些源可作為 NTP 源;『-』 標記的源是不可用的。
refid 用於和本地時鍾同步的遠程伺服器的 IP 地址。
st Stratum(階層)
t 類型。 'u' 表示單播(unicast)。其它值包括本地(local)、多播(multicast)、廣播(broadcast)。
when 自從上次和伺服器交互後經過的時間(以秒數計)。
poll 和伺服器的輪詢間隔,以秒數計。
reach 表示和伺服器交互是否有任何錯誤的八進制數。值 337 表示 100% 成功(即十進制的255)。
delay 伺服器和遠程伺服器來回的時間。
offset 我們伺服器和遠程伺服器的時間差異,以毫秒數計。
jitter 兩次取樣之間平均時差,以毫秒數計。
控制到 NTP 伺服器的訪問
默認情況下,NTP 伺服器允許來自所有主機的查詢。如果你想過濾進來的 NTP 同步連接,你可以在你的防火牆中添加規則過濾流量。
# iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 123 -j ACCEPT
# iptables -A INPUT -p udp --dport 123 -j DROP
該規則允許從 192.168.1.0/24 來的 NTP 流量(埠 UDP/123),任何其它網路的流量會被丟棄。你可以根據需要更改規則。
配置 NTP 客戶端
1. Linux
NTP 客戶端主機需要 ntpupdate 軟體包來和伺服器同步時間。可以輕松地使用 yum 或 apt-get 安裝這個軟體包。安裝完軟體包之後,用伺服器的 IP 地址運行下面的命令。
代碼如下:
# ntpdate
基於 RHEL 和 Debian 的系統命令都相同。
2. Windows
如果你正在使用 Windows,在日期和時間設置(Date and Time settings)下查找網路時間(Internet Time)。
3. Cisco 設備
如果你想要同步 Cisco 設備的時間,你可以在全局配置模式下使用下面的命令。
代碼如下:
# ntp server
來自其它廠家的支持 NTP 的設備有自己的用於網路時間的參數。如果你想將設備和 NTP伺服器同步時間,請查看設備的說明文檔。
結論
總而言之,NTP 是在你的所有主機上同步時鍾的一個協議。我們已經介紹了如何設置 NTP 伺服器並使支持 NTP 的設備和伺服器同步時間。