Copyright ? 2015 深圳市鑫惠廣網絡科技有限公司 粵ICP備2023111395號
起因是這樣的,在項目中有一個機器人是使用的ARM版本的Ubuntu操作系統,但是它上面沒有紐扣電池用于保存時間,因此每次重啟后時間錯誤,需要手動校正,非常麻煩。所以使用NTP來同步服務器時間,但并沒有公網環境,且局域網中只有一臺Windows 10電腦(可同時連接內外網),因此使用Windows 10作為NTP server為ubuntu提供校時服務。
Windows 10本身是可以作NTP時間同步服務器的,無需安裝其它軟件,只需要修改一些配置。
使用win + R組合鍵在運行窗口中輸入regedit,打開注冊表編輯器。
image
依次展開數據項目,計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer,把Enabled設置為1,為打開NTP服務,操作如下圖所示。
image
依次打開,計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,并把AnnounceFlags的值設置為5(系統默認為a)。
使用win + R組合鍵在運行窗口中輸入services.msc,打開服務。
在服務項中找到Windows Time
設置為自動后確定,點擊右鍵重新啟動此服務,至此服務啟動成功。
注:啟動和關閉windows NTP的方式,還可以使用命令行來管理
啟動:net start w32time
停止:net stop w32time
在cmd窗口中輸入w32tm /stripchart /computer:127.0.0.1,如果有回顯則服務正常。
服務端部署成功后,如果要為客戶端提供服務的話需要開放udp協議中的123端口,或者根據自身安全情況關閉防火墻。客戶端下可以使用ntpdate命令來同步服務器時間,也可以使用chrony服務。
由于我這里使用的是ARM版本的ubuntu操作系統,下面演示將適用于此系統,其它操作系統或架構平臺操作類似。
# 安裝ntpdate服務 sudoapt-getinstallntpdate# 安裝完成后, 同步時間。xxx.xxx.xxx.xxx為你服務器的IP地址,clock-w把時間寫入硬件。 sudontpdatexxx.xxx.xxx.xxx&& clock-w
chrony是一個時間同步服務,通過配置可以把一臺服務器變為NTP服務端或客戶端,這里只用到客戶端的功能。
sudo apt-getinstall chrony
安裝完成后打開配置文件
vim/etc/chrony.conf
如果做客戶端的話,只需要修改其中的一行文件,最后保存退出。
# xxx為你的IP地址 serverxxx.xxx.xxx.xxx
重啟chrony服務,使用時間同步服務生效。
systemctlrestart chronyd
Copyright ? 2015 深圳市鑫惠廣網絡科技有限公司 粵ICP備2023111395號