मैं NTP पोल रेट कैसे कस्टमाइज़ करूं?


17

मैं एक अंतर्निहित मशीन पर उबंटू स्थापित कर रहा हूं जो एक सेलुलर कनेक्शन पर चलता है, जहां हम प्रति बाइट का भुगतान करते हैं। मशीन में आरटीसी बैटरी भी नहीं है, इसलिए यह हर बूट के लिए एक यादृच्छिक समय से शुरू होता है।

मैं यह सुनिश्चित करना चाहता हूं कि सेलुलर कनेक्शन उपलब्ध होने पर समय सिंक्रनाइज़ हो जाए ताकि लॉग संदेश आदि वास्तविक समय हो, लेकिन मैं एनटीपी ट्रैफिक के लिए एक हाथ और एक पैर का भुगतान भी नहीं करना चाहता।

क्या मैं उस दर को कस्टमाइज़ कर सकता हूं जिस पर NTP समय अपडेट करता है? मैं वर्तमान में Openntpd का उपयोग कर रहा हूं, लेकिन मैं इसके लिए तैयार नहीं हूं।

जरूरी नहीं कि इंटरनेट बूट पर हो, इसलिए स्टार्टअप पर ntupdate और संबंधित काम नहीं करेंगे। और क्रोन के माध्यम से शेड्यूल करने का मतलब है कि अनुसूचित कार्य को किक करने के लिए इंतजार करना, जबकि मैं एक समय डेमन को एएसएपी सिंक करना चाहता हूं।

जवाबों:


5

इन जवाबों में से कुछ obfuscated ntp कॉन्फ़िगरेशन प्रतियोगिता जीत सकते हैं।

Ntp संदर्भ कार्यान्वयन का उपयोग करें और iburst का उपयोग बूटिंग पर जल्दी से समय निर्धारित करने के लिए करें। उसके बाद आप कितनी बार ntpd क्वेरी को दूरस्थ समय सर्वरों तक सीमित करने के लिए मीनपॉल निर्देश का उपयोग कर सकते हैं। यह आपको ntpd की घड़ी के अनुशासन का लाभ उठाने और बैंडविड्थ को नीचे रखने की अनुमति देगा।

minpoll minpoll
maxpoll maxpoll
    These options specify the minimum and maximum poll intervals for NTP 
    messages, in seconds as a power of two. The maximum poll interval 
    defaults to 10 (1024 s), but can be increased by the maxpoll option to 
    an upper limit of 17 (36 h). The minimum poll interval defaults to 6 (64 s), 
    but can be decreased by the minpoll option to a lower limit of 3 (8 s).

एनटीपी संदर्भ कार्यान्वयन के लिए क्रॉनिक एक अच्छा विकल्प है। Openntpd नहीं है।


8

मेरा अनुभव ओपनपीएनडीपी के बजाय एनटीपी के साथ है।

आपको पता होना चाहिए कि एनटीपी प्रोटोकॉल आमतौर पर हर मिनट (64 सेकंड) पैकेट भेजने के साथ शुरू होता है, लेकिन आमतौर पर आपके सर्वर में आपके /etc/ntp.conf फ़ाइल के लिए प्रत्येक 17 मिनट में एक पैकेट भेजना और प्राप्त करना बंद हो जाता है। हालाँकि, आपके डिवाइस में नेटवर्क आउटेज या अस्थिर घड़ी इसे बढ़ा सकती है। प्रत्येक पैकेट में लगभग 68 बाइट्स का पेलोड होता है, इसलिए संभवतः प्रति पोल 100 बाइट्स, हर तरह से।

नेटवर्क समय पर rdate और ntpdate समय निर्धारित करने के लिए अच्छे विचार हैं। और अगर वह सब आप की जरूरत है आप के लिए अच्छी तरह से काम करना चाहिए।

यदि आपको विस्तारित समय पर सिंक में समय रखने की आवश्यकता है, हालांकि, ntp प्रोटोकॉल को ऐसा करने के लिए डिज़ाइन किया गया था। आपके डिवाइस की घड़ी कितनी तेज़ या धीमी गति से चलेगी, यह इस बात पर निर्भर करता है कि वह कितनी गर्म या ठंडी है, भले ही उसमें क्रिस्टल नियंत्रित घड़ी हो - और चल रहे टाइमकीपिंग का मतलब उसके लिए समायोजन करना है।

यहां कुछ सुझाव दिए गए हैं यदि आपको चल रहे टाइमकीपिंग की आवश्यकता है और उपयोग किए गए बैंडविड्थ को कम करना चाहते हैं। वे ntp.conf में आइटम का उल्लेख करते हैं।

Iburst का उपयोग न करें। (लेकिन शुरुआत में समय निर्धारित करने में अधिक समय लगेगा)।

मीनोपोल को 6 से बढ़ाएँ (2 ^ 6 सेकंड 64 सेकंड है)। नेटवर्क आने के बाद प्रोटोकॉल शुरू होने पर यह ट्रैफिक को कम करता है।

अधिकतम 10 से ऊपर की ओर बढ़ाएं (2 ^ 10 सेकंड 1024 सेकंड या हर 17 मिनट के बारे में। आप हर 36 घंटे में 17 से पराग तक जा सकते हैं। मैंने खुद इसकी कोशिश नहीं की है।

केवल एक न्यूनतम संख्या में सर्वर का उपयोग करें, यदि आपके पास एक है जो आपके एम्बेडेड उपकरणों से मज़बूती से पहुँचा जा सकता है, तो यह बहुत अच्छा होगा। अधिक सर्वर अधिक विश्वसनीय समयपालन हो सकता है, लेकिन ट्रैफ़िक ऊपर होता है, इसलिए यह एक व्यापार बंद है।


4

जब सेल इंटरफ़ेस ऊपर आता है तो आप ntpdate से जुड़े कुछ हैकरी कर सकते हैं। लेकिन अगर आप कर सकते हैं, तो क्रोन स्थापित करना एक बेहतर विकल्प होगा, क्योंकि यह आंतरायिक नेटवर्क पहुंच को ध्यान में रखकर बनाया गया था


3

उबंटू की एक डिफ़ॉल्ट स्थापना पर, एनटीपी डेमॉन नहीं चलता है। इसके बजाय, समय हर बार सेट होता है जब एक नेटवर्क इंटरफ़ेस /etc/network/if-up.d/ntpdateहुक द्वारा लाया जाता है ।

यदि आप निरंतर तुल्यकालन के बजाय एक बार के समय सिंक्रनाइज़ेशन के बाद हैं, तो यह आपके लिए पर्याप्त हो सकता है।

आप यह नियंत्रित कर सकते हैं कि कौन से सर्वर मानक /etc/ntp.confफ़ाइल के माध्यम से, या NTPSERVERSचर के माध्यम से समय निर्धारित करने के लिए क्वेरी कर रहे हैं /etc/default/ntpdate


2

क्या आपको सटीक और सटीक सिंक्रनाइज़ेशन की आवश्यकता है जो ntp प्रदान करता है? यदि नहीं, तो आप बूट के साथ rdateया ntpdateफिर समय-समय पर क्रोन के माध्यम से प्राप्त करने में सक्षम हो सकते हैं ।


2

आपने शायद पहले से ही ओपनटैंडप मैन पेज पढ़ा है।

http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd.conf

आपने शायद पहले ही समय के लिए एक मतदान विकल्प की कमी पर ध्यान दिया है।

मेरे पास प्रस्ताव करने के लिए ये संभव हैक हैं:

  1. किसी भी ntpd का उपयोग न करें cron के माध्यम से ntpdate को कॉल करें।
  2. जब आप अनुमति देना चाहते हैं तो पोर्ट 123 ट्रैफ़िक को छोड़ने या अनुमति देने के लिए iptables नियमों को टॉगल करने के लिए क्रोन और / या अपनी सेलुलर कनेक्शन स्क्रिप्ट का उपयोग करें। यह उतना ही सरल हो सकता है

    0 12 * * * iptables -D OUTPUT -j DROP -p udp --dport 123 # at noon start allowing ntp

    0 13 * * * iptables -A OUTPUT -j DROP -p udp --dport 123 # at 1pm stop allowing ntp

  3. अपनी एम्बेडेड मशीन में एक रेडियो घड़ी रिसीवर एम्बेड करें। मैं इसके बारे में लगभग कुछ भी नहीं जानता, लेकिन इस तरह के उत्पाद:

मुझे लगता है कि यह मुश्किल नहीं है अगर आप रेडियो सिग्नल प्राप्त कर सकते हैं।


1
यदि आप हार्डवेयर जोड़ने जा रहे हैं तो एक रेडियो घड़ी की सिफारिश करें और पीपीएस के साथ जीपीएस क्यों न जोड़ें?
dfc

@ पीडीएफ अच्छी बात है। ओपी, समय पाने के लिए जीपीएस हार्डवेयर पर विचार करें।
जय _silly_evarlast_ Wren

1
$ 50 के लिए (निश्चित रूप से जीपीएस यह एक महान सौदा है) और कुछ टांका लगाने के लिए मेरे पास स्पेयर बेडरूम में एक स्ट्रैटम 1 टाइम सर्वर है। मेरे पास एक ज़रूरी जीपीएस एंटीना है जो एक विशाल मेपल और दूसरे घर द्वारा अवरुद्ध खिड़की में बैठा है और यह अच्छी तरह से काम करता है।
dfc

@ पीडीएफ आप हार्डवेयर से लिंक कर सकते हैं और हार्डवेयर के साथ आप किस सॉफ्टवेयर का उपयोग करते हैं?
Jay _silly_evarlast_ Wren

1
@Jay_silly_everlast_Wren सॉफ्टवेयर: ntp संदर्भ कार्यान्वयन www.ntp.org बोर्ड: Sureelectronics.net/goods.php?id=99 चर्चा के युगल: satsignal.eu/ntp/Sure-GPS.htm और lists.ntp.org/pipermail/questions /2011-March/028854.html बहुत अधिक हैं। टांका लगाने से डरो मत। यह मेरी पहली बार मिलाप था और यह आसान था। Ntp प्रश्न मेलिंग सूची उन लोगों से भरी हुई है जिन्होंने सुनिश्चित बोर्ड का उपयोग किया है और इससे बहुत खुश हैं।
dfc

1

अगर मुझे सही से याद है, तो ntp पोल अंतराल अधिकतम 1024 सेकंड के लिए सेट किया जा सकता है। शायद सबसे सरल समाधान प्रत्येक बूट में ntpdate और बाद में हर अब crontab से चलाना होगा।

यदि आपकी घड़ी प्रत्येक बूट पर एक यादृच्छिक समय के साथ शुरू होती है, तो आप शायद ntpd को चलाने में सक्षम नहीं होंगे और आपको पहले ntpdate का उपयोग करना होगा। यदि आपकी घड़ी और सर्वर घड़ी के बीच अंतर बहुत बड़ा है, तो Ntpd समय सिंक करने से इनकार करता है।


अगर बहाव बहुत बड़ा है, तो सिंक करने से इनकार करने वाली एनटीपी के बारे में जानकारी के लिए +1
डेविड फाफर

ntpdate उन विकल्पों के पक्ष में पदावनत है, ntpdजो इस उपयोग-केस cronको eecis.udel.edu/~mills/ntp/html/ntpdate.html
msw

1

NTP, जैसे टीसीपी, में कुछ डीप थ्योरी और प्रैक्टिकल एक्सपीरियंस है, जिसे प्रोटोकॉल में बनाया गया है; यदि आप इसके मूलभूत मापदंडों को बदलते हैं, तो यह सिंक्रनाइज़ेशन गुणों को रोक देता है जो इसके लिए डिज़ाइन किया गया था।

यदि आपका उपकरण छिटपुट रूप से जुड़ा हुआ है, तो शायद अच्छा पुराना RDATE आपकी सेवा करेगा। यह क्लॉक-स्लीविंग, न ही सहकर्मी औसत को संभालता है, न ही इसे विभिन्न सूक्ष्म हैक के खिलाफ सुरक्षित किया जा सकता है जो कि एक आदमी के बीच में खेल सकता है अगर यह उसके लायक था। यह सिर्फ एक दूरस्थ सर्वर से एक संदर्भ तिथि प्राप्त करता है और एक हथौड़ा के साथ स्थानीय घड़ी को स्मैक करता है। लेकिन, यह तब होता है जब आप इसे चाहते हैं, और इसका व्यवहार नियतात्मक होता है।

RDATE सटीकता NTP के प्रतिपक्षी की तुलना में कहीं अधिक खराब है, मैं इसे accuracy 1 सेकंड से बेहतर के लिए भरोसा नहीं करूंगा, लेकिन यदि आप केवल छिटपुट रूप से संलग्न हैं, तो अधिक सटीक समय प्रासंगिक नहीं है; वास्तव में, सापेक्षता के अनुसार यह सार्थक भी नहीं हो सकता है।


0

यह सुनिश्चित करने के minpool/ maxpoolध्यान में रखा जाना करने के लिए, तो आप जोड़ने के लिए सर्वर प्रति अपने में ntp.conf

यह एनटीपी बधिया के साथ गड़बड़ करने के लिए काफी अनुशंसित नहीं है (यह आवृत्ति का अनुकूलन करने के लिए एक मैथोड में बनाया गया है) लेकिन आपको इन विकल्पों को इस तरह जोड़ना होगा:

server time.google.com iburst minpoll 12 maxppol 17
server ntp.ubuntu.com iburst minpoll 12 maxppol 17
server europe.pool.ntp.org iburst minpoll 12 maxppol 17

यहां, यदि 2 से 12 सेकंड के लिए न्यूनतम आवृत्ति सेट करें, और अधिकतम 2 ^ 17 सेकंड तक।

डिफ़ॉल्ट रूप से, मुझे पता चला कि NTP प्रति मिनट एक अनुरोध करेगा। वह बहुत दूर है। यहाँ मैंने फ्रीक्वेंसी को एक घंटे से एक बार (दिन में एक बार) कम कर दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.