Network Time Protocol ( NTP )

套件結構: 

  1. /etc/ntp.conf              # NTP daemon 的主要設定檔
  2. /usr/share/zoneinfo   # 是個目錄, Linux 本身提供的, 各主要時區的時間設定檔案,用來複製到 /etc/localtime
  3. /etc/sysconfig/clock    # 每次開機後,Linux 會自動的讀取這個檔案來設定自己系統所預設要顯示的時間
  4. /etc/localtime             # 本地端的時間設定檔, 從 /usr/share/zoneinfo/Asia/Taipei 複製過來的

與 NTP 及時間有關的執行檔

  • /bin/date
  • /sbin/hwclock
  • /usr/sbin/ntpd
  • /usr/sbin/ntpdate
  • /usr/sbin/ntptrace

編輯主要設定檔 /etc/ntp.conf

# restrict <IP> mask <netmask> parameter
 # parameter 有 ignore  :關閉所有的 NTP 連線服務
 # nomodify :表示 Client 端不能更改 Server 端的時間參數,不過,
 # Client 端仍然可以透過 Server 端來進行網路校時。
 # notrust :該 Client 除非通過認證,否則該 Client 來源將被視為不信任網域
 # noquery :不提供 Client 端的時間查詢
restrict 127.0.0.1   # 開啟內部遞迴網路介面 lo
restrict 192.168.0.2    # 主機本身的 IP 也同時開啟
restrict 192.168.100.20 mask 255.255.255.255 nomodify # 針對另一個 IP 開放讓他可以更新時間
restrict 192.168.0.0 mask 255.255.255.0 nomodify # 開放給網域裡面的 client 進行網路校時
# server [ IP | FQDN ] prefer # 後面加上 perfer 的話,那表示我們的 NTP 主機主要以該部主機來作為 時間校正的對應
server time.stdtime.gov.tw prefer
server clock.stdtime.gov.tw
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift # 記錄與 Time Server 連線溝通時所花費的時間
keys /etc/ntp/keys

NTP 的啟動與觀察

service ntpd start
netstat -an|grep :123

追蹤一下到底我們的主機有沒有正確的先經過上層 Time Server 的校時

ntptrace [serverip]

Client 端的設定

  1. date ; hwclock -r 或者 clock     # 顯示系統及bios的時間
  2. ntpdate [serverip]                     # 進行網路校時
  3. hwclock -w                               # 將時間寫入bios

排程自動網路校時

echo '00 * * * * root /usr/sbin/ntpdate 192.168.0.2 ; /sbin/hwclock -w' >> /etc/crontab
Related posts 相關文章

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。