NTP 服務器【Network Time Protocol(NTP)】是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務器或時鐘源(如石英鐘,GPS 等等) 做同步化,它可以提供高精準度的時間校正(LAN 上與標準間差小于 1 毫秒,WAN 上幾十毫秒)。
在一個與外界網(wǎng)絡隔離的局域網(wǎng)內(nèi)需要搭建一個 NTP 服務器給該局域網(wǎng)內(nèi)的其他設備使用。嘗試了一些 Windows 下的 NTP 服務器小軟件之后,最后查到了 Windows 默認帶有 NTP 服務器,只是默認沒有開啟,我們可以通過修改注冊表的方式打開 Windows 默認的 NTP 服務器。
從 Windows 2000 起的所有 Microsoft Windows 版本都包括 Windows 時間服務(W32Time),其具有將計算機時鐘同步到 NTP 服務器的能力。
W32Time 服務最初是為實現(xiàn) Kerberos 第五版的身份驗證協(xié)議,它需要誤差 5 分鐘內(nèi)正確時間值以防止重放攻擊。Windows 2000 和 Windows XP 中只實現(xiàn)了簡單的 NTP,并在幾個方面違反了 NTP 第 3 版的標準。從 Windows Server 2003 和 Windows Vista 開始,已包括匹配完整 NTP 的實現(xiàn)。微軟稱 W32Time 服務不能可靠地將同步時間保持在 1 至 2 秒的范圍內(nèi)。如果需要更高的精度,微軟建議使用其他 NTP 實現(xiàn)。
Windows Server 2016 現(xiàn)在在某些操作條件下支持 1ms 的時間精度。
1、在 Windows 服務器下,按住 “?windows+r
?” 打開 “運行
” 對話框,輸入?regedit
,點擊 “確定” 打開注冊表。
2、在注冊表中依次展開:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、TimeProviders、NtpServer,
在 NtpServer 項的右側(cè)鍵值 ENablied,將默認的 0 改為 1,1 為啟用 NTP 服務器。
3、再在注冊表中依次展開:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、Config
找到 Config 項右側(cè)的 AnnounceFlags。
把默認的 10 改為 5,5 的意思就是自身為可靠的時間源。
4、修改完以上之后關閉注冊表編輯器,win7 下 以管理員身份打開命令行如下圖。Windows10 則用 Windows+X+A 以管理員身份打開命令行。
5、在命令提示符中輸入:net stop w32Time
,回車
等待 NTP 服務停止。
然后再輸入:net start w32Time
,回車
啟動 NTP 服務。
6、測試,局域網(wǎng)內(nèi) windows 電腦同步成功!
7、測試,在 ubuntu 虛擬機中,在終端輸入命令 “sudo ntpdate 192.168.10.241
,” 出現(xiàn)如下界面則同步成功!