CentOS7 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上安裝NTP

NTP在linux下有兩種時鍾同步方式,分別為直接同步和平滑同步:
  直接同步
     使用ntpdate命令進行同步,直接進行時間變更。如果服務器上存在一個12點運行的任務,當前服務器時間是13點,但標准時間時11點,使用此命令可能會造成任務重復執行。因此使用ntpdate同步可能會引發風險,因此該命令也多用於配置時鍾同步服務時第一次同步時間時使用。
  平滑同步
    使用ntpd進行時鍾同步,可以保證一個時間不經歷兩次,它每次同步時間的偏移量不會太陡,是慢慢來的,這正因為這樣,ntpd平滑同步可能耗費的時間比較長。

標准時鍾同步服務
http://www.pool.ntp.org/zone/cn網站包含全球的標准時間同步服務,也包括對中國時間的同步,對應的URL為cn.pool.ntp.org,在其中也描述了ntp配置文件中的建議寫法:
server 1.cn.pool.ntp.org
server 3.asia.pool.ntp.org
server 2.asia.pool.ntp.org

 1.NTP服務器端配置首先確定服務器的時區正確

    timedatectl       查看具體時間時區

    timedatectl    list-timezones        查看具所有時區

    timedatectl set-timezone Asia/Shanghai     設置時區

2 ntp服務器端安裝ntp

   yum -y install ntp

   編輯配置文件

   vi  /etc/ntp.conf

  

    其中restrict 用於對訪問ntp的客戶端的限制

    restrict參數

        kod          使用kod技術防范“kiss of death”攻擊

       ignore       拒絕任何NTP連接

       nomodify   用戶端不能使用ntpc,ntpq修改時間服務器參數,可以進行網絡校時

       noquery     用戶端不能使用ntpc,ntpq查詢時間服務器參數,可以進行網絡校時

       notrap       不提供遠程日志功能

       notrust      拒絕沒有認證的客戶端

       restrict ip   或者 restrict IP地址 + mask + 子網掩碼 + 參數 例如:

       restrict default nomodify notrap nopeer noquery   #默認拒絕所有訪問 只可以同步時間

       restrict 211.71.14.254 mask 255.255.255.0 #添加允許211.71.14.254/24網段訪問

       restrict 10.111.1.1 mask 255.0.0.0 nomodify #添加10.0.0.0/8網段訪問,不可以修改服務器時間參數

   

    server 參數 server用於設定ntp同步時間的外網時間服務器

        server + ip   或者 server + hostname

            使用prefer參數可以設置優先上級服務器 例如:

           server 202.112.128.33 prefer #默認上級時間服務器為202.112.128.33

           server 202.112.10.60 #備用上級時間服務器為202.112.10.60

        設置本地時間級別是10,如果上級時間服務器均失效,對外發布本地時間。

                 server 127.0.0.1 # local clock
                 fudge 127.0.0.1 stratum 10

            burst :當一個運程NTP服務器可用時,向它發送一系列的並發包進行檢測。

            iburst :當一個運程NTP服務器不可用時,向它發送一系列的並發包進行檢測

         默認情況小15分鍾后才會與上層NTP服務器進行時間校對。

         通過minpoll和maxpoll來縮短同步時間,minpoll/maxpoll規定查詢的間隔,以2的幕的形式,取值范圍在4-17.

            例如,minpoll 3表示2的3次方,也就是最短8秒鍾后主動與上層NTP服務器同步一次,maxpoll 4表示2的4次方,也就是最長16秒鍾后主動與上層NTP服務器同步一次.

 

             如果連接NTP上層服務器失敗,ntp服務會跳過失敗的NTP服務器,而以配置項的順序依次與ntp服務器同步
                 server 202.112.128.33 iburst minpoll  4 maxpoll 10

 

   logfile

       默認情況下,NTP 服務器的日志保存在 /var/log/messages。如果你希望使用自定義的日志文件,也可以指定。
       logfile  /var/log/ntpd.log

       chown ntp:ntp /var/log/ntpd.log    

  key認證文件

       driftfile /var/lib/ntp/drift #本地與上層服務器BIOS晶片振盪頻率差值保存目錄,不需要修改!

        keys /etc/ntp/keys #可以借此來給客戶端設置認證信息,不需要修改!

   硬件時間同步

      ntp服務默認只會同步系統時間。如果想要讓ntp同時同步硬件時間,可以設置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,

      添加 SYNC_HWCLOCK=yes 這樣,就可以讓硬件時間與系統時間一起同步。

      #允許BIOS與系統時間同步,也可以通過hwclock -w 命令

      SYNC_HWCLOCK=yes

  因此服務器端配置只需修改restrict和server參數即可,修改如下

        restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

        server   2.cn.pool.ntp.org
        server   1.asia.pool.ntp.org
        server   2.asia.pool.ntp.org
        

   最后啟動服務器

      systemctl enable ntpd

      systemctl start ntpd

     

 3.客戶機需要同步時間可以有兩種方式

   方式1: 直接在防火牆上放行此客戶機同外部時間服務器同步,此時直接安裝

              yum -y install ntp

             配置即同配置局域網ntp服務器一樣。

             systemctl enable ntpd

             systemctl start ntpd

             此時ntp會以守護進程的方式去運行,且會自動同配置文件中的外網NTP服務器同步時間,不需人工干預。

   方式2:和內網NTP服務器去同步 此時只需安裝utpdate軟件

              yum -y install ntpdate

             但需添加計划任務  讓服務器周期性去同內網NTP同步

              vi  /var/spool/cron/root(或crontab -e)
              在每天的0點10分、8點10分、16點10分與時間同步服務器進行同步並寫入BIOS
               10 0,8,16 * * *  /usr/sbin/ntpdate 10.3.5.5; /sbin/hwclock -w
              如果同步不正常,可以加輸出日志1.txt或看系統日志者看/var/mail/root系統郵件
               0 */8  * * *  /usr/sbin/ntpdate 10.3.5.5 >>/tmp/1.txt; /sbin/hwclock -w

         也可以編輯cat /etc/sysconfig/ntpdate 中的SYNC_HWCLOCK=yes 自動同步到硬件時間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM