NTP Server


# -----------------------------------------------------
ถ้าเวลามันเพี้ยนบ่อย? boot ทีนึงก็ต้องตั้งเวลาใหม่ทุกที...
หาซื้อถ่านเมนบอร์ดมาเปลี่ยนครับ เบอร์ 2032
ร้านคอมบางที่ไม่รับซ่อมบอกเมนบอร์ด timer เสีย ให้ซื้อ board ใหม่!!! 
เอากะเขาสิ.. แต่ร้านนาฬิกาอาจจะมีนะ...

# --------------------------------------------------
# มาสำรวจเวลากันหน่อย
date
# เปลี่ยนเวลาง่ายๆ
date --set="+3 hours"
# ตั้งเวลาแบบตามใจฉัน
date --set="2005-3-26 11:30 AM"
# ดูเวลาของ Hardware Clock
hwclock --show ; date ; date -u
Fri 08 Feb 2008 08:45:57 PM ICT  -0.301639 seconds    #<----- hw clock  (bios)
Fri Feb  8 20:45:59 ICT 2008                       #software clock  <--- Time แบบบ้านเรา
Fri Feb  8 13:45:59 UTC 2008                    # software clock  <---  Time แบบ UTC
จะเห็นว่า software clock เร็วกว่าอยู่ 2 วินาที

ตั้ง zone เวลาใว้ถูกไหม...  ไม่ต้องกังวลครับ LinuxSIS ทำมาตรงอยู่แล้ว ถ้าจะดูก็..
/usr/sbin/timeconfig
หรือเล่นเปลี่ยน Zone แบบลูกทุ่ง...
cp /usr/share/zoneinfo/Asia/Bangkok /etc/localtime

# เปิดไฟล์ที่ทำ configuration ดูหน่อย
tail /etc/sysconfig/clock


# -----------------------------------------------------
#  ทำ ntpd ให้เครื่องลูกใช้เทียบเวลากันหน่อย......
#
# /etc/ntp.conf
#           [email protected]  JAN 2008

restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.212.0 mask 255.255.255.0 nomodify notrap

# ใช้บริการ Time Server ในประเทศไทยนะครับ คนทำจะได้ยิ้มหน่อย...
# ปกติเอา server ที่แม่นที่สุดใว้บรรทัดแรกเรียง ASC ครับ (ผมไม่ทราบ server ไหนเที่ยงตรงกว่ากัน)
# http://ntl.nectec.or.th/clock/TimeServer.pdf
# http://www.nimt.or.th/nimt/upload/linkfile/sys-metrology-281-190.pdf

server clock.nectec.or.th
server time1.nimt.or.th
server time.cat.co.th
server ntp.chula.ac.th
asia.pool.ntp.org

server 192.168.212.1            # local clock
fudge   192.168.212.1 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay  0.008
keys            /etc/ntp/keys

# -----------------------------------------------------
เปิด port 123 udp ให้ query time จาก LAN ด้วยครับ
ถ้าไม่คุ้นเคย iptables ก็ webadmin เป็นที่พึ่ง
vi /etc/sysconfig/iptables
เพิ่มลงไปในส่วนของ filter
#    NTPD time synchronization
-A SIS5-Firewall -p udp -m state --state NEW -m udp --dport 123  -j ACCEPT

บันทึก
service iptables restart
chkconfig ntpd on
chkconfig --list ntpd
service ntpd  start

#-------------------------------------------------------
ในกรณีที่ run MySQL ก็ต้อง Restart ด้วยครับ เพราะฐานข้อมูลเขานับเวลาของเขาเอง
ถ้าไม่ restart MySQL ก็จะยังใช้เวลาเดิมนับมาเรื่อยๆต่อจากตอนที่เริ่ม service
service mysql restart

อ้าว แล้ว PHP Apache SMB และอื่นๆอีกเป็นกระบุงโกยหละ...
เอาแบบแน่นอนก็ reboot เพราะไม่รู้ว่าโปรแกรมตัวไหนนับเวลากันแบบไหน!!!

#------------------------------------------------------
ntp ทำงานหรือปล่าวถามดูหน่อย

