1. 程式人生 > 其它 >Ubuntu部署NTP伺服器和客戶端

Ubuntu部署NTP伺服器和客戶端

https://www.cnblogs.com/lsgxeva/p/14265513.html

Ubuntu部署NTP伺服器和客戶端

NTP或網路時間協議是一種協議,用於將網路中的所有系統時鐘同步以使用同一時間。當我們使用術語NTP時,我們指的是協議本身,也指網路計算機上執行的客戶端和伺服器程式。 NTP屬於傳統的TCP /IP協議套件,可以很容易地歸類為它最古老的部分之一。

最初設定時鐘時,需要在設定時鐘之前的5到10分鐘內進行六次交換。網路中的時鐘同步後,客戶端每10分鐘更新一次與伺服器的時鐘。通常,這是通過單個訊息交換(事務)完成的。這些事務使用系統的埠號123。

在本文中,我們將描述如何執行以下操作的step-by-step過程:

  • 在Ubuntu計算機上安裝和配置NTP伺服器。
  • 將NTP客戶端配置為與伺服器時間同步。

我們已經在Ubuntu 18.04 LTS系統上運行了本文中提到的命令和過程。

第一部分:在主機上安裝和配置NTP伺服器

請按照以下步驟操作,以便在主機Ubuntu計算機上安裝NTP伺服器:

注意:為了安裝和配置NTP,我們使用Ubuntu命令列終端。您可以通過應用程式啟動器搜尋或Ctrl + Alt + T快捷方式開啟“終端”應用程式。

步驟1:更新儲存庫索引

為了從Internet資訊庫安裝最新的可用軟體版本,您的本地資訊庫索引需要與它們保持一致。以sudo身份執行以下命令,以更新您的本地儲存庫索引:

$ sudo apt-get update

步驟2:使用apt-get安裝NTP伺服器

請以sudo身份執行以下命令,以便從APT儲存庫安裝NTP伺服器守護程式:

$ sudo apt-get install ntp

請注意,只有授權使用者才能在Ubuntu上新增,刪除和配置軟體。

系統可能會詢問您sudo的密碼,並且還會為您提供一個Y /n選項以繼續安裝。輸入Y,然後按Enter; NTP伺服器將安裝在您的系統上。但是,該過程可能需要一些時間,具體取決於您的Internet速度。

步驟3:驗證安裝(可選)

您可以通過在終端中執行以下命令來驗證NTP的安裝並檢查版本號:

$ sntp --version

步驟4:切換到距離您最近的NTP伺服器池

安裝NTP伺服器時,大多數情況下將其配置為獲取適當的時間。但是,您可以將伺服器池切換到離您的位置最近的伺服器池。這包括在/等等/ntp.conf檔案。

通過執行以下命令,以sudo的身份在nano編輯器中開啟檔案:

$ sudo nano /etc/ntp.conf

在此檔案中,您將能夠看到一個池列表。我們已在上圖中突出顯示了此列表。此處的任務是用最接近您所在位置的時間伺服器池替換此池列表。 pol.ntp.org專案從大型時間伺服器群集中提供可靠的NTP服務。要根據您的位置選擇一個池列表,請訪問以下頁面:

我們已經搜尋了美國的游泳池清單:

該頁面告訴我們將以下行新增到ntp.conf檔案中:

server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

這是我的檔案在新增以上行之後的外觀:

通過按Ctrl + X退出檔案,然後輸入y來儲存更改。

步驟5:重新啟動NTP伺服器

為了使以上更改生效,您需要重新啟動NTP伺服器。為此,以sudo身份執行以下命令:

$ sudo service ntp restart

步驟6:驗證NTP伺服器正在執行

現在,通過以下命令檢查NTP服務的狀態:

$ sudo service ntp status

活動狀態驗證您的NTP伺服器已啟動並正在執行。

步驟7:配置防火牆,以便客戶端可以訪問NTP伺服器

最後,是時候配置系統的UFW防火牆,以使傳入的連線可以通過UDP埠號123訪問NTP伺服器。

以sudo身份執行以下命令以開啟埠123以接收傳入流量:

$ sudo ufw allow from any to any port 123 proto udp

您的Ubuntu主機現已配置為用作NTP伺服器。

第二部分:將NTP客戶端配置為與NTP伺服器進行時間同步

現在讓我們將Ubuntu客戶端計算機配置為與NTP伺服器時間同步。

步驟1:安裝ntpdate

ntpdate命令將使您可以手動檢查與NTP-server的連線配置。在客戶端計算機上開啟終端應用程式,然後輸入以下命令作為sudo:

$ sudo apt-get install ntpdate

步驟2:在hosts檔案中指定NTP伺服器的IP和主機名

為了使NTP伺服器在客戶端計算機中由主機名解析,您需要配置/etc /hosts檔案。

輸入以下命令,在nano編輯器中以sudo形式開啟hosts檔案:

$ sudo nano /etc/hosts

現在新增您的NTP伺服器的IP並在此檔案中指定一個主機名,如下所示:

通過按Ctrl + X退出檔案,然後通過輸入y儲存檔案。

第3步:檢查客戶端計算機的時間是否與NTP伺服器同步

以下ntpdate命令將使您可以手動檢查客戶端和伺服器系統之間的時間是否同步:

$ sudo ntpdate NTP-server-host

理想情況下,輸出應顯示兩個系統之間的時間偏移。

步驟4:在客戶端上禁用systemd timesyncd服務

因為我們希望客戶端與NTP伺服器同步時間,所以讓我們在客戶端計算機上禁用時間同步服務。

輸入以下命令來這樣做:

步驟5:在客戶端上安裝NTP

以sudo身份執行以下命令,以便在客戶端計算機上安裝NTP:

$ sudo apt-get install ntp

步驟6:配置/etc/ntp.conf檔案,將NTP伺服器新增為新的時間伺服器

現在,我們希望客戶端計算機將自己的NTP主機伺服器用作預設時間伺服器。為此,我們需要在客戶端計算機上編輯/etc/ntp.conf檔案。

以sudo身份執行以下命令,以便在Nano編輯器中開啟檔案:

$ sudo nano /etc/ntp.conf

然後,在檔案中新增以下行,其中NTP-server-host是您為NTP伺服器指定的主機名:

server NTP-server-host prefer iburst

指定時間伺服器後,檔案的外觀如下所示:

按Ctrl + x退出檔案,然後輸入y儲存更改。

步驟7:重新啟動NTP伺服器

為了使以上更改生效,您需要重新啟動NTP服務。為此,以sudo身份執行以下命令:

$ sudo service ntp restart

步驟8:檢視時間同步佇列

現在,您的客戶端和伺服器計算機已配置為time-synced。您可以通過執行以下命令來檢視時間同步佇列:

$ ntpq -p

您應該能夠看到NTP-server-host作為佇列中的時間同步主機/源。

這就是安裝和配置NTP以在聯網的Ubuntu計算機上同步時間所需的全部知識。該過程可能看起來有些麻煩,但是如果您認真執行上述所有步驟one-by-one,您的計算機將立即同步。