如何在 Linux 上安裝、配置 NTP 伺服器和客戶端? | Linux 中國

2022-01-05 Linux

致歉:昨天發的文章《 如何在 Linux 上安裝、配置 NTP 伺服器和客戶端?》因為反覆排版後,導致腦子丟了,結果發成另外一篇 5G 的內容。實在抱歉。昨天的文章作為今天的次條重新發布。

你也許聽說過這個詞很多次或者你可能已經在使用它了。在這篇文章中我將會清晰的告訴你 NTP 伺服器和客戶端的安裝。

之後我們將會了解 Chrony NTP 客戶端的安裝。

什麼是 NTP 服務?

NTP 意即網絡時間協議Network Time Protocol。它是通過網絡在計算機系統之間進行時鐘同步的網絡協議。換言之,它可以讓那些通過 NTP 或者 Chrony 客戶端連接到 NTP 伺服器的系統保持時間上的一致(它能保持一個精確的時間)。

NTP 在公共網際網路上通常能夠保持時間延遲在幾十毫秒以內的精度,並在理想條件下,它能在區域網下達到低於一毫秒的延遲精度。

它使用用戶數據報協議(UDP)在埠 123 上發送和接受時間戳。它是個 C/S 架構的應用程式。

NTP 客戶端

NTP 客戶端將其時鐘與網絡時間伺服器同步。

Chrony 客戶端

Chrony 是 NTP 客戶端的替代品。它能以更精確的時間更快的同步系統時鐘,並且它對於那些不總是在線的系統很有用。

為什麼我們需要 NTP 服務?

為了使你組織中的所有伺服器與基於時間的作業保持精確的時間同步。

為了說明這點,我將告訴你一個場景。比如說,我們有兩個伺服器(伺服器 1 和伺服器 2)。伺服器 1 通常在 10:55 完成離線作業,然後伺服器 2 在 11:00 需要基於伺服器 1 完成的作業報告去運行其他作業。

如果兩個伺服器正在使用不同的時間(如果伺服器 2 時間比伺服器 1 提前,伺服器 1 的時間就落後於伺服器 2),然後我們就不能去執行這個作業。為了達到時間一致,我們應該安裝 NTP。

希望上述能清除你對於 NTP 的疑惑。

在這篇文章中,我們將使用下列設置去測試。

◈ NTP 伺服器: 主機名:CentOS7.2daygeek.com,IP:192.168.1.8,OS:CentOS 7◈ NTP 客戶端: 主機名:Ubuntu18.2daygeek.com,IP:192.168.1.5,OS:Ubuntu 18.04

NTP 伺服器端:如何在 Linux 上安裝 NTP?

因為它是 C/S 架構,所以 NTP 伺服器端和客戶端的安裝包沒有什麼不同。在發行版的官方倉庫中都有 NTP 安裝包,因此可以使用發行版的包管理器安裝它。

對於 Fedora 系統,使用 DNF 命令 去安裝 ntp。

對於 Debian/Ubuntu 系統,使用 APT-GET 命令 或者 APT 命令 去安裝 ntp。

對基於 Arch Linux 的系統,使用 Pacman 命令 去安裝 ntp。

對 RHEL/CentOS 系統,使用 YUM 命令 去安裝 ntp。

對於 openSUSE Leap 系統,使用 Zypper 命令 去安裝 ntp。

$ sudo zypper install ntp

如何在 Linux 上配置 NTP 伺服器?

安裝 NTP 軟體包後,請確保在伺服器端的 /etc/ntp.conf 文件中取消以下配置的注釋。

默認情況下,NTP 伺服器配置依賴於 X.distribution_name.pool.ntp.org。 如果有必要,可以使用默認配置,也可以訪問https://www.ntppool.org/zone/@站點,根據你所在的位置(特定國家/地區)進行更改。

比如說如果你在印度,然後你的 NTP 伺服器將是 0.in.pool.ntp.org,並且這個地址適用於大多數國家。

