如何在 CentOS 中設定 NTP 伺服器
網路時間協議(NTP)用來同步網路上不同主機的系統時間。你管理的所有主機都可以和一個指定的被稱為 NTP 伺服器的時間伺服器同步它們的時間。而另一方面,一個 NTP 伺服器會將它的時間和任意公共 NTP 伺服器,或者你選定的伺服器同步。由 NTP 管理的所有系統時鐘都會同步精確到毫秒級。
在公司環境中,如果他們不想為 NTP 傳輸開啟防火牆,就有必要設定一個內部 NTP 伺服器,然後讓員工使用內部伺服器而不是公共 NTP 伺服器。在這個指南中,我們會介紹如何將一個 CentOS 系統配置為 NTP 伺服器。在介紹詳細內容之前,讓我們先來簡單瞭解一下 NTP 的概念。
為什麼我們需要 NTP?
由於製造工藝多種多樣,所有的(非原子)時鐘並不按照完全一致的速度行走。有一些時鐘走的比較快而有一些走的比較慢。因此經過很長一段時間以後,一個時鐘的時間慢慢的和其它的發生偏移,這就是常說的 “時鐘漂移” 或 “時間漂移”。為了將時鐘漂移的影響最小化,使用 NTP 的主機應該週期性地和指定的 NTP 伺服器互動以保持它們的時鐘同步。
在不同的主機之間進行時間同步對於計劃備份、入侵檢測記錄、分散式任務排程或者事務訂單管理來說是很重要的事情。它甚至應該作為日常任務的一部分。
NTP 的層次結構
NTP 時鐘以層次模型組織。層級中的每層被稱為一個 stratum(階層)。stratum 的概念說明了一臺機器到授權的時間源有多少 NTP 跳。
Stratum 0 由沒有時間漂移的時鐘組成,例如原子時鐘。這種時鐘不能在網路上直接使用。Stratum N (N > 1) 層伺服器從 Stratum N-1 層伺服器同步時間。Stratum N 時鐘能透過網路和彼此互聯。
NTP 支援多達 15 個 stratum 的層級。Stratum 16 被認為是未同步的,不能使用的。
準備 CentOS 伺服器
現在讓我們來開始在 CentOS 上設定 NTP 伺服器。
首先,我們需要保證正確設定了伺服器的時區。在 CentOS 7 中,我們可以使用 timedatectl 命令檢視和更改伺服器的時區(比如,"Australia/Adelaide",LCTT 譯註:中國可設定為 Asia/Shanghai )
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
繼續並使用 yum 安裝需要的軟體
# yum install ntp
然後我們會新增全球 NTP 伺服器用於同步時間。
# vim /etc/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
預設情況下,NTP 伺服器的日誌儲存在 /var/log/messages。如果你希望使用自定義的日誌檔案,那也可以指定。
logfile /var/log/ntpd.log
如果你選擇自定義日誌檔案,確保更改了它的屬主和 SELinux 環境。
# chown ntp:ntp /var/log/ntpd.log
# chcon -t ntpd_log_t /var/log/ntpd.log
現在初始化 NTP 服務並確保把它新增到了開機啟動。
# systemctl restart ntp
# systemctl enable ntp
驗證 NTP Server 時鐘
我們可以使用 ntpq 命令來檢查本地伺服器的時鐘如何透過 NTP 同步。
下面的表格解釋了輸出列。
remote | 源在 ntp.conf 中定義。‘*’ 表示當前使用的,也是最好的源;‘+’ 表示這些源可作為 NTP 源;‘-’ 標記的源是不可用的。 |
refid | 用於和本地時鐘同步的遠端伺服器的 IP 地址。 |
st | Stratum(階層) |
t | 型別。 'u' 表示單播(unicast)。其它值包括本地(local)、多播(multicast)、廣播(broadcast)。 |
when | 自從上次和伺服器互動後經過的時間(以秒數計)。 |
poll | 和伺服器的輪詢間隔,以秒數計。 |
reach | 表示和伺服器互動是否有任何錯誤的八進位制數。值 337 表示 100% 成功(即十進位制的255)。 |
delay | 伺服器和遠端伺服器來回的時間。 |
offset | 我們伺服器和遠端伺服器的時間差異,以毫秒數計。 |
jitter | 兩次取樣之間平均時差,以毫秒數計。 |
控制到 NTP 伺服器的訪問
預設情況下,NTP 伺服器允許來自所有主機的查詢。如果你想過濾進來的 NTP 同步連線,你可以在你的防火牆中新增規則過濾流量。
# iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 123 -j ACCEPT
# iptables -A INPUT -p udp --dport 123 -j DROP
該規則允許從 192.168.1.0/24 來的 NTP 流量(埠 UDP/123),任何其它網路的流量會被丟棄。你可以根據需要更改規則。
配置 NTP 客戶端
1. Linux
NTP 客戶端主機需要 ntpupdate 軟體包來和伺服器同步時間。可以輕鬆地使用 yum 或 apt-get 安裝這個軟體包。安裝完軟體包之後,用伺服器的 IP 地址執行下面的命令。
# ntpdate <server-IP-address>
基於 RHEL 和 Debian 的系統命令都相同。
2. Windows
如果你正在使用 Windows,在日期和時間設定(Date and Time settings)下查詢網路時間(Internet Time)。
3. Cisco 裝置
如果你想要同步 Cisco 裝置的時間,你可以在全域性配置模式下使用下面的命令。
# ntp server <server-IP-address>
來自其它廠家的支援 NTP 的裝置有自己的用於網路時間的引數。如果你想將裝置和 NTP伺服器同步時間,請檢視裝置的說明文件。
結論
總而言之,NTP 是在你的所有主機上同步時鐘的一個協議。我們已經介紹瞭如何設定 NTP 伺服器並使支援 NTP 的裝置和伺服器同步時間。
希望能對你有所幫助。
via: http://xmodulo.com/setup-ntp-server-centos.html
作者:Sarmed Rahman 譯者:ictlyh 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出
相關文章
- 用 NTP 設定 CentOS 和 Ubuntu 伺服器的正確時區CentOSUbuntu伺服器
- CentOS 伺服器安全設定CentOS伺服器
- Windos NTP 服務設定
- centos8使用chrony作為NTP伺服器CentOS伺服器
- Centos下部署NTP時間伺服器同步環境CentOS伺服器
- CentOS7使用NTP搭建時間同步伺服器CentOS伺服器
- 使用阿里雲映象站NTP服務搭建NTP伺服器(基於CentOS 7系統)阿里伺服器CentOS
- 如何在CentOS 8中安裝OpenLiteSpeed Web伺服器CentOSWeb伺服器
- Ubuntu的NTP同步時鐘設定方法Ubuntu
- 如何在SpringBoot中設定TLS? |BaeldungSpring BootTLS
- 如何在 Centos7.7 設定GRUB選單的密碼CentOS密碼
- 如何在 Linux 上安裝、配置 NTP 伺服器和客戶端?Linux伺服器客戶端
- 如何在CentOS中安裝和配置Postfix郵件伺服器CentOS伺服器
- 如何在 CentOS8/RHEL8 中配置 Rsyslog 伺服器CentOS伺服器
- Windows ntp時間同步設定(bat指令碼)WindowsBAT指令碼
- NTP/SSH 伺服器伺服器
- 如何在Apache HttpClient中設定TLS版本ApacheHTTPclientTLS
- CentOS 配置阿里雲 NTP 服務CentOS阿里
- CentOS 8 啟用 NTP 服務CentOS
- Centos系統伺服器設定時間自動同步!CentOS伺服器
- 如何在Apple Mail中設定外出答覆APPAI
- 時間伺服器-NTP伺服器
- Linux伺服器配置---ntpLinux伺服器
- 在CentOS8中設定SSH金鑰CentOS
- centos基礎設定CentOS
- CentOS防火牆設定CentOS防火牆
- 如何在 Linux 下確認 NTP 是否同步?Linux
- 伺服器安全設定Centos7 防火牆firewall與iptables伺服器CentOS防火牆
- 如何在 Ubuntu Linux 中設定或更改時區UbuntuLinux
- 如何在 Sway 中設定多個顯示器
- 如何在MacOS中設定共享檔案協議?Mac協議
- Windows Server 2022 NTP伺服器WindowsServer伺服器
- HttpClientBuilder中設定代理伺服器 - TCoolsITHTTPclientUI伺服器
- 如何在 Linux 上設定古老又簡單的 TFTP 伺服器LinuxFTP伺服器
- CentOS 7 防火牆設定CentOS防火牆
- Ubuntu 時間不準,怎麼設定NTP時間同步?Ubuntu
- 如何在 Nuxt 中動態設定頁面佈局UX
- 教你如何在Linux中設定快捷方式圖示Linux
- 如何在 Fedora 30 中設定核心命令列引數命令列