背景
客戶有個局域網(wǎng),局域網(wǎng)里面有的設(shè)備,時間都不一致,導(dǎo)致交互的時候可能出現(xiàn)問題;
現(xiàn)在剛好有臺主機(jī),有兩個以太網(wǎng)接口,其中一個可以連外網(wǎng),能獲取到網(wǎng)絡(luò)時間,我們可以把這臺主機(jī)做成ntp服務(wù)器,供局域網(wǎng)內(nèi)其他主機(jī)做時間同步;
以下是相關(guān)操作方法步驟;
windows如何配置ntp服務(wù)器
手動配置
-
打開注冊表編輯器。您可以按Win+R鍵,然后輸入
regedit
并回車。 -
導(dǎo)航到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
-
在右側(cè)面板中,雙擊“Enabled”,然后在數(shù)據(jù)值字段中輸入“1”。
-
導(dǎo)航到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
-
在右側(cè)面板中,雙擊“AnnounceFlags”,然后在數(shù)據(jù)值字段中輸入“5”。
-
關(guān)閉注冊表編輯器。
-
打開命令提示符(以管理員身份),然后輸入以下命令來重啟Windows時間服務(wù):
net stop w32time && net start w32time
Windows主機(jī)已經(jīng)被設(shè)置為NTP服務(wù)器,其他設(shè)備(如Linux主機(jī)和NVR設(shè)備)應(yīng)該能夠從此主機(jī)獲取時間信息了。對于Linux主機(jī)和NVR設(shè)備,你需要將它們的NTP客戶端指向Windows主機(jī)的IP地址。
- (20240123)將Windows Time服務(wù)設(shè)置為開機(jī)自啟
今天重啟神角礦工控機(jī),發(fā)現(xiàn)ntp服務(wù)沒有啟動(啟動類型顯示“手動”),然后我把它改成“自動”以支持開機(jī)自啟。
配置參數(shù)AnnounceFlags
和Enabled
含義
在Windows的注冊表設(shè)置中,AnnounceFlags
和Enabled
這兩個鍵值對NTP服務(wù)器的配置有特殊的含義。
-
AnnounceFlags
: 這個鍵控制了W32Time服務(wù)(Windows Time)是否(以及如何)向網(wǎng)絡(luò)公布自己作為一個可用的時間源。它的值是一個位掩碼,表示不同的標(biāo)志。當(dāng)AnnounceFlags
的值設(shè)為5時,表示以下兩個條件:-
值4(二進(jìn)制100)告訴W32Time服務(wù),只有當(dāng)本機(jī)是一個可靠的時間服務(wù)時(例如,它已經(jīng)被配置為手動同步到一個硬件時鐘或外部NTP服務(wù)器),才公布自己為時間服務(wù)器。
-
值1(二進(jìn)制001)讓W(xué)32Time服務(wù)始終公布自己為時間服務(wù)器,無論它是否已經(jīng)接收到合法的時間更新。
-
-
Enabled
: 這個鍵決定了是否啟用NTPServer。如果把這個值設(shè)為1,那么NTPServer就會被啟用,即W32Time服務(wù)將作為NTP服務(wù)器,為其他設(shè)備提供時間。
請注意,在修改注冊表之前,一定要創(chuàng)建一個還原點或者備份注冊表。錯誤的修改可能會導(dǎo)致系統(tǒng)不穩(wěn)定。
注意:AnnounceFlags默認(rèn)值為a,如果我不修改它,貌似也能正常工作。
使用軟件配置(NetTime)
在Windows上,有一些第三方應(yīng)用程序允許你很容易地設(shè)置NTP服務(wù)器。
例如, “NetTime”。NetTime是一個簡單的、易于使用的時間同步客戶端,也可以作為服務(wù)器運(yùn)行。以下是如何設(shè)置它的步驟:
-
下載并安裝NetTime:http://www.timesynctool.com/
-
運(yùn)行NetTime,然后右鍵點擊系統(tǒng)托盤中的NetTime圖標(biāo),選擇“Settings”。
-
在“Settings”窗口中,勾選"Always provide time"選項,使得NetTime作為服務(wù)器提供時間服務(wù)。
-
點擊“OK”保存設(shè)置。
這樣,你就把你的Windows主機(jī)設(shè)為了NTP服務(wù)器。然后你就可以在其他設(shè)備(如Linux主機(jī)和NVR設(shè)備)上將其NTP客戶端指向Windows主機(jī)的IP地址,實現(xiàn)局域網(wǎng)內(nèi)的時間同步。
實操
下載它:
下載完成后點開默認(rèn)安裝即可:
點擊Settings,勾選Allow other computers to sync to this computer:
彈出個警告,提示我們在把此主機(jī)用于ntp服務(wù)器時,需保證此主機(jī)時間的準(zhǔn)確性,我們點No即可:
相關(guān)疑問:0.nettime.pool.ntp.org是什么?
0.nettime.pool.ntp.org
是一個公共的網(wǎng)絡(luò)時間協(xié)議(NTP)服務(wù)器地址,它是NTP Pool Project的一部分。
NTP Pool Project是一個大型的、由志愿者和贊助商維護(hù)的NTP服務(wù)器池。它為全球的互聯(lián)網(wǎng)用戶提供精確的時間服務(wù)。"pool.ntp.org"項目使用DNS輪詢來分配各種時間服務(wù)器的流量,這意味著當(dāng)你查詢"pool.ntp.org"時,DNS服務(wù)器會返回該池中任意一個服務(wù)器的IP地址。
在0.nettime.pool.ntp.org
這個地址中,0
表示該服務(wù)器在NTP Pool中的邏輯編號,而nettime
則可能是服務(wù)器組的名稱,但我沒有找到關(guān)于nettime
的特定信息。通常,你會看到像0.pool.ntp.org
,1.pool.ntp.org
這樣的地址,其中的數(shù)字(如0, 1)代表了不同的服務(wù)器或服務(wù)器組。
然而,如果你的網(wǎng)絡(luò)不能訪問互聯(lián)網(wǎng),那么你將無法使用這個地址,因為它需要通過互聯(lián)網(wǎng)來訪問NTP Pool的服務(wù)器。在這種情況下,你需要設(shè)置一個內(nèi)部的NTP服務(wù)器,如我之前所述。
我在神角礦win10工控機(jī)上用這個服務(wù)作為ntp同步服務(wù)器,但是盒子一直無法同步成功不知道怎么回事,一直顯示超時(可能是工控機(jī)的防火墻阻止了,見本文后面解釋)
注意事項
請務(wù)必檢查windows主機(jī)123端口是否已被占用,方法請參考:windows查看端口占用,通過端口找進(jìn)程號(查找進(jìn)程號),通過進(jìn)程號定位應(yīng)用名(查找應(yīng)用)(netstat、tasklist)
ubuntu20.04如何同步ntp服務(wù)器時間?
使用timedatectl systemd-timesyncd服務(wù)
Ubuntu 20.04默認(rèn)使用的是systemd-timesyncd
服務(wù)來同步時間,你不需要另外安裝NTP。以下是如何使用timedatectl
來同步NTP服務(wù)器的時間:
-
首先打開終端。
-
使用以下命令檢查
systemd-timesyncd
服務(wù)的狀態(tài):
timedatectl status
- 如果
NTP service: active
行顯示為yes
,則表示systemd-timesyncd
服務(wù)正在運(yùn)行。如果沒有,你可以用以下命令啟動它:
sudo timedatectl set-ntp on
- 現(xiàn)在你的系統(tǒng)應(yīng)該會自動從默認(rèn)的NTP服務(wù)器同步時間。你也可以修改
/etc/systemd/timesyncd.conf
文件來更改NTP服務(wù)器。例如,使用nano編輯器:
sudo nano /etc/systemd/timesyncd.conf
- 在此文件中,找到以
#NTP=
開頭的行,刪除#
并添加你的NTP服務(wù)器,多個服務(wù)器之間用空格分隔。例如:
NTP=server1 server2
- 保存并關(guān)閉文件。然后重啟
systemd-timesyncd
服務(wù)來應(yīng)用更改:
sudo systemctl restart systemd-timesyncd
7. 查看時間是否同步成功
用timedatectl
命令查看,如果同步成功,我的盒子RTC Time那兒時間會顯示正確,而不是1970xxxx:
timedatectl
用systemctl status systemd-timesyncd.service --no-pager
命令查看systemd-timesyncd服務(wù)的狀態(tài)以及重要日志:
systemctl status systemd-timesyncd.service --no-pager
如果同步成功,會顯示下面這行文字:
Initial synchronization to time server 192.168.19.232:123 (192.168.19.232).
以上就是在Ubuntu 20.04上使用timedatectl
來同步NTP服務(wù)器時間的步驟。
(重要)設(shè)置windows ntp服務(wù)器123端口 UDP的入站(必選)和出站流量(非必選)
注意:此方法為備選方案,在ntp無法同步時,可測試開啟,看看開啟后是否能夠同步。
在Windows中,你可以通過以下步驟檢查和配置防火墻以允許UDP 123端口的入站和出站流量:
-
打開“控制面板”。
-
點擊“系統(tǒng)和安全”。
-
點擊“Windows Defender 防火墻”。
-
在左側(cè)菜單中,點擊“高級設(shè)置”。
-
在新窗口中,你會看到"入站規(guī)則"和"出站規(guī)則"兩個選項。首先,我們來創(chuàng)建一個允許UDP 123端口入站的規(guī)則。
-
點擊"入站規(guī)則",然后在右側(cè)點擊"新建規(guī)則"。
-
在彈出的向?qū)е?,選擇"端口",然后點擊"下一步"。
- 選擇"UDP",然后在"特定本地端口"中輸入"123",點擊"下一步"。
- 選擇"允許連接",然后點擊"下一步"。
-
確保所有的網(wǎng)絡(luò)類型都被勾選,然后點擊"下一步"。
-
給規(guī)則命名(例如,“NTP UDP 123 Inbound”),然后點擊"完成"。
現(xiàn)在我已經(jīng)可以讓外部主機(jī)獲取到ntp服務(wù)的時間了,后面出站規(guī)則貌似不用設(shè)置了
(下面無需設(shè)置)
接下來,我們創(chuàng)建一個允許UDP 123端口出站的規(guī)則。
-
在左側(cè)菜單中,點擊"出站規(guī)則",然后在右側(cè)點擊"新建規(guī)則"。
-
重復(fù)步驟7-11,只是在第9步時選擇"允許連接"。
現(xiàn)在,Windows防火墻應(yīng)該已經(jīng)配置為允許UDP 123端口的入站和出站流量了。
20240123 今天調(diào)試神角礦,工控機(jī)上的ntp服務(wù)一直不能被外部請求通(本機(jī)可以),發(fā)現(xiàn)是被防火墻給阻止了(我后面按照上面上面配置了123端口 UDP的入站流量,就可以了)
如圖:原先是將公用網(wǎng)絡(luò)的防火墻打開了,我把它關(guān)閉,ntp服務(wù)就能使用了。
20240123 ubuntu systemd-timesyncd 時間同步(ntp同步)報錯:Server has too large root distance. Disconnecting. 解決辦法
https://dontla.blog.csdn.net/article/details/135777981文章來源:http://www.zghlxwxcb.cn/news/detail-761352.html
參考文章
參考文章:時間同步服務(wù)器文章來源地址http://www.zghlxwxcb.cn/news/detail-761352.html
到了這里,關(guān)于局域網(wǎng)ntp服務(wù)器設(shè)置(windows時間同步服務(wù)器NetTime)(ubuntu systemd-timesyncd ntp客戶端)123端口、ntp校時、ntp同步的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!