restrict default kod nomodify notrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noqueryserver 0.asia.pool.ntp.orgserver 1.asia.pool.ntp.orgserver 2.asia.pool.ntp.orgserver 3.asia.pool.ntp.orgrestrict 192.168.1.0 mask 255.255.255.0 nomodify notrapdriftfile /var/lib/ntp/drift

我們僅允許 192.168.1.0/24 子網的客戶端訪問這個 NTP 伺服器。

由於默認情況下基於 RHEL7 的發行版的防火牆是打開的,因此要允許 ntp 服務通過。

# firewall-cmd --add-service=ntp --permanent

更新配置後要重啟服務:

對於 sysvinit 系統。基於 Debian 的系統需要去運行 ntp 而不是 ntpd。

對於 systemctl 系統。基於 Debian 的需要去運行 ntp 和 ntpd。

NTP 客戶端:如何在 Linux 上安裝 NTP 客戶端?

正如我在這篇文章中前面所說的。NTP 伺服器端和客戶端的安裝包沒有什麼不同。因此在客戶端上也安裝同樣的軟體包。

對於 Fedora 系統,使用 DNF 命令 去安裝 ntp。

對於 Debian/Ubuntu 系統,使用 APT-GET 命令 或者 APT 命令 去安裝 ntp。

對基於 Arch Linux 的系統,使用 Pacman 命令 去安裝 ntp。

對 RHEL/CentOS 系統,使用 YUM 命令 去安裝 ntp。

對於 openSUSE Leap 系統,使用 Zypper 命令 去安裝 ntp。

$ sudo zypper install ntp

我已經在 CentOS7.2daygeek.com` 這臺主機上安裝和配置了 NTP 伺服器,因此將其附加到所有的客戶端機器上。

restrict default kod nomodify notrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noqueryserver CentOS7.2daygeek.com prefer iburstdriftfile /var/lib/ntp/drift

更新配置後重啟服務:

對於 sysvinit 系統。基於 Debian 的系統需要去運行 ntp 而不是 ntpd。

對於 systemctl 系統。基於 Debian 的需要去運行 ntp 和 ntpd。

重新啟動 NTP 服務後等待幾分鐘以便從 NTP 伺服器獲取同步的時間。

在 Linux 上運行下列命令去驗證 NTP 服務的同步狀態。

remote refid st t when poll reach delay offset jitter==============================================================================*CentOS7.2daygee 133.243.238.163 2 u 14 64 37 0.686 0.151 16.432

運行下列命令去得到 ntpd 的當前狀態。

synchronised to NTP server (192.168.1.8) at stratum 3 time correct to within 508 ms polling server every 64 s

最後運行 date 命令。

Tue Mar 26 23:17:05 CDT 2019

如果你觀察到 NTP 中輸出的時間偏移很大。運行下列命令從 NTP 伺服器手動同步時鐘。當你執行下列命令的時候,確保你的 NTP 客戶端應該為未活動狀態。(LCTT 譯註:當時間偏差很大時,客戶端的自動校正需要花費很長時間才能逐步追上,因此應該手動運行以更新)

# ntpdate –uv CentOS7.2daygeek.com

via: https://www.2daygeek.com/install-configure-ntp-server-ntp-client-in-linux/

作者:Magesh Maruthamuthu 選題:lujun9972 譯者:arrowfeng 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關焦點

  • linux配置時間伺服器(ntp)
    可用的公共時間伺服器列表可以從下面的地址獲取:  http://ntp.isc.org/bin/view/Servers/NTPPoolServers  NTP是用來使系統和一個精確的時間源保持時間同步的協議。建議大家在自己管理的網絡中建立至少一臺時間伺服器來同步本地時間,這樣可以使得在不同的系統上處理和收集日誌和管理更加容易。
  • linux ntp時間伺服器配置
    學習的時候也順便複習了一下如何設置Linux的時間,現在拿出來和大家分享:設置NTP伺服器不難但是NTP本身是一個很複雜的協議. 這裡只是簡要地介紹一下實踐方法和上次一樣,下面的實驗都在RHEL5上運行 1. 時間和時區如果有人問你說現在幾點? 你看了看表回答他說晚上8點了.
  • linux下的DHCP伺服器的配置
    linux現在主要的應用在伺服器上。而作為伺服器,Web,dhcp,和dns又是網際網路上最主要的服務,這一講,我和朋友們討論dhcp的應用。
  • linux下ntp時鐘同步的搭建和使用(超詳細)
    在生產和學習過程中,是一個最容易被忽略卻又很重要的協議。一、安裝NTP1、linux下NTP的安裝方式有很多種,yum、wget、rpm都可以,選擇自己習慣的方式即可,這裡不再贅述!本人習慣用rpm方式安裝,在伺服器上就需要安裝如下兩個文件。
  • Linux雲伺服器配置自動時間同步
    時間同步命令:ntpdata time.windows.com自動時間同步:需要配置/etc/crontab文件,實現自動執行任務讓linux從time.windows.com自動同步時間vi /etc/crontab
  • 在 Ubuntu 16.04 上安裝和使用伺服器監控報警系統 Shinken
    程序的作業系統上,比如說 Linux、Unix 和 Windows。在這篇教程中,我將會描述如何從原始碼編譯安裝 Shinken 和向監視系統中添加一臺 Linux 主機。我將會以 Ubuntu 16.04 Xenial Xerus 作業系統來作為 Shinken 伺服器和所監控的主機。
  • 在Linux下搭建Git伺服器
    .1)Linux是伺服器端系統,Windows作為客戶端系統,分別安裝Git安裝服務端:[root@Linuxprobe ~]# yum install -y git[root@localhost ~]# git --version    //安裝完後,查看 Git 版本git version 1.8.3.1
  • 如何在 Linux 伺服器上設置 ulimit 和文件描述符數限制 | Linux 中國
    因為許多應用程式是基於 Java 和 Apache 的,安裝和配置它們可能會導致打開過多的文件(文件描述符)。如果打開的文件描述符超過了默認設置的限制,就可能會面臨訪問控制問題,受阻於打開文件的挑戰。許多生產環境因此而陷入停滯狀態。幸運的是,在基於 Linux 的伺服器上,都有 ulimit 命令,通過它可以查看、設置、獲取文件打開的狀態和配置詳情。
  • linux伺服器基本安全配置手冊
    一份正確的linux基本安全配置手冊就顯得格外重要。在我本文中就向大家介紹在edhat/centos 4,5下的Linux伺服器基本安全配置手冊。安裝注意1.刪除系統特殊的的用戶帳號:禁止所有默認的被作業系統本身啟動的且不需要的帳號,當你第一次裝上系統時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。
  • 教程:在Linux下快速配置TeamSpeak伺服器
    在Windows下配置一個TeamSpeak伺服器僅僅需要安裝伺服器端即可,但是Windows作為伺服器的性能表現並不理想,作為Teamspeak伺服器的最佳選擇還是Linux,然而在Linux下架設TeamSpeak伺服器可不是一個簡單的事情,不過接下來可以推薦給大家使用一個傻瓜腳本,運行之後即可快速建立屬於自己的TeamSpeak伺服器。#!
  • 【網工必學】Linux部署NTP伺服器進行時間同步.....
    # 記錄和上級時間伺服器的時間差異driftfile /var/lib/ntp/drift# ntp 日誌logfile /var/log/ntp.log# 日誌級別 all event infologconfig all# 設置默認策略,允許同步時間,不允許修改restrict default
  • Linux應用 DHCP伺服器的安裝和故障排除
    DHCP使用客戶端/伺服器模式,請求配置信息的計算機叫做「DHCP客戶端」,而提供信息的叫做「DHCP伺服器」。DHCP為客戶端分配地址的方法有3種,即手工配置、自動配置和動態配置。DHCP最重要的功能就是動態分配,除了IP位址,DHCP還為客戶端提供其他的配置信息,如子網掩碼,從而使得客戶端無須用戶動手即可自動配置並連接網絡。
  • 如何在 CentOS 中設置 NTP 伺服器
    而另一方面,一個 NTP 伺服器會將它的時間和任意公共 NTP 伺服器,或者你選定的伺服器同步。由 NTP 管理的所有系統時鐘都會同步精確到毫秒級。在公司環境中,如果他們不想為 NTP 傳輸打開防火牆,就有必要設置一個內部 NTP 伺服器,然後讓員工使用內部伺服器而不是公共 NTP 伺服器。在這個指南中,我們會介紹如何將一個 CentOS 系統配置為 NTP 伺服器。
  • 走進Linux(下)——arch linux的安裝教程
    New走進Linux(下)——arch linux的安裝教程一、為什麼選擇arch Linux?相比Debian/Ubuntu、SUSE、RedHat/Fedora 等其他發行版, Arch Linux 屬於輕量級選手,其簡單的設計讓它容易被輕鬆擴展和配置成為任何想要的系統類型。
  • Linux時間同步
    不管是windows還是linux,都會涉及到時間同步,我們的系統時間是一個標準的時間,由於系統運行時間過長,伴隨著各方面的原因,時間總會多多少少出現一些微小的差距。而伺服器如果時間與標準時間出現差別的話,會出現某些問題,因為伺服器不是單單為個人服務,而是為複數客戶端服務的。大家應該都知道,在windows系統下,做時間同步很簡單了。
  • 在Linux上安裝Apache Tomcat完整指南
    在本教程中,我們將討論v8.5的Apache Tomcat安裝。如有變動請閱讀原文:http://www.linuxidc.com/Linux/2018-02/150792.htm必要條件要安裝Tomcat 8.5,我們將需要JAVA 7或更高版本。 所以首先我們需要在我們的系統上安裝和設置JAVA。
  • linux基礎應用(NFS文件共享)
    RPC遠程過程調用NFS伺服器端和客戶端之間的數據傳輸通過相對應網絡埠,由於NFS支持的功能比較多,不同的功能會使用不同的程序啟動,每啟動一個功能就會啟用一些埠來傳輸數據,因此NFS的功能對應的埠不固定,那麼造成NFS伺服器和NFS客戶端數據傳輸的通信障礙(NFS客戶端必須知道NFS伺服器端的數據傳輸埠才能通信進行數據交互
  • 在 Linux 上安裝和使用 Docker | Linux 中國
    每個容器都部署於它自己的 CPU、內存、塊 I/O,以及網絡資源上,所有這些都不依賴於某個內核和作業系統。這也是容器與虛擬機之間最大的不同;相比之下,虛擬機是一個運行於宿主機作業系統上的完整的作業系統平臺,而容器不是。容器允許你以一種前所未有的方式擴展交付能力(不管內部還是外部的)。例如,你可以快速部署多個 NGINX 實例(甚至可以應用於多個不同的階段 —— 比如開發和生產階段)。
  • 使用PXE+Kickstart無人值守批量安裝Linux系統
    這種無人值守安裝系統可以自動地為數十臺伺服器安裝系統,大大提升了系統安裝的效率。無人值守安裝系統的工作流程如圖所示一、配置DHCP服務程序當掛載好光碟鏡像並把Yum倉庫文件配置妥當後,就可以安裝DHCP服務程序軟體包了。
  • Linux下軟體安裝方法
    Rpm特點:rpm包將你安裝的軟體預先編譯過,並且打包成rpm的安裝包,這個軟體安裝時所有的屬性依賴軟體都會被記錄在包裝好的默認資料庫裡,安裝時rpm會依照軟體裡的數據查詢linux主機的依賴屬性是否滿足。以此來判斷是否可以安裝該軟體。