如何在 CentOS 中設置 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive