萬盛學電腦網

 萬盛學電腦網 >> 路由器知識 >> 路由器簡介 >> 怎樣在CentOS中搭建NTP服務器

怎樣在CentOS中搭建NTP服務器

  歡迎來到學習啦。這篇是學習啦小編特地為大家整理的,希望對大家有所幫助!

  網絡時間協議(NTP)用來同步網絡上不同主機的系統時鐘。所有受管理的主機可以與一台名為NTP服務器的指定時間服務器同步時間。另一方面,NTP服務器則與任何公共NTP服務器或者你所選擇的任何服務器同步自己的時間。所有NTP管理的設備其系統時間同步時可以精確到毫秒級。

  在企業環境下,如果企業不想為NTP流量打開防火牆,就有必要搭建一台內部的NTP服務器,讓員工可以使用內部服務器,而不是公共NTP服務器。我們在本教程中將介紹如何將CentOS系統配置成NTP服務器。在具體介紹細節之前,不妨先來了解NTP概念。

  我們為何需要NTP?

  由於制造方面的差異,所有(非原子)時鐘並不完全以一樣的速度運行。有些時鐘往往走得快點,而有些時鐘走得慢點。所以經過一段很長的時間後,一個時鐘的時間與另一個時鐘逐漸發生偏差,導致所謂的“時鐘漂移”或“時間漂移”。為了盡量減小時鐘漂移影響,使用NTP的主機應該定期與指定的NTP服務器進行聯系,保持時鐘同步。

  不同主機之間的時間同步對計劃備份、入侵檢測日志、分布式任務調度或事務簿記之類的事務而言很重要,甚至可能是監管合規所需要的一個要求。

  NTP層次結構

  NTP時鐘以分層層次結構來加以組織。該層次結構中的每一層被稱為層(stratum)。層這個概念描述了某機器距離權威時間源有多少個NTP跳。

  Stratum 0含有幾乎沒有時間漂移的時鐘,比如原子鐘。這些時鐘無法通過網絡直接使用。Stratum N(N > 1)服務器對照Stratum N-1服務器同步其時間。Stratum N時鐘可以通過網絡彼此連接。

  NTP最多可支持層次結構中的15層。Stratum 16被認為不同步、無法使用。

  准備CentOS服務器

  現在不妨接著講講如何在CentOS上搭建NTP服務器。

  首先,我們需要確保服務器的時區正確設置。在CentOS 7中,我們可以使用timedatectl命令來查看和更改服務器的時區(比如“Australia/Adelaide”)。

  # 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服務器時鐘

  我們可以使用ntpq命令,檢查本地服務器的時鐘如何通過NTP實現同步。

  控制對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客戶端主機需要ntpdate程序包來對照服務器同步其時間。可以使用yum或apt-get,很容易安裝該程序包。安裝該程序包後,運行帶服務器IP地址的命令。

  # ntpdate

  如果是基於RHEL和Debian的系統,命令完全一樣。

  2. Windows

  如果你使用Windows,在日期和時間設置下尋找“Internet時間”。

  3. 思科設備

  如果你想同步思科設備的時間,可以從全局配置模式使用下面這個命令。

  # ntp server

  來自其他廠商的具有NTP功能的設備在Internet時間方面有各自的參數。如果你想與NTP服務器同步時間,就要查閱設備的說明文檔。

  結束語

  總而言之,NTP這種協議可以讓你所有主機上的時鐘保持同步。我們已演示了如何搭建一台NTP服務器,讓具有NTP功能的設備對照該服務器同步其時間。

  但願本文對大家有所幫助。

copyright © 萬盛學電腦網 all rights reserved