NTP 架設

  1. 安裝 ntp 套件
    [root@kvm8 ~]# yum install ntp
    
  2. NTP 伺服器設定檔 ntp.conf
    [root@kvm8 ~]# vim /etc/ntp.conf
    
    1. ntpd 自動計算自己主機的頻率與上層 Time server 的頻率誤差,並將其記錄在 driftfile 後面接的檔名中。
      [root@kvm8 ~]# vim /etc/ntp.conf 
      driftfile /var/lib/ntp/drift
      # /var/lib/ntp/drift 必須使用完整路徑檔名;
      # /var/lib/ntp/drift 不能是連結檔;
      # /var/lib/ntp/drift 需要設定成 ntpd daemon 可以寫入的權限。
      # /var/lib/ntp/drift 記錄的數值單位為:百萬分之一秒 (ppm)。
      
    2. restrict 做權限管理,格式如下:
      # restrict default [flag][...]
      # restrict source [flag][...]
      # restrict address [mask mask] [flag][...]
      # 
      restrict default kod nomodify notrap nopeer noquery
      restrict -6 default kod nomodify notrap nopeer noquery
      restrict 127.0.0.1 
      restrict -6 ::1
      
    3. restrict 參數說明:
      1. default: address 0.0.0.0, mask 0.0.0.0
      2. -6 : DNS resolution to the IPv6 namespace
      3. flag 說明:
        1. kod:當要求 server 的服務超過限制,server 不是直接丟棄服務要求,而是傳送 kiss-o'-death (KoD) packet,讓 client 轉向要求其他 server 服務,或等一段時間再要求 server 服務。
        2. nomodify:用戶端不能更改 NTP 伺服器的時間參數。
        3. notrap:不提供 trap 這個遠端事件登錄 (remote event logging) 的功能。
        4. nopeer:避免其他人使用此 ntpd 作為time server
        5. noquery:用戶端不能夠使用 ntpq, ntpc 等指令來查詢時間伺服器。
      4. 開放 192.168.122.0/24 區段網路查詢 ntp server
        restrict 192.168.122.0 mask 255.255.255.0 nomodify notrap
        
    4. 指定遠端 ntp server 進行時間同步:perfer 表示『優先使用』的主機。
      ## server 格式
      # server address [options ...]
      server	tock.stdtime.gov.tw prefer
      server  csie.cyut.edu.tw
      server  tock.stdtime.gov.tw
      server  watch.stdtime.gov.tw
      server  time.stdtime.gov.tw
      server  clock.stdtime.gov.tw
      server  tick.stdtime.gov.tw
      
    5. 如果外部 time server 無法連線或層級 (stratum)10 以上,則以本機時鐘為系統時間。
      #server	127.127.1.0	# local clock
      #fudge	127.127.1.0 stratum 10
      
  3. 編輯 /etc/sysconfig/ntpd ,設定 BIOS 的時間也同步調整。
    [root@kvm8 ~]# vim /etc/sysconfig/ntpd
    # Drop root to id 'ntp:ntp' by default.
    OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
    SYNC_HWCLOCK=yes
    
  4. 啟動 NTP 服務
    [root@kvm8 ~]# /etc/init.d/ntpd start
    Starting ntpd:                                             [  OK  ]
    
  5. 觀察 NTP 服務的 port 123
    [root@kvm8 ~]# netstat -tlunp | grep 123
    udp        0      0 192.168.0.250:123           0.0.0.0:*     3224/ntpd           
    udp        0      0 127.0.0.1:123               0.0.0.0:*     3224/ntpd           
    udp        0      0 0.0.0.0:123                 0.0.0.0:*     3224/ntpd           
    udp        0      0 ::1:123                     :::*          3224/ntpd           
    udp        0      0 fe80::5054:ff:fe00:fa:123   :::*          3224/ntpd           
    udp        0      0 :::123                      :::*          3224/ntpd
    
  6. 設定開機啟動 ntpd
    [root@kvm8 ~]# chkconfig ntpd on
    
  7. 查詢開機是否啟動 ntpd
    [root@kvm8 ~]# chkconfig --list ntpd
    ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    
  8. 查詢 ntpd 校正的 servers
    [root@kvm8 ~]# ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
     deyu.wang       59.124.29.241    3 u   43   64    1    0.089   -0.209   0.000
     220-135-58-124. 62.161.56.158    2 u   42   64    1   19.813    4.752   0.000
     todaycolor.com. 211.22.103.158   4 u   41   64    1   21.004   -4.379   0.000
     alqualonde.org  133.243.238.243  2 u   41   64    1   22.520   -9.578   0.000
    
  9. 確認 NTP 伺服器是否順利更新時間?
    [root@kvm8 ~]# ntpstat -p
    unsynchronised
      time server re-starting
       polling server every 64 s
    ## 幾分鐘後再觀察
    [root@kvm8 ~]# ntpstat -pn
    synchronised to NTP server (59.124.196.83) at stratum 3 
       time correct to within 782 ms
       polling server every 64 s