windows做时间服务器,linux和windows时间同步
?
在Windows上設置NTP
英文版:http://www.satsignal.eu/ntp/setup.html#local
?
Meinberg為Windows用戶提供了備受推崇且高度準確的NTP軟件的安裝程序非常有用- 我要感謝他們。此網頁提供了在Windows XP,Vista或Windows-7/8上安裝NTP的快速指南,使用標準的開箱即用設置將您的PC同步到Internet,然后檢查您是否正常工作安裝。??這些注釋說明了為什么要使用NTP而不是其他計時軟件。某些程序(如優秀的Plane Plotter)甚至要求在允許使用某些更高級的功能之前安裝NTP。
如果您有多臺PC,則應在每臺PC上按照以下說明安裝NTP。如果您有多臺PC,則可能需要為網絡創建一個本地時間服務器(鎖定到Internet),并將其他PC同步到該本地服務器,方法是在配置文件中添加一行。更多信息在這里。這是很容易的,因為該軟件將作為一個客戶端的遠程NTP服務器,工作和哪個其他NTP客戶端可以連接的服務器。對于相當低的額外費用(35美元,25英鎊),您可以將本地時間服務器鎖定到GPS,使其比鎖定到Internet源的服務器更精確。您可能希望使用Raspberry Pi之類的東西作為低成本,獨立的精確時間服務器。
?
安裝
訪問Meinberg網站(在新選項卡中打開),并查找標題為:NTP包,其中包含對Windows XP及更高版本的IPv6支持。查找下載圖標?和名為ntp ... setup.exe的文件。下載安裝文件并將其保存到硬盤。??
在哪里下載軟件安裝文件
我通常?在新PC上創建一個名為C:\ Install \的目錄,這就是我下載所有軟件的地方。所以在這種情況下,我創建一個名為C:\ Install \ NTP \的新目錄,并將... setup.exe文件直接下載到該目錄。
截至2015年7月,當前的Meinberg版本命名為:ntp-4.2.8p3-win32-setup.exe(3.72 MB)我建議右鍵單擊下載的文件,選擇“屬性”,然后單擊“取消阻止”按鈕(如果存在)。這將在運行安裝過程之前刪除一條警告消息。然后雙擊運行setup.exe文件。在Vista或Windows-7/8上,您可能需要通過回答UAC(用戶授權控制)問題來運行文件,但是,您不必禁用UAC來安裝或運行NTP。我有一個報告,在Windows-XP / 64安裝上,使用右鍵單擊,需要以管理員身份運行,否則為NTP創建的帳戶沒有足夠的權限。以下屏幕截圖來自早期的Windows-8安裝。
假設您同意這些條款,請按我同意。選擇文件的位置 - 您可以選擇在此處制作。??
在哪里安裝NTP?
在單用戶PC中,在良性環境中,我建議創建一個名為C:\ Tools \的目錄(?如果還沒有),并將NTP軟件放入C:\ Tools \ NTP \。我建議這樣做,因為安裝包含用戶可編輯的文件,而C:\ Program Files \不適合此類數據。這是因為Windows Vista和Windows-7/8執行的目錄虛擬化,并且您最終編輯了一個文件,但它不是NTP將讀取的文件。
創建C:\ Tools \?目錄時,通過右鍵單擊Windows資源管理器中的目錄,選擇“屬性”,“安全”選項卡,“編輯”,“添加”,為所有用戶提供完全控制權。在對象名稱框中,鍵入“everyone”,單擊“確定”,確保選中“Everyone”,然后在“權限”框中單擊“完全控制”,單擊“確定”。
在多用戶PC或不太友好的環境中,將默認安裝目標文件夾保留為C:\ Program Files \ NTP \(或建議的任何內容),但請注意,您可能需要具有管理員權限編輯配置文件時。如果您不想編輯配置文件,而大多數用戶不想編輯配置文件,則不會給您帶來很大的不便。?
選擇您的目錄,然后按“下一步”繼續。
保留所有組件,然后按“下一步”繼續。NTP可以根據您的地理位置使用NTP池中的服務器為您創建初始配置。您應該允許它執行此操作,因為它可以節省您選擇使用哪些服務器的任務。確保選中“?創建初始...?”?框,然后從下拉列表中選擇最近的國家或地區。在下面的例子中,我選擇了英國。然后,NTP將選擇您所在地區的服務器,嘗試提供最近的連接以獲得最佳性能。保留安裝程序建議的其他設置。
選擇區域后,按“下一步”。大多數用戶無需編輯安裝程序創建的文件,因此請按“否”繼續。??
但是,您可能會發現最新版本的Meinberg安裝程序的安全限制阻止NTP查看任何外部服務器,因此如果所有服務器稍后顯示“INIT”狀態,請將安全性“限制”行更改為以下內容:
#建議NTP限制(接受來自LAN的ntpq命令): 限制來源notrap nomodify nopeer 限制127.0.0.1 restrict :: 1 限制192.168.0.0掩碼255.255.255.0一個消息來源表明,對于4.2.7及更高版本,上面的第二行應該是:
限制源nomodify noquery notrapNTP可以創建一個帳戶來運行該軟件。即使您沒有登錄計算機,NTP也會運行,以確保更好的計時。下一個對話框建議安裝程序為您創建一個帳戶,這是適當的設置。建議不要使用SYSTEM帳戶。保留建議的其他選項。??
Windows-8和Windows-10用戶:雖然不推薦,但請選擇SYSTEM帳戶,而不是特殊的NTP帳戶。我不確定為什么這是必需的,但是在Meinberg更新他們的安裝程序之前,它將節省您以后選擇SYSTEM帳戶的時間。否則NTP將不起作用。
一位用戶報告了問題,因為他取消選中了下面的“禁用其他時間服務...”框,這導致Windows和NTP爭奪時間設置,并且NTP無法完成其工作。不幸的是,初始安裝已將其設置保存在install.ini文件中,因此在嘗試重新安裝時,同樣的錯誤設置仍然存在。編輯install.ini文件可以恢復正確的默認值并允許成功安裝。如果您是第二次安裝,請仔細檢查。
按“下一步”并為該帳戶定義密碼。??請務必記下此密碼以備日后需要或重新安裝時使用,但由于帳戶權限有限,因此通常無需使用超級安全密碼。如果您忘記了密碼,則需要在重新安裝的情況下刪除ntp帳戶。一個人使用太簡單的密碼或重新使用相同的密碼得到錯誤2245,但我沒有其他報告。
按Next后,安裝完成,并啟動NTP服務。??
Windows-8.1和Windows-10
在最近的Windows-8.1 / 64全新安裝和Windows-10/32全新安裝上,此時我有關于服務未啟動的錯誤消息,似乎使用SYSTEM帳戶是最簡單的方法圍繞這個問題。可能這是關系到中提到的問題如下。
您可能需要通過Windows F允許程序irewall
與任何訪問Internet的程序一樣,NTP可能會觸發您的防火墻軟件詢問NTPD是否可以訪問Internet。確保允許ntpd.exe傳入和傳出訪問(在區域警報中稱為“充當服務器”)。還有一個支持程序(ntpq.exe),您可以使用它來查詢NTP在您自己的系統或您本地或Internet上有權訪問的任何系統上的工作情況,也可能需要通過你的防火墻。??如何將程序添加到Windows-7的防火墻。如果您一直在使用建議的路徑,程序將在C:\ Tools \ NTP \ bin \中找到。允許??ntpd.exe?如果要設置本地NTP網絡,則通過防火墻接受傳入的UDP請求。如果您尚未禁用文件擴展名的隱藏,則程序可能只顯示為“ntpd”和“ntpq”。我建議您允許Windows資源管理器顯示文件擴展名,以免您混淆。
雖然沒有必要,但您可能需要查看“控制面板”,“日期和時間”對話框,該復選框表明Windows會自動與Internet服務器同步。沒有必要為此設置為NTP做了很多更好的工作,確實-這盒必須是未經檢查的NTP才能正常工作。
您現在可以為網絡中的每臺PC重復此安裝。
在Windows-10上,此控制面板設置已被刪除。而是進入PC設置菜單,時間和語言,日期和時間選項卡。確保將“自動設置時間”設置為“關”。要檢查NTP是否已安裝并正在運行(從禁用W32Time設置),請使用任務管理器:
- 在“詳細信息”選項卡上,檢查是否沒有運行“w32time.exe”程序(單擊“名稱”按名稱排序)。
? - 在“服務”選項卡上(單擊以按名稱再次排序),檢查W32Time服務是否已停止。
您還應該在控制面板本地服務中檢查Windows時間服務是否已設置為已禁用。
?
路由器?
大多數路由器不需要特殊配置,因為已經內置了對NTP(端口123上的UDP數據包)的支持。
與虛擬PC一起使用
VMware的
VMware發布了自己在虛擬PC環境中使用NTP的建議。這些建議隨著各種軟件版本而發生了變化,因此最好查看VMware網站以了解當前的想法。
Microsoft Hyper-V
使用Microsoft Hyper-V 2012軟件,Steve Walker的一些建議(需要為優秀的Plane Plotter軟件提供良好的計時)是:
- 主機PC配置:
- NTP:已安裝并正在運行
- 操作系統:Microsoft Windows Server 2012 Standard?
- Virtual PC:Hyper-V 2012,為客戶端啟用了Time Sync選項
- 看到此屏幕截圖,其中設置顯示為禁用狀態,您要確保已選中它。
- 虛擬PC配置:
- 操作系統:Microsoft Windows XP SP3
- 應用軟件:Plane Plotter 6.3.6
Steve Walker評論:我確保Hyper-V時間同步服務已啟動,因為這將允許客戶端與主機同步其時間。
域名時間II
如果來自Hyper-V時間同步服務的計時對您不夠好,您可能對Larry Ellis指出的Domain Time II感興趣 -?他寫道:
我最終從www.greyware.com獲得了一個驚人的20美元時間客戶端呼叫Domain Time II?。它似乎在VM中做得非常出色(大多數時候<15ms錯誤)。當然,它必須經常采樣以獲得該值,但幸運的是我在LAN上有一個物理NTP服務器(謝謝!)將提供該功能。他們也有一個服務器組件。
如果您沒有看到該軟件,可以選擇對該軟件進行免費評估,并希望了解該軟件。他們做的不錯。
?
檢查它是否正常工作
幾分鐘后檢查,以允許程序連接到Internet。如果您習慣使用命令行,請獲取命令提示符(“開始”,“所有程序”,“附件”,“命令提示符”或“?Windows-key?-R,cmd”),然后輸入命令:
??? ntpq -pn
請注意,“ - pn”?必須是小寫的,并且“ntpq”和“-p”之間必須有空格。一個可能更快一點的替代命令是“ntpq -pn”。你應該得到類似于下面顯示的輸出。或者,從“開始”菜單中選擇“Meinberg”,“網絡時間協議”,“快速NTP狀態” - 這將為您提供方便的ntpq顯示,該顯示每十秒自動刷新一次。這個屏幕截圖是在開始后立即拍攝的,因此民意調查是64,并且僅達到?“1”。
請注意,下面的兩個屏幕截圖是使用“ntpq -p”拍攝的,其中包括數字到名稱的分辨率。使用上面建議的“-pn”版本更快。
運行一段時間后,輸出可能看起來更像是這個(合成的)屏幕截圖:
在那里你可以看到一個服務器(linnaeus)的第一列有一個星號(*),并且達到377.這可能表明一切都很好。
解釋ntpq輸出:
- 顯示屏是遠程服務器列表,其中各種狀態報告按列排列。
- 一個遠程服務器的第一列應該有一個星號(*)。這標志著NTP選擇的服務器作為當前首選源。
- 具有加號(+)的服務器足以使NTP同步,而其他服務器則不然。
- 的范圍列不應該是0,和直到它到達377.這是一個位掩碼表示一個八進制顯示服務器達到時NTP的正常工作期間從1將擴大。在屏幕截圖中,NTP運行不到一分鐘,因此只與每個服務器進行一次聯系。通常,您希望在此列中針對每個服務器看到377。全部為零的列表示NTP無法聯系任何服務器 - 請檢查防火墻設置。
- 該偏移顯示你的電腦是關閉從標稱UTC多遠,和值單位為毫秒。所以上面的PC在正確時間的1/40左右!
- 隨著時鐘偏移和頻率逐漸被校正,隨著NTP需要越來越少地接觸服務器,輪詢值應該從64秒逐漸增加到1024秒。在NTP中自動更改輪詢。
- 該延遲顯示從電腦包到達遠程服務器,反之亦然時間。高于150ms的值可能表示衛星電路,如果可能,最好避免使用此類服務??器。您將從網絡上靠近您的服務器獲得最佳性能。
- 該抖動欄顯示你和遠程服務器之間的連接多么穩定。
- 所述第一列顯示了服務器的層數,層數與具有本地參考1個服務器,例如原子鐘,或者對于許多服務器,無線電時鐘或GPS接收器參考。您將看到的大多數服務器都在第2層,因此它們被鎖定在stratum-1服務器上。輕載的stratum-2服務器可能比重負載的stratum-1服務器(例如具有廣泛公布的地址的服務器)更好。
Meinberg?在這里提供更多信息。一旦基本操作正常,如果您想進行實驗,我建議您更新到更新版本,因為Meinberg安裝中的版本是“穩定”版本,但“開發”版本具有一些性能和操作優勢。
?
故障排除
NTP是一個網絡應用程序,因此適用于任何網絡應用程序的故障排除基礎。在今天的Windows環境中:
- 檢查防火墻訪問。
- 程序ntpd.exe和ntpq.exe是否為防火墻“已知”?
- 他們是否啟用了傳入和傳出訪問?
- 在Zone Alarm中,這意味著“充當服務器”。
- 是否啟用了防火墻軟件的訪問請求 - 您是不是沒有丟失?
- 你可以PING和TRACERT到有問題的ntp服務器嗎?
- 請注意,今天這是一個糟糕的測試,因為許多網絡和服務器禁用PING訪問。
- 你可以使用上面顯示的“?ntpq -p?”命令對抗你試圖使用的服務器嗎?
- 同樣,這可能是一個糟糕的測試,但我發現一個服務器響應:louie.udel.edu,但是,許多服務器現在阻止這種訪問。
? - 你自己運行“?ntpq -p?”?會得到類似的結果嗎?
- 同樣,這可能是一個糟糕的測試,但我發現一個服務器響應:louie.udel.edu,但是,許多服務器現在阻止這種訪問。
- 檢查您是否被允許訪問服務器 - 很多層服務器要求您在訪問之前與他們聯系。尋找“開放訪問”服務器。有服務器的列表在這里。
請注意,NTP有一個最大時鐘錯誤,它將糾正500ppm(每天43.2秒,或每小時1.8s),因此如果您看到偏移量逐漸增加超過此速率,您就會知道您的PC時鐘太不準確而不守紀律通過NTP。但是,有一個用戶報告了一個工作輪 - 設置一個計劃任務,每天運行兩次(或更多次)以停止并重新啟動NTP服務。狡猾!你也可以告訴NTP你的時鐘漂移率是多少,這可能會有所幫助。
對于更復雜的問題,請注意http://support.ntp.org?及其“支持”網站 - 這是一個維基,您可以在那里添加或更改內容。
服務無法啟動
這可能是由于缺少一個或多個DLL
- Microsoft Visual C ++ 2008(x86)運行時庫是必需的。大多數情況下,這將安裝在您的PC上,但如果沒有,請下載并安裝運行時庫。
? - 如果您已選擇不安裝上述SSL組件(這不是我推薦的),則該服務將無法啟動,因為這些組件是?必需的。只需再次運行安裝,選擇“更新文件”選項。
?
啟動NTP時出現“系統錯誤5 - 訪問被拒絕”
如果您使用Meinberg菜單在Windows Vista,Windows-7或更高版本上停止,啟動或重新啟動NTP,您可能會收到上面的錯誤消息。這是因為需要管理員權限來停止和啟動服務。解決方案是右鍵單擊菜單項,然后選擇“以管理員身份運行”。
我在運行ntpq -p時收到“沒有找到關聯”的消息
檢查您的配置文件(C:\ Tools \ NTP \ etc \ ntp.conf)是否包含服務器條目,例如在此示例簡化配置文件中:
#使用漂移文件 driftfile“C:\ Tools \ NTP \ etc \ ntp.drift”#使用ntp池項目中的NTP服務器(參見http://www.pool.ntp.org) 服務器0.uk.pool.ntp.org iburst 服務器1.uk.pool.ntp.org iburst 服務器0.nl.pool.ntp.org iburst 服務器1.nl.pool.ntp.org iburst使用事件查看器
Windows在事件日志中記錄包括NTP在內的程序中的事件。您可以使用Windows事件查看器查看NTP記錄的事件,以幫助診斷更難的問題。有關Windows XP事件查看器以及Windows Vista和Windows-7的更多信息,因為Windows版本之間的格式不同。
單擊“應用程序”查看應用程序日志:
您將看到來自所有來源的事件列表,而不僅僅是NTP,最新事件位于頂部。現在使用View |?過濾器...事件查看器菜單,僅從NTP中選擇那些事件。??
在事件源中,從下拉列表中選擇NTP,然后單擊“確定”按鈕。
現在雙擊其中一個NTP事件,特別是那些具有錯誤狀態和紅叉的事件。
并查看實際的NTP消息是什么,例如:
您可以使用向上和向下箭頭滾動NTP消息。
有關在Internet上使用事件查看器的更多信息,例如,此處。當NTP啟動時,您將收到一些事件信息消息,這些消息非常正常,并且在正常運行NTP期間您將偶爾收到消息。留意那些表明失敗的人。
?
使用“管理工具”,“服務”程序
您可以檢查NTP服務是否正在運行,或許更重要的是,使用服務小程序停止W32Time(較舊的Windows時間服務)。這可以在Windows XP的“控制面板”,“管理工具”選項下找到。
檢查:
- “網絡時間協議”服務顯示為“狀態:已啟動”和“啟動:自動”。
- 服務“Windows Time”顯示為Status:(空白)和Startup:Disabled
?
PC時鐘壞了
時鐘接近43秒/天的限制
如果.. \ ntp \ etc \目錄中的文件ntp.drift始終顯示接近+/- 500的值,并且NTP停止工作,那么可能是您的PC時鐘超出了NTP的正常限制(漂移允許每天最多+/- 43秒)。ntp-4.2.6p4及更高版本中的新功能允許您在NTP啟動時為其提供基本偏移值,以便+/- 500 ppm(百萬分之一)應用于該基值,而不是絕對限制。所以你的時鐘必須表現良好,但不必非常接近正確。使用此新功能有兩個步驟:
- 將系統環境變量:NTPD_TICKADJ_PPM設置為您需要的值。在Windows XP上,這是通過控制面板。System ...,System,Advanced ...,環境變量按鈕,系統變量。添加一個新的系統變量,名稱為NTPD_TICKADJ_PPM,值為500(如果你的ntp.drift限制在負極值,則為-500)。
?? - 安裝ntp-4.2.6p4或更高版本。你可以在這里下載新版本:
??http
://davehart.net/ntp/win/x86/ntp-4.2.6p4-win-x86-bin.zip如果你已經從2012年9月的Meinberg獲得了ntp-4.2.6p5安裝沒有必要更新。
右鍵單擊,屬性,取消阻止下載。然后,使用服務應用程序,停止NTP(網絡時間協議),保存.. \ ntp \ bin \目錄中的.EXE文件(如果您需要還原),并從Zip存檔中復制.EXE文件下載。在服務中重新啟動NTP,并檢查操作是否正確。由于文件已更改,您可能需要告知防火墻允許新程序的傳入和傳出訪問。
您可能需要多次重復設置環境變量/重新啟動NTP循環以獲得系統的最佳值。雖然我自己沒有嘗試過這種方法,但我猜你會在一兩個小時的操作后嘗試在ntp.drift文件中獲取一個值,比如100以下。有耐心!
省電功能可能會導致問題
您的PC時鐘也可能會破壞NTP,而實際問題是某些軟件會篡改CPU速度。如果啟用了某些節能功能,則可以嘗試禁用這些功能,并查看NTP的性能是否有所提高。癥狀可能包括PC正確保持時間,直到開始一些CPU密集型活動。
域中的Windows系統
Hartmut Schulla報道:
在Windows Server?2008,64位,版本2上,我需要以管理員身份運行ntpd.exe。右鍵單擊并轉到ntpd.exe的屬性。選擇兼容性選項卡并選中所有用戶的“以管理員身份運行”。在服務設置中,選擇“本地系統帳戶”,而不是安裝程序創建的特殊帳戶。對我來說,只有“本地系統帳戶”才有權訪問“Windows時間”。
ntpq -p在Server2008R2 => timeout時無法正常工作。我不明白為什么.....但“NTP時間服務器監視器”作為來自Meinberg網站的ntpq的替代工作正常。“NTP時間服務器監視器”也需要“以管理員身份運行”。
此問題可能是由于計算機同時具有IPv4和IPv6地址。嘗試使用ntpq -p 127.0.0.1來強制使用IPv4地址。如果要使用啟動和停止服務命令,則只需要以管理員身份運行NTP時間服務器監視器,這是可以預期的。
Patrick O'Keeffe報道:
我今天在一臺域控制的Windows 7 Professional x64機器上安裝了NTP 4.2.8,我收到了有關NTP設置故障排除部分的反饋。?
特別是,我能夠避免(a)在ntpd.exe上使用“以管理員身份運行”兼容模式,?以及(b)通過更新兩個本地安全策略在本地系統帳戶下運行守護程序。
- 啟動secpol.msc
- 瀏覽到本地策略=>用戶權限分配?
- 將ntp帳戶添加到以下策略:?
- 更改系統時間
- 以服務身份登錄
在我的機器上,在啟用更改系統時間權限之前,我會在應用程序事件日志中看到這些錯誤消息:
- SetSystemTime失敗:客戶端不保留所需的權限。?
- 無法調整時間:客戶端不保留所需的權限。
這臺機器啟用了IPv4和IPv6,所以我懷疑它幾乎總是?沒有修改更改系統時間安全策略。默認情況下,該權限僅適用于管理員和高級用戶(參考:http:?//msdn.microsoft.com/en-us/library/ms813808.aspx)。?
?
其他問題
- 如果NTP似乎沒有啟動,請使用Meinberg在“開始”按鈕,“所有程序”,“Meinberg”,“網絡時間協議”,“服務控制”菜單集中為您提供的“啟動NTP”條目。然后,您可能會看到諸如“無法登錄”之類的消息,然后查看事件查看器以獲取更多詳細信息。
? - 為NTP帳戶定義密碼后,安裝程序不允許您更改密碼。繼續使用原始密碼。
? - 我發現在將Windows-10預覽版更新到其他版本時,ntp?帳戶未被刪除,但后續安裝的NTP不會使用舊帳戶,也不會從頭開始創建新帳戶。該錯誤似乎是登錄密碼。由于該系統并沒有在互聯網上使用,并且不提供任何服務,以互聯網,我用的系統?帳戶,而不是。
?
將NTP更新為更新版本
Meinberg網站使用NTP 4.2.6p5,這是當前的,并且運行良好。命令:
ntpq -crv將包括參數列表,包括第二行的版本信息。
如果你想要試驗:
??
?
??
??
?
任何問題,您只需反轉步驟并使用您在步驟(1)中保存的版本。NTP的更高版本提供了更多選項,并修復了一些錯誤。如果您想要最新版本,請參閱下文。
使用“池”指令
使用NTP 4.2.6p5(由最近的Meinberg版本安裝),您可以在ntp.conf文件中保存行,并通過替換行來訪問NTP認為最合適的服務器數量:
#使用池NTP服務器 服務器0.uk.pool.ntp.org iburst 服務器1.uk.pool.ntp.org iburst 服務器2.uk.pool.ntp.org iburst 服務器0.nl.pool.ntp.org iburst 服務器1.nl.pool.ntp.org iburst單行:
#使用池NTP服務器 pool uk.pool.ntp.org maxpoll 6 iburstNTP將確定它應該自動連接多少個服務器,它可能超過默認安裝中的少數服務器。也許更重要的是NTP監視“池”中每個服務器的連接,如果服務器出現故障,它將嘗試連接另一個服務器,從而維護大量工作服務器。pool指令為ntpq -pn輸出引入了一個新行 - 不要被顯示stratum-16的行拖延,這是正常的,并且該行下面的池服務器將顯示正常連接。前四個服務器是我的網絡的本地服務器,以及.POOL以下的服務器。線路來自廣域網上的互聯網。這是來自Windows-7/32系統,其中抖動限制在最小值0.977毫秒。該maxpoll 6如果??在配置中,可以解決某些版本的Windows的不同問題,其中系統調用限制了可以設置時鐘速率的精度。
?
?
從源頭構建NTP的配方
關于從源代碼重建NTP的一些注意事項。可能是我的系統特有的,可能是不完整的。通常情況下,你會不會?需要重新編譯源,所以請把這個節為指導,并指出?只有,和不防彈一步一步的指示。祝好運!
要求:
- Microsoft Visual C ++ 2010 Express等編譯器
- 源代碼,來自http://www.ntp.org/downloads.html
- [可選] - 適用于Windows的7-zip,來自:http://www.7-zip.org/download.html
- OpenSSL的一個版本 -?http://slproweb.com/products/Win32OpenSSL.html
- ...例如OpenSSL版本1.0.0c?(本地副本)
我該怎么安裝?
首先下載Visual C ++編譯器。下載整個Visual Studio 2010 Express CD(作為ISO文件)可能更好,因為您可能希望稍后重新安裝,當Microsoft撤銷此版本時,或者您可能想要嘗試其他一些組件。將編譯器安裝到默認位置,除非系統驅動器上的空間緊張。
接下來,下載并安裝OpenSSL。您需要完整的16.9 MB安裝,以便您可以獲取用于編譯程序的源文件以與OpenSSL一起運行。但是,您不需要安裝完整的OpenSSL進行編譯,只需要用于軟件開發的文件,因此當被問及是否應將二進制文件復制到Windows系統目錄時,請回答“否”。安裝后,查看為OpenSSL設置了哪些環境變量。在另一臺PC上的第二次安裝中,我沒有看到這些設置,并且必須手動設置它們。你需要至少兩個,在我的第一個系統上,這些是:
OPENSSL_INC = d:\工具\ OpenSSL的\ OpenSSL.1.0.0c \ inc32 OPENSSL_LIB = d:\工具\ OpenSSL的\ OpenSSL.1.0.0c \ out32dll在第二臺PC上,我安裝到C:\ Tools \ OpenSSL并需要以下內容:
OPENSSL_INC = C:\工具\ OpenSSL的\ lib中 OPENSSL_LIB = C:\工具\ OpenSSL的\ BIN編譯將通過引用這些環境變量來查找OpenSSL文件。%OPENSSL_INC%目錄包含一個子目錄“openssl”,其中包含以“aes.h”開頭的文件。找到該目錄并獲取副本。%OPENSSL_LIB%目錄包含帶有“aep.dll”作為第一個或第二個文件的文件。我在我的第一臺PC上做的是將已安裝的OpenSSL目錄中的文件復制到我之前安裝的目錄中。??
在第一臺PC上,NTP編譯還需要將OpenSSL安裝中的幾個庫定義文件放在out32dll目錄中。在OpenSSL安裝樹中找到文件:libeay32.lib和ssleay32.lib,并將它們復制到out32dll目錄。然后也備份該目錄。一旦有了自包含,填充的%OPENSSL_INC%和%OPENSSL_LIB%目錄,就可以卸載OpenSSL。我懷疑我缺乏C / C ++經驗可能導致我對安裝目錄或%OPENSSL_LIB%環境變量做出錯誤的選擇。
最后,您可以下載源代碼。它將采用6 MB UNIX壓縮存檔的形式,例如:ntp-dev-4.2.7p326.tar.gz。我發現解壓縮這個最簡單的方法是將它發送到7-zip文件管理器,它顯示為一個未知屬性的文件,雙擊該文件,它變成7-Zip文件管理器中的目錄,然后只需將該目錄拖到打開的Windows資源管理器窗口中的所需位置即可。在我的例子中,我想把源代碼放到D:\ Tools \中,所以在拖放后我最終得到了一個目錄:
d:\工具\ NTP-dev的\ NTP-DEV-4.2.7p326 \編譯
NTP源代碼已準備好在Visual Studio 2005,2008和2013中編譯,但不是2010年。但是,這不是問題,因為VS 2010會將.SLN(解決方案)文件轉換為新格式。找到文件:
d:\工具\ NTP-dev的\ NTP-DEV-4.2.7p326 \端口\ WINNT \ VS2008 \ ntp.sln然后雙擊它。如果您安裝了多個VS2010產品,則可能需要右鍵單擊ntp.sln文件并選擇:使用Visual C ++打開。此時,Visual Studio將邀請您轉換項目,因此允許它這樣做。應該沒有錯誤。在Visual Studio的頂部有三個下拉列表。在第一個下拉列表中,選擇“Release”(在發布版本或調試版本之間進行選擇)。第二個應該是“Win32”,第三個將取決于你的上次搜索。然后,從Debug菜單中選擇Build Solution(或者按F7 - 作為Delphi的人我更習慣按F9!)。幾分鐘后(在Delphi中會是幾秒鐘),您應該收到一條消息“==構建:9成功,0失敗,0最新,0跳過==”或類似。如果你收到錯誤,我是最后一個問的人!抱歉!
安裝新編譯的版本
新文件將在以下位置創建:
d:\工具\ NTP-dev的\ NTP-DEV-4.2.7p326 \端口\ WINNT \ VS2008 \ Win32的BIN \發布\如果您無法自己編譯NTP,可以在此處下載最近的現成.exe文件集。下載后,請務必右鍵單擊“屬性”,“取消阻止.zip文件”,然后將文件復制到臨時目錄中。
按類型對該目錄進行排序可能是最方便的(單擊Type列標題),您將看到6個.EXE文件和一個.DLL。可能有更多或更少的.EXE文件。我自己的做法是:
- 使用服務管理器停止NTP
- 將新的ntp * .exe文件從Release復制到我的.. \ ntp \ bin \目錄
- 使用服務管理器啟動NTP
事實上,我這么做是為了完成任務的批處理文件,需要在Windows Vista及更高版本中以管理員身份運行。該文件的核心是:
設置DEST =“C:\ Tools \ NTP \ bin \” net stop ntp 復制ntpd.exe%DEST% 復制ntpdate.exe%DEST% 復制ntpdc.exe%DEST% 復制ntp-keygen.exe%DEST% 復制ntpq.exe%DEST% net start ntp 超時20 ntpq -crv -pn我用這種方式編碼 - 使用%DEST% - 因為我在每個運行NTP的系統上都有類似的文件。我可以根據特定PC的需要設置DEST,保持文件的大部分不變。在實踐中,如果您保持在相同的主要版本(即4.2.7)中,單獨復制ntpd.exe可能就足夠了。我的實際文件也有一些日志記錄。在超時命令產生的20秒延遲之后,文件末尾的ntpq調用檢查更新是否產生了工作ntp?。
如果在Windows XP上運行,則timeout命令不可用,可以替換為:
ping -n 20 127.0.0.1OpenSSL版本問題
早期版本的Meinberg NTP與OpenSSL 0.9.8以及更高版本1.1.0c一起發布。但是,我們發現如果使用0.9.8k進行編譯,生成的NTP可執行文件將無法在具有1.1.0c DLL的系統上運行,反之亦然。工作折衷似乎是獲得版本1.0.0c OpenSSL,因為生成的.EXE文件將在具有OpenSSL DLL的系統上運行。感謝Dave Hart,我設法找到了這個版本的副本,我已放在這里。
Windows 2000的一個問題
使用VS 2010編譯的程序不能在Windows 2000上運行。
修復NTP 4.2.7p349-356所需的內容
在NTP 4.2.7p349到4.2.7p356之間,需要對兩個錯誤自動生成的文件進行小編輯。這里描述了修復程序。
?
?
為何選擇NTP?
人們有時會問為什么他們應該使用這個NTP軟件,而不是Windows內置的W32Time服務,或其他所謂的“原子時間”程序。
- NTP使用多個服務器,并根據連續監控自動選擇最佳服務器。如果服務器出現故障,則選擇另一個服務器而無需用戶干預。相比之下,W32Time與許多時鐘程序一樣,只使用一臺服務器。
- NTP只在需要時頻繁地與服務器聯系,每分鐘一次,每17分鐘一次。默認情況下,W32Time每周僅與服務器聯系一次,因此您的PC可能會在更正之間分鐘數!
- 來自Meinberg安裝的NTP將嘗試使用位于您附近的池服務器以獲得更好的性能,而不是位于非洲大陸的服務器。
- NTP一旦設置即作為服務運行 - 它甚至會在您從PC注銷時保留時間。
- NTP更加準確:
- NTP改變時鐘速率,以及最初設置時鐘時間,以便時鐘在校正之間保持盡可能接近UTC。
- 一旦NTP運行,時間不是常規步驟,而是順利調整。
- 時間通常不會倒退。
- 無需用戶干預即可處理閏秒,無需踩踏PC的時鐘。
- 即使在Windows上,也可以通過適當的配置實現低至毫秒級的精度 - 某些軟件需要。
- 您可以將自己的時間源與NTP一起使用,例如無線電時鐘或?GPS接收器,然后它將獨立于互聯網連接工作,例如當您在外地時。
- 您可以在許多操作系統上運行NTP,包括Windows,Linux,FreeBSD和Mac OS,因此無需重新學習管理和監控NTP專業知識。
- NTP提供全面的性能檢查,其他程序通常不提供。如果需要,可以從中心點跨網絡進行監控。以下是自動NTP監控的示例。
- NTP是開源軟件,100%符合互聯網協議的網絡時間。
?
前進的下一步 - 您自己的精確時間服務器
已經意識到安裝NTP的好處,您可能想知道在互聯網發生故障時保持精確的時間,或者在沒有互聯網連接的PC上,或者您希望您的PC保持比NTP標準更接近的時間?答案是設置您自己的Stratum-1參考服務器,您可以使用Windows,Linux或FreeBSD來完成此操作。不需要額外的軟件,因為NTP安裝既可以充當遠程服務器的客戶端,也可以充當本地PC客戶端的服務器本身。NTP是一個非常小的負載,因此您可以在現有PC上作為額外的運行它,而不會影響可能在那里運行的工作。您所需要的只是一個輸出PPS(每秒脈沖數)信號的GPS設備,即使是當今GPS定時設備的最低成本,這些信號通常精確到幾微秒。對于低成本設備,我推薦Sure Electronics GPS評估板,我已經寫了一個關于如何使用Sure板的頁面。這需要大約25英鎊(35美元),包括磁性天線和USB引線,因此它不太可能破壞銀行!我的Raspberry Pi NTP服務器上列出了替代品?頁面,您將獲得制作Raspberry Pi NTP服務器的樂趣!
一旦您的網絡中有一臺精確的PC,您就可以將其他PC與其他局域網或無線連接同步,并且與僅使用Internet的同步配置相比,所有PC都具有更高的準確性。請注意,您可能需要設置您的防火墻軟件,這樣比你的主服務器上的其他PC可以訪問NTP -設置NTP允許所描述的入站訪問這里。要進行測試,請確保您可以運行:??ntpq -pn <my-time-server>? 來自客戶端PC。如果您收到超時響應,可能是防火墻問題。當PC只與LAN服務器通信時,您可以通過更頻繁地輪詢本地參考時鐘來使它們更加精確,并通過不那么頻繁地輪詢它們來減輕Internet服務器上的負載,因此您可以使用配置文件,例如:
#使用本地層1服務器 服務器my-time-server iburst maxpoll 5更喜歡#使用池NTP服務器 pool uk.pool.ntp.org minpoll 10 iburst用您當地的精確PC的名稱或IP地址替換我的時間服務器。這樣的配置使得PC每32秒(2 ** 5)輪詢本地層1服務器,但僅每1024秒(2 ** 10)輪詢一次因特網服務器。但是,您應該將Internet服務器保留為備份,以防您的本地NTP服務器出現故障或丟失GPS鎖等。為什么不將它作為下一個項目?
?
運行可公開訪問的NTP服務器
如果您正在運行可從公共Internet訪問的服務器 - 也許您正在為NTP池項目做出貢獻- 您應該采取一些簡單的預防措施來確保您的服務器不會被用作攻擊其他PC的源。請注意,這不適用于位于本地PC上的大多數最終用戶客戶端,您需要在防火墻或路由器中專門打開一個端口,以允許公共傳入的未經請求的UDP端口123數據包進入您的本地網絡。如果您使用的是最新版本(4.2.8p1或更高版本),則表示您已受到保護。以下通知解釋了更多:
?
強烈建議NTP用戶立即采取措施,確保他們的NTP守護程序不易被用于反射拒絕服務(DRDoS)攻擊。有關漏洞和緩解詳細信息,請參閱NTP安全通知,有關詳細信息,請參閱Network Time Foundation博客。(2014年一月)
?
?
?
?
?
?
?
轉自:https://www.cnblogs.com/jinjiangongzuoshi/p/3773879.html
?
找了很多的資料,都沒有windows做時間服務,linux同步windows的時間的,最后自己找了一些軟件,終于搞定了,寫出來給大家共享,以免大家多走彎路
首先在http://www.meinberg.de/english/sw/index.htm
下載了一個windows的NTP服務程序:ntp4171.zip
windows 192.168.1.32
1.安裝是提示設置服務器地址,我設置的本機widows機器的IP
2.ntpd的控制在:
控制面板->;管理工具->;組件服務-NetworkTimeProtocol
3.可以啟動ntpd守護進程保持時間同步
4.在C:\WINNT目錄下有個ntp的配置文件ntp.conf
設置為:
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 10
5.確定ntp是否工作: ntpq -p
linux和Windows同步,我用的是RedHat 9.0
執行命令:ntpdate 192.168.1.32
你就會發現你的時間變化了,和192.168.1.32的時間一樣
如果執行命令出現一下錯誤
1.提示:7 Dec 19:24:55 ntpdate[2120]: the NTP socket is in use, exiting
這個是你linux機器上已經存在這個進程,輸入:ps -ef | grep ntpd
Kill掉ntp的進程
2.提示:No Server suitable for synchronization found
這個是最容易出現的問題,比較常見的是配置好服務器并啟動服務器進程后,馬上
啟動客戶進程,那么客戶進程就會報錯。解決方法是,在大約3-5分鐘以后啟動進程就行
我想每隔10分鐘就和Windows服務同步時間
1.創建自己的一個crontab文件,隨便建立一個文件date.cron,首先可以使用任何文本
編輯器建立一個新文件,然后向其中寫入需要運行的命令和要定期執行的時間。
vi date.cron加入下面要運行的命令和要定期執行的時間
*/10 * * * * /usr/sbin/ntpdate 192.168.1.32
然后存盤退出
2.使用crontab命令來安裝這個文件,使之成為該用戶的crontab文件。鍵入:
crontab date.cron
這個文件已經建立好了
3.使用命令:
crontab -l (查看安排的作業序列)可以看到剛才的作業
如:
[root@NXD-TEST root]# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (date.cron installed on Tue Dec 7 18:22:42 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
*/10 * * * * /usr/sbin/ntpdate 192.168.1.32
現在就OK了,每隔10分鐘Linux就和服務端同步一次。
?
posted on 2019-07-16 10:25 明凈 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/mingjing/p/11193265.html
總結
以上是生活随笔為你收集整理的windows做时间服务器,linux和windows时间同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity学习———2D人物的移动
- 下一篇: 送给linux***爱好者的小技巧 分享