您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么在Linux上安裝和配置NTP服務器和客戶端”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
NTP 意即網絡時間協議。它是通過網絡在計算機系統之間進行時鐘同步的網絡協議。換言之,它可以讓那些通過 NTP 或者 Chrony 客戶端連接到 NTP 服務器的系統保持時間上的一致(它能保持一個精確的時間)。
NTP 在公共互聯網上通常能夠保持時間延遲在幾十毫秒以內的精度,并在理想條件下,它能在局域網下達到低于一毫秒的延遲精度。
它使用用戶數據報協議(UDP)在端口 123 上發送和接受時間戳。它是個 C/S 架構的應用程序。
NTP 客戶端將其時鐘與網絡時間服務器同步。
Chrony 是 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
因為它是 C/S 架構,所以 NTP 服務器端和客戶端的安裝包沒有什么不同。在發行版的官方倉庫中都有 NTP 安裝包,因此可以使用發行版的包管理器安裝它。
對于 Fedora 系統,使用 DNF 命令 去安裝 ntp。
$ sudo dnf install ntp
對于 Debian/Ubuntu 系統,使用 APT-GET 命令 或者 APT 命令 去安裝 ntp。
$ sudo apt install ntp
對基于 Arch Linux 的系統,使用 Pacman 命令 去安裝 ntp。
$ sudo pacman -S ntp
對 RHEL/CentOS 系統,使用 YUM 命令 去安裝 ntp。
$ sudo yum install ntp
對于 openSUSE Leap 系統,使用 Zypper 命令 去安裝 ntp。
$ sudo zypper install ntp
安裝 NTP 軟件包后,請確保在服務器端的 /etc/ntp.conf
文件中取消以下配置的注釋。
默認情況下,NTP 服務器配置依賴于 X.distribution_name.pool.ntp.org
。 如果有必要,可以使用默認配置,也可以訪問https://www.ntppool.org/zone/@站點,根據你所在的位置(特定國家/地區)進行更改。
比如說如果你在印度,然后你的 NTP 服務器將是 0.in.pool.ntp.org
,并且這個地址適用于大多數國家。
# vi /etc/ntp.conf restrict default kod nomodify notrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noqueryrestrict 127.0.0.1restrict -6 ::1server 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/driftkeys /etc/ntp/keys
我們僅允許 192.168.1.0/24
子網的客戶端訪問這個 NTP 服務器。
由于默認情況下基于 RHEL7 的發行版的防火墻是打開的,因此要允許 ntp 服務通過。
# firewall-cmd --add-service=ntp --permanent# firewall-cmd --reload
更新配置后要重啟服務:
對于 sysvinit 系統。基于 Debian 的系統需要去運行 ntp
而不是 ntpd
。
# service ntpd restart# chkconfig ntpd on
對于 systemctl 系統。基于 Debian 的需要去運行 ntp
和 ntpd
。
# systemctl restart ntpd# systemctl enable ntpd
正如我在這篇文章中前面所說的。NTP 服務器端和客戶端的安裝包沒有什么不同。因此在客戶端上也安裝同樣的軟件包。
對于 Fedora 系統,使用 DNF 命令 去安裝 ntp。
$ sudo dnf install ntp
對于 Debian/Ubuntu 系統,使用 APT-GET 命令 或者 APT 命令 去安裝 ntp。
$ sudo apt install ntp
對基于 Arch Linux 的系統,使用 Pacman 命令 去安裝 ntp。
$ sudo pacman -S ntp
對 RHEL/CentOS 系統,使用 YUM 命令 去安裝 ntp。
$ sudo yum install ntp
對于 openSUSE Leap 系統,使用 Zypper 命令 去安裝 ntp。
$ sudo zypper install ntp
我已經在 CentOS7.2daygeek.com` 這臺主機上安裝和配置了 NTP 服務器,因此將其附加到所有的客戶端機器上。
# vi /etc/ntp.conf
restrict default kod nomodify notrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noqueryrestrict 127.0.0.1restrict -6 ::1server CentOS7.2daygeek.com prefer iburstdriftfile /var/lib/ntp/driftkeys /etc/ntp/keys
更新配置后重啟服務:
對于 sysvinit 系統。基于 Debian 的系統需要去運行 ntp
而不是 ntpd
。
# service ntpd restart# chkconfig ntpd on
對于 systemctl 系統。基于 Debian 的需要去運行 ntp
和 ntpd
。
# systemctl restart ntpd# systemctl enable ntpd
重新啟動 NTP 服務后等待幾分鐘以便從 NTP 服務器獲取同步的時間。
在 Linux 上運行下列命令去驗證 NTP 服務的同步狀態。
# ntpq –p或# ntpq -pn 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 的當前狀態。
# ntpstatsynchronised to NTP server (192.168.1.8) at stratum 3 time correct to within 508 ms polling server every 64 s
運行 date
命令。
# dateTue Mar 26 23:17:05 CDT 2019
如果你觀察到 NTP 中輸出的時間偏移很大。運行下列命令從 NTP 服務器手動同步時鐘。當你執行下列命令的時候,確保你的 NTP 客戶端應該為未活動狀態。(LCTT 譯注:當時間偏差很大時,客戶端的自動校正需要花費很長時間才能逐步追上,因此應該手動運行以更新)
# ntpdate –uv CentOS7.2daygeek.com
“怎么在Linux上安裝和配置NTP服務器和客戶端”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。