NTP Client for Linux คืออะไร

หลักการทำงานของ NTP (Network Time Protocol) เป็นโปรโตคอลสำหรับใช้เทียบเวลา (Synchronize) ระหว่างอุปกรณ์ที่ให้บริการเทียบเวลา (Time Server) กับคอมพิวเตอร์หรืออุปกรณ์ที่ต้องการเทียบเวลา (Time Client) ผ่านทางเครือข่ายการสื่อสารต่างๆ โดยโปรโตคอลจำทำงานที่พอร์ต 123 และใช้โปรโตคอล UDP ในการให้บริการ ลักษณะการให้บริการเทียบเวลาของโปรโตคอล NTP จะแบ่งออกเป็นลำดับชั้น เรียกว่า Clock Strata โดยในแต่ละลำดับชั้นจะเรียกว่า Stratum โดยจะเริ่มต้นอยู่ที่ Stratum 0 ไปจนถึงลำดับชั้นที่ยอมรับว่ายังมีความเที่ยงตรง คือ Stratum 4 หากมากกว่านี้จะไม่ได้รับการยอมรับตามมาตรฐานที่กำหนดขึ้นมาจากหน่วยงาน ANSI (American National Standards Institute) สำหรับอุปกรณ์คอมพิวเตอร์ที่เทียบเวลากับ Stratum 0 เรียกว่า Stratum 1 ถ้ามีอุปกรณ์คอมพิวเตอร์อื่นๆ ขอเทียบเวลากับ Stratum 1 จะเรียกว่า Stratum 2 ตามลำดับ จนถึง Stratum 4 นั่นหมาบถึงลำดับของ Stratum ที่มากขึ้นจะมีค่าเวลาที่มีความห่างกับเวลามาตรฐานสากล Stratum 0 มากขึ้นด้วย

ภาพแสดง โครงสร้างของ Stratum

Stratum 0 เป็นลำดับชั้นแรกในการเทียบเวลา ซึ่งใช้อุปกรณ์ที่ทำหน้าที่ Synchronize เวลามาตรฐานสากล โดยไม่มีค่าหน่วงเวลาใดๆ โดยใช้เทคโนโลยีต่างๆ ได้แก่ Atomic Clock, คลื่นยาว (Long wave radio), การส่งสัญญา GPS, เทคโนโลยี CDMA (เทคโนโลยีแบบที่ค่ายมือถือ) หรืออุปกรณ์เกี่ยวกับเวลาอื่นๆ เช่น WWV, DCF77 ฯลฯ อุปกรณ์ที่เป็น Stratum 0 จะไม่ได้ต่อในระบบ Network แต่จะเชื่อมโดยตรงกับเครื่องที่ทำหน้าที่เป็น Stratum 1 ดังนั้นเซิร์ฟเวอร์ ที่ต่อโดยตรงกับ อุปกรณ์พวก Stratum-0 จะเรียกว่าเป็น Stratum-1 server ซึ่ง Stratum-1 server ถือว่าเป็น Time server ระดับต้น (Primary Time Server) ที่อยู่ในระบบ Network ที่ผู้ใช้บริการ Network Time Protocol (NTP) สามารถมาเชื่อมผ่าน Network มาอ้างอิงเวลาได้

Stratum 1 เป็นลำดับที่ใช้คอมพิวเตอร์เซิร์ฟเวอร์เชื่อมต่อเข้ากับ Stratum 0 เพื่อขอเทียบเวลา โดยใช้โปรโตคอล NTP ในประเทศไทยมีหน่วยงานที่ทำหน้าที่ระดับ Stratum 1 ได้แก่ สถาบันมาตรวิทยาแห่งชาติ และ กรมอุทกศาสตร์กองทัพเรือ

Stratum 2 เป็นลำดับที่ขอเทียบเวลาจากเซิร์ฟเวอร์ในระดับ Stratum 1 โดยใช้เครื่องเซิร์ฟเวอร์เชื่อมผ่านระบบเครือข่ายอินเทอร์เน็ต สามารถร้องขอบริการเทียบเวลาได้มากกว่าหนึ่งแหล่ง Stratum เพื่อรองรับการทำงานกรณีที่ Stratum 1 เครื่องใดเครื่องหนึ่งไม่สามารถให้บริการได้

วิธีการ config มี 2 วิธี

  1. ใส่ใน crontab
  2. ติดตั้ง NTP client

ใส่ใน crontab

เป็นวิธีการง่ายและได้ผลดี เพราะจะทำการ update time ตามเวลาที่ตั้งใว้ใน crontab  มาดูวิธีทำกันครับ โดยต้องทำการ login ด้วย root ก่อนนะครับ  user อื่นไม่แนะนำ เมื่อ login ด้วย root แล้วก็ทำตามวิธีดังนี้

#crontab -e

0,30 * * * * /usr/sbin/ntpdate -bu 192.168.1.25 1>> settime.out    #192.168.1.25 คือ NTP server

#service crond restart

มาดูผลลัพธ์กันครับ มาใช้งานได้หรือเปล่า

#tail -f settime.out ก็จะเห็นสถานะการทำงานของ NTP Client

ติดตั้งแบบ NTP Client

ปกติตัว  NTP จะมากับ Linux อยู่แล้ว เราก็แค่ไปใสชื่อ NTP server ลงใน file  ntp.conf

#vi /etc/ntp.conf

search หาคำว่า pool

pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst     <——เปลี่ยนเป็น NTP server

เปลี่ยนชื่อ Pool เป็น ชื่อของ NTP server แล้ว restart 1 ครั้ง

#service ntp restart

ก็เป็นอันจบนะครับ สำหรับการ Sync time กับ NTP Servers

สรุป

สามารถใช้ได้ทั้งสองแบบแล้วแต่ชอบ ผมชอบใช้แบบ crontab มากกว่า เพราะทำเป็นครั้งๆ ไม่ทำให้เครื่อง Unix มีโหลดมากเกินไป

 

 

 

Facebook Comments