ntpq -pn

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================
+202.44.204.9    133.100.11.8     2 u   35 1024  377   69.908  -37.765   2.473
*203.185.69.60   .PPS.            1 u  588 1024  377   74.490  -42.422   4.387
 127.127.1.0     .LOCL.          10 l   14   64  377    0.000    0.000   0.001

ถ้ามีตัวเลขประมาณนี้ก็ ใช่แล้ว...
ปล่อยให้ synchronize เวลาไปสักครู่นึงเวลาจะเที่ยงตรงขึ้น..แล้วก็ update hardware clock ซะเลย

/sbin/hwclock --systohc
เวลามันก็จะตรงกัน
# hwclock --show ; date ; date -u

Fri 08 Feb 2008 08:50:27 PM ICT  -0.131123 seconds
Fri Feb  8 20:50:27 ICT 2008
Fri Feb  8 13:50:27 UTC 2008

#------------------------------------------------------
# แล้วเครื่องลูก windows  xp จะใช้ยังไง?
taskbar -> dbl คลิก ที่เวลา -> internet time -> check ที่ automatic synchronize....
ใส่ชื่อ server เป็น 192.168.212.1 หรือใส่ linuxsis.intranet ก็ได้

# อ้อ เราทำ synchronize สำเร็จที่เวลาไหน เครื่องก็ synchronize ซ้ำในเวลานั้นของทุกวันครับ

# ถ้าจะ update ผ่าน command ก็....
net time /setsntp:192.168.212.1  <--- ใส่ชื่อ time server ลงไป
net time \\192.168.212.1 /set /yes

# มีเอกสารนิดหน่อย http://tf.nist.gov/service/pdf/win2000xp.pdf

# -----------------------------------------------
ถ้าไม่ทำ ntpd แค่ต้องการ update เวลากับ time server ก็
ntpdate clock.nectec.or.th
ตั้งเวลา update
crontab -e

0 12 * * * ntpdate clock.nectec.or.th

# -- !!!  ntpd กับ คำสั่ง ntpdate ทำงานพร้อมกันไม่ได้นะครับ
ถ้าจะ update แบบเทียบเวลา เป็นช่วงๆจาก server เดียว ก็ ntpdate
ถ้า synchronize เวลาไปกับ server หลายๆเครื่องก็ต้อง ntpd

# --------------------------------------------------
ใช้ dhcpd ช่วยครับ บอก client ไปเลยว่าเรามี ntp
vi /etc/dhcpd.conf

option ntp-servers 192.168.212.1;

# ---------------------------------------------------
# ทำ SAMBA ให้เป็น time server ได้นะครับ
 
time service = yes
dos filetimes = yes
fake directory create times = yes
dos filetime resolution = yes
delete readonly = yes

# -----------------------------------------------------
ถ้าขี้เกียจทำ ntp เองหละครับ
บางครั้งเหนื่อยมากไปมันก็ไม่คุ้มค่า... หาข้อมูลแทบตาย ทำ synchronize เวลาแค่นิดเดียวนี่นะ
แถมระบบที่ใช้ก็ยังไม่จำเป็นต้องเที่ยงตรงมากมาย........  ถ้าทำระบบ RealTime APP หรือ OS ค่อยว่ากันใหม่..
ง่ายมาก  ก็เอา time server  ต่างในเมืองไทย ใส่ให้เครื่องลูกๆซะ...
ผมใช้ของ nectec ก็คลาดเคลื่อน(ระหว่างเครื่องลูกด้วยกัน)ไม่ถึงวินาที
ใช้ NTP Server ในวง LAN มีความคลาดเคลื่อนระหว่างกันน้อยกว่านั้นอีก ...

ที่ช่อง server ของ นาฬิกา ใน windows นั่นหละ  ใส่ชื่อ clock.nectec.or.th แทน 192.168.212.1
ยอมเปลือง bandwidth นิดหน่อยก็สิ้นเรื่อง

Ref. http://www.opentle.org/th/node/7854

คำสำคัญ (Tags): #ntp#server
หมายเลขบันทึก: 208066เขียนเมื่อ 12 กันยายน 2008 11:16 น. ()แก้ไขเมื่อ 21 มิถุนายน 2012 10:39 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท