นี่เป็นวิธีการที่ดีจากฟอรัม Ubuntu: http://ubuntuforums.org/showthread.php?t=862620
คัดลอกพาสต้าที่ชัดแจ้ง:
HOWTO: ตั้งค่าเซิร์ฟเวอร์ NTP
บทช่วยสอนนี้อธิบายวิธีการตั้งค่าเครื่องของคุณเป็นเซิร์ฟเวอร์ Network Time Protocol (NTP) และ / หรือวิธีการใช้ NTP daemon เพื่อรักษาเวลาของระบบที่ถูกต้องเป็นประจำ
NTP คืออะไร
Network Time Protocol (NTP) เป็นโปรโตคอลที่ออกแบบมาสำหรับการซิงโครไนซ์นาฬิกาเวลาท้องถิ่นอย่างแม่นยำกับเซิร์ฟเวอร์เวลาเครือข่าย เครือข่าย NTP ของเซิร์ฟเวอร์เวลาถูกตั้งค่าเป็นลักษณะลำดับชั้นเช่นที่ผู้ใช้สามารถเข้าสู่ระบบเป็นเซิร์ฟเวอร์ในระดับหนึ่ง (ดูหน้า Wikipedia สำหรับรายละเอียดเพิ่มเติม)
ลำดับชั้นของ NTP ถูกแบ่งออกเป็นระดับต่าง ๆ เรียกว่า clock strata ระดับที่ถูกต้องที่สุดคือ Stratum 0 ถูกสงวนไว้สำหรับนาฬิกาอะตอมมิก ฯลฯ ระดับต่อไปคือ Stratum 1 จะถูกใช้โดยเครื่องเครือข่ายที่เชื่อมต่อกับนาฬิกา Stratum 0 Stratum 2 ... 15 คือเครื่อง NTP ที่เชื่อมต่อตามลำดับเพื่อลดระดับนาฬิกาและกันและกัน
คู่มือนี้จะอธิบายวิธีการซิงโครไนซ์อย่างถูกต้องกับเครื่อง Stratum 1 และ 2 และรักษาความถูกต้องของนาฬิการะบบให้มากที่สุดตลอดทั้งวัน ส่วนนี้ยังรวมถึงวิธีการอนุญาตให้เครื่องของคุณทำงานเป็นเซิร์ฟเวอร์ Stratum 2/3 สำหรับเครื่องอื่น ๆ ในเครือข่ายท้องถิ่นของคุณ
ฉันต้องสร้างเซิร์ฟเวอร์ NTP หรือไม่
ไม่ ... ไม่อย่างแน่นอน! หากคุณพอใจกับนาฬิกาบนเครือข่ายของคุณมีความแตกต่างที่ไม่ทราบจากเวลามาตรฐาน (และอื่น ๆ ) คุณไม่จำเป็นต้องตั้งค่าเซิร์ฟเวอร์ NTP ฉันตั้งค่าหนึ่งบนแล็ปท็อปของฉันเพื่อซิงโครไนซ์หลายเครื่องบนเครือข่ายท้องถิ่นภายใน <1 ms สำหรับการทดลองทางวิศวกรรมชีวภาพ มีข้อดีอื่น ๆ อีกมากมายนอกเหนือจากที่อธิบายไว้ด้านล่าง
แรงจูงใจ:
กล่องอูบุนตูที่ไม่ได้แก้ไขเป็นประจำใช้ ntpdate (/usr/sbin/ntpdate
) เพื่อซิงโครไนซ์นาฬิกาเป็นระยะกับเซิร์ฟเวอร์เวลาภายนอกบางตัว วิธีนี้จะซิงโครไนซ์นาฬิกาด้วยความละเอียดของหลักสูตร (โดยทั่วไปแล้ววันละครั้ง)
นาฬิกาคอมพิวเตอร์ไม่สมบูรณ์และจะเลื่อนจากเซิร์ฟเวอร์เวลา (ถูกต้อง) ระหว่างวัน นอกจากนี้อัตราการดริฟท์ในนาฬิกาของคอมพิวเตอร์ที่แตกต่างกันก็แตกต่างกันเช่นในตอนท้ายของวันนั้นความแตกต่างที่สำคัญอาจมีอยู่ระหว่างเครื่องเครือข่ายท้องถิ่นที่แตกต่างกันซึ่งอาจรบกวนการทำงานบางอย่าง (เช่นเคยมี makefile บ่น เครื่องต่างกันไหม.
เป็นไปได้ที่จะรัน NTP daemon แบบโลคัลบนเครื่องบนเครือข่ายของคุณ สิ่งนี้มีข้อดีหลายประการ: อันดับแรก NTP daemon จะค่อยๆ "เรียนรู้" อัตราการดริฟท์ของเครื่องท้องถิ่นของคุณและสามารถแก้ไขได้ตลอดทั้งวัน การซิงโครไนซ์กับเซิร์ฟเวอร์เวลาระดับสูงเกิดขึ้นวันละหลายครั้งและเซิร์ฟเวอร์เวลาที่แตกต่างกันจำนวนมากอาจถูกใช้พร้อมกันเพื่อทำให้การซิงโครไนซ์มีความแม่นยำมากขึ้น ด้วยวิธีนี้ NTP daemon ทำหน้าที่เป็นไคลเอ็นต์เวลาที่แม่นยำทำให้นาฬิการะบบของคุณใกล้เคียงกับเวลามาตรฐานที่สุดเท่าที่จะทำได้
นอกเหนือจากการรักษานาฬิการะบบที่ถูกต้องแล้ว NTP daemon ยังอนุญาตให้เครื่องในเครือข่ายของคุณ (หากคุณต้องการ) ให้ทำงานเป็นเซิร์ฟเวอร์เวลา NTP การทำเช่นนี้จะช่วยให้เครื่องอื่น ๆ ในเครือข่ายท้องถิ่นของคุณซิงโครไนซ์กับเซิร์ฟเวอร์เวลา LAN ของคุณในลักษณะที่รวดเร็วและแม่นยำมากเนื่องจากเวลาในการตอบสนองของเครือข่ายจะลดลง ด้วยวิธีนี้ความแตกต่างของนาฬิการะหว่างเครื่องในเครือข่ายของคุณจะถูกเก็บไว้ให้น้อยที่สุดเท่าที่จะทำได้ Mac และกล่อง Windows ยังสามารถซิงโครไนซ์กับเซิร์ฟเวอร์ NTP ได้หากคุณตั้งค่าไว้
มีแรงจูงใจส่วนตัวอื่น ๆ น้อยกว่าสำหรับการตั้งค่าเครื่องเป็นเซิร์ฟเวอร์ NTP ก่อนอื่นการทำเช่นนี้อาจลดความตึงเครียดในเซิร์ฟเวอร์ NTP ระดับสูงกว่าเนื่องจากเครื่องอื่น ๆ ใน LAN ของคุณอาจซิงโครไนซ์กับเซิร์ฟเวอร์เวลาที่กำหนดไว้ในเครื่อง นอกจากนี้ ntpdate ยังถูกเลิกใช้ในการใช้แฟล็ก -q สำหรับ ntpd (ซึ่งเลียนแบบการทำงานของมัน) ดังนั้นแม้ว่าคุณไม่ต้องการเรียกใช้ ntpd อย่างต่อเนื่องในพื้นหลังในที่สุด ntpdate จะถูกแทนที่ด้วย ntpd ดังนั้นคุณอาจต้องการทำความคุ้นเคยกับมันทันที
วิธีการรักษานาฬิการะบบที่แม่นยำด้วย ntpd
- ติดตั้ง NTP daemon
ก่อนอื่นให้ติดตั้ง NTP daemon (ntpd):
sudo aptitude install ntpd
ดังที่ได้กล่าวไว้ก่อนหน้านี้ ntpd สามารถทำหน้าที่ทั้งสองเป็นไคลเอนต์ (ซิงโครไนซ์เวลาระบบของคุณ) และเป็นเซิร์ฟเวอร์ (ให้เวลาที่ถูกต้องสำหรับเครื่องอื่น ๆ )
หรือคุณอาจต้องการลบโปรแกรมการซิงโครไนซ์เวลาก่อนหน้า (คัดค้าน) ntpdate อาจเป็นไปได้ที่จะทำเช่นนั้นหลังจากที่คุณทำ ntpd
sudo aptitude remove ntpdate
- กำหนดค่า daemon ให้ถูกต้อง
ไฟล์การกำหนดค่าสำหรับ ntpd อยู่ที่ /etc/ntp.conf
ตั้งอยู่ที่ ไฟล์ Ubuntu เริ่มต้นอาจต้องมีการดัดแปลงเพื่อประสิทธิภาพที่ดีที่สุด
ส่วนแรกที่คุณอาจต้องการแก้ไขคือรายการเซิร์ฟเวอร์ที่จะซิงโครไนซ์ ส่วนเริ่มต้นอาจมีลักษณะดังนี้:
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
เพื่อให้ได้เวลาที่แม่นยำที่สุดเท่าที่จะเป็นไปได้คุณควรติดต่อสื่อสารกับเซิร์ฟเวอร์ NTP หลาย ๆ เครื่องและเก็บไว้ใกล้กับตำแหน่งทางกายภาพของคุณมากที่สุด มีรายชื่อเซิร์ฟเวอร์ที่แตกต่างกันทางออนไลน์อาจจะดีที่สุดอยู่ที่นี่ มีการถกเถียงกันถึงจำนวนที่เหมาะสมของเซิร์ฟเวอร์ที่จะใช้ หนึ่งดีกว่าสองและสามหรือมากกว่านั้นอาจเป็นความคิดที่ดีตราบใดที่คุณไม่ได้ลงน้ำมากเกินไป ตัวอย่างของเซิร์ฟเวอร์เวลาสองสามตัวที่ฉันใช้เป็นดังนี้:
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
เมื่อพบเซิร์ฟเวอร์ที่ดีสักสองสามตัวให้เพิ่มลงในรายการแล้ววางลง'iburst'
ในเซิร์ฟเวอร์ที่มีแนวโน้มมากที่สุด ตัวอย่างเช่น
server nist1-dc.WiTime.net iburst
สิ่งนี้จะทำให้ ntpd ซิงโครไนซ์อย่างรวดเร็วกับเซิร์ฟเวอร์นี้หลังจากเริ่มต้น มิฉะนั้น ntpd จะค่อยๆเบี่ยงเบนไปสู่ข้อตกลงกับรายชื่อเซิร์ฟเวอร์ (ตามลักษณะของมัน) และอาจใช้เวลา 15-20 นาทีในการซิงโครไนซ์ดีพอที่จะทำหน้าที่เป็นเซิร์ฟเวอร์เวลาสำหรับเครือข่ายที่เหลือของคุณ
นอกจากนี้ให้เพิ่มบรรทัดพิเศษอีกสองสามบรรทัดที่ด้านล่างของรายการเซิร์ฟเวอร์เพื่อให้เวลาท้องถิ่นปัจจุบันเป็นค่าเริ่มต้นหากคุณขาดการเชื่อมต่ออินเทอร์เน็ตชั่วคราว:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
วิธีนี้จะช่วยป้องกันความไม่สะดวกหากคุณใช้ ntpd บนแล็ปท็อปหรือเครื่องอื่น ๆ ที่มีการขาดการเชื่อมต่ออินเทอร์เน็ตเป็นระยะ ๆ
สรุปรายการเซิร์ฟเวอร์ควรมีลักษณะคล้ายกับต่อไปนี้ (นี่เป็นของฉันเซิร์ฟเวอร์ของคุณอาจแตกต่างออกไป):
# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- ตรวจสอบให้แน่ใจว่าการกำหนดค่าใช้งานได้
ตอนนี้คุณมีรายชื่อเซิร์ฟเวอร์ที่เหมาะสมใน/etc/ntp.conf
ไฟล์ของคุณได้เวลารัน daemon แล้วดูว่าคุณซิงโครไนซ์อย่างถูกต้องหรือไม่! ตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่จากนั้นเรียกใช้:
sudo /etc/init.d/ntp restart
จากนั้นตรวจสอบบันทึกระบบของคุณเพื่อดูว่าคุณซิงโครไนซ์กับเซิร์ฟเวอร์เวลาหรือไม่:
tail -f /var/log/syslog
ในประมาณ 10-15 วินาที (หรือสูงสุด 15-20 นาทีหากคุณลืมใส่ 'iburst' หลังจากเซิร์ฟเวอร์โปรดของคุณ) คุณควรเห็นสิ่งต่อไปนี้ในบันทึกระบบของคุณ:
Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2
หากข้อความนี้ไม่เคยเกิดขึ้นแสดงว่าคุณยังไม่ได้ซิงโครไนซ์กับเครือข่ายเซิร์ฟเวอร์ NTP อย่างถูกต้อง ตรวจสอบรายการของ NTP เพียร์ที่คุณสื่อสารด้วยการใช้สิ่งต่อไปนี้:
ntpq -c lpeer
หากฟิลด์ 'ล่าช้า', 'offset' และ 'jitter' ไม่ใช่ศูนย์และคุณไม่ได้ซิงโครไนซ์ก็อาจหมายความว่าคุณต้องรอสักครู่ ตรวจสอบอีกครั้งว่าคุณได้ใส่อาร์กิวเมนต์ 'iburst' ลงในรายการเซิร์ฟเวอร์ของคุณ! เพื่อนของฉันสำหรับการอ้างอิงดูเหมือนสิ่งต่อไปนี้:
remote refid st t when poll reach delay offset jitter
==============================================================================
*milo.mcs.anl.go 192.5.41.40 2 u 4 64 77 46.213 67.753 2.207
-europium.canoni 193.79.237.14 2 u 63 64 37 97.375 71.020 1.875
-dtype.org 69.25.96.13 2 u 2 64 77 86.956 69.178 1.804
+smtp130.junkema 216.218.254.202 2 u 2 64 77 87.266 67.677 0.916
+kechara.flame.o 216.218.254.202 2 u - 64 77 89.183 68.717 1.713
-host2.kingrst.c 99.150.184.201 2 u - 64 77 24.306 62.121 2.608
LOCAL(0) .LOCL. 10 l 59 64 37 0.000 0.000 0.002
- แบ่งปัน! (ไม่จำเป็น)
เมื่อ ntpd ทำงานและซิงโครไนซ์กับเซิร์ฟเวอร์เวลาที่คุณเลือกคุณอาจตั้งค่าเพื่อทำหน้าที่เป็นเซิร์ฟเวอร์เวลาสำหรับเครื่องอื่น ๆ หากต้องการทำเช่นนั้นให้เพิ่มหัวข้อดังนี้/etc/ntp.conf
:
# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
- ตรงกัน! (ไม่จำเป็น)
เมื่อคุณตั้งค่าเซิร์ฟเวอร์ NTP โดยใช้ขั้นตอนที่ 1-4 คุณสามารถซิงโครไนซ์เครื่องอื่น ๆ ในเครือข่ายของคุณกับเซิร์ฟเวอร์ของคุณในลักษณะต่างๆ ฉันร่างสองของพวกเขาด้านล่าง:
ntpd:
หากคุณติดตั้ง ntpd ไว้ในเครื่องอื่นคุณสามารถใช้เซิร์ฟเวอร์เครื่องแรกของคุณในรายการเซิร์ฟเวอร์ของไฟล์ ntp.conf ของคุณหรือสามารถซิงโครไนซ์ครั้งเดียวด้วยตัวเลือก -q ดังนี้:
ntpd -q [IP address of your server]
ntpdate:
หากคุณยังคงติดตั้ง ntpdate ไว้ในเครื่องอื่นคุณสามารถใช้มันเพื่อซิงโครไนซ์กับเซิร์ฟเวอร์ของคุณดังนี้:
ntpdate [IP address of your server]
หมายเหตุ: หากคุณกำลังรัน ntpd บนเครื่องและด้วยเหตุผลบางอย่างที่ยังต้องการใช้ ntpdate เพื่อตั้งเวลาคุณต้องใช้ตัวเลือก -u
ของ windows:
เครื่อง Windows ใช้ NTP เวอร์ชันที่เรียบง่ายที่เรียกว่า Simple Network Time Protocol (SNTP) และสามารถซิงโครไนซ์กับเซิร์ฟเวอร์ NTP ในการซิงโครไนซ์กับเซิร์ฟเวอร์ใหม่ของคุณให้ดับเบิลคลิกที่เวลาและไปที่แท็บ "เวลาอินเทอร์เน็ต" ใส่ที่อยู่ IP ของเซิร์ฟเวอร์ของคุณในฟิลด์ "เซิร์ฟเวอร์" ฉันได้แนบภาพหน้าจอของ Windows XP ที่ซิงโครไนซ์กับเซิร์ฟเวอร์เวลาของ LAN แล้วใครก็ตามที่สนใจ
แค่นั้นแหละ! กระบวนการทั้งหมดนั้นไม่ยาก แต่อาจสร้างความสับสนให้กับคนที่ไม่ได้เกี่ยวข้องกับเครือข่าย NTP มากนักมาก่อน ฉันหวังว่านี่จะช่วยได้! แจ้งให้เราทราบหากคุณมีปัญหาในการตั้งค่าเซิร์ฟเวอร์ของคุณ
ไมค์
การเชื่อมโยง
ฉันพบว่าลิงก์ต่อไปนี้มีประโยชน์ ... คุณก็สามารถทำได้เช่นกัน!
https://help.ubuntu.com/7.10/server/C/NTP.html
http://linuxwave.blogspot.com/2007/0...tp-server.html
http: //lists.ntp.isc org / pipermail / q ... er / 011889.html
http://www.linuxhomenetworking.com/w...Fntp.conf_File
http://www.ntp.org/ntpfaq/NTP-a-faq.htm