Ubuntu पर NTP कैसे कॉन्फ़िगर करें: Chrony के साथ सटीक समय समकालिकरण

1. उबंटू पर एनटीपी का महत्व

एनटीपी क्या है?

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

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

2. एनटीपी को कॉन्फ़िगर कैसे करें

क्रोनी को इंस्टॉल करना और कॉन्फ़िगर करना

क्रोनी उबंटू 18.04 और उसके बाद के संस्करणों पर डिफ़ॉल्ट एनटीपी क्लाइंट है। एनटीपी सर्वरों का उपयोग करके समय समन्वय को कॉन्फ़िगर करने के लिए क्रोनी को इंस्टॉल करने के लिए निम्नलिखित चरणों का उपयोग करें।

इंस्टॉलेशन चरण

sudo apt update
sudo apt install chrony

अगला, क्रोनी सेवा को शुरू करें और स्वचालित स्टार्टअप के लिए इसे सक्षम करें।

sudo systemctl start chrony
sudo systemctl enable chrony

कॉन्फ़िगरेशन फ़ाइल /etc/chrony/chrony.conf पर स्थित है। यदि आप जापान में स्थित एनटीपी सर्वरों का उपयोग करना चाहते हैं, तो इसे निम्नानुसार कॉन्फ़िगर करें:

server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst

iburst विकल्प एनटीपी सर्वर से कनेक्ट करने पर प्रारंभिक समन्वय को तेज़ करता है।

3. एनटीपी सर्वरों का अनुकूलन और चयन

एनटीपी पूल प्रोजेक्ट का उपयोग करना

एनटीपी पूल प्रोजेक्ट दुनिया भर से क्षेत्र-केंद्रित एनटीपी सर्वर प्रदान करता है। कई एनटीपी सर्वरों को कॉन्फ़िगर करके, विश्वसनीयता बढ़ जाती है, यह सुनिश्चित करते हुए कि यदि एक सर्वर अनुपलब्ध हो जाता है, तो अन्य बिना किसी रुकावट के समय समन्वय जारी रख सकें।

नीचे दिए गए उदाहरण में जापान में स्थित सर्वरों का उपयोग करने वाली कॉन्फ़िगरेशन दिखाई गई है:

server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst

4. समय क्षेत्र सेट करना

timedatectl कमांड का उपयोग करना

डिफ़ॉल्ट रूप से, उबंटू सिस्टम समय क्षेत्र के रूप में यूटीसी का उपयोग करता है। आप इसे निम्नलिखित कमांड का उपयोग करके जापान स्टैंडर्ड टाइम (जेएसटी) में बदल सकते हैं:

sudo timedatectl set-timezone Asia/Tokyo

परिवर्तन करने के बाद, वर्तमान समय क्षेत्र सेटिंग्स को सत्यापित करने के लिए:

timedatectl

5. समस्या निवारण

जब एनटीपी समन्वयित न हो

फ़ायरवॉल की जाँच करें

एनटीपी यूडीपी पोर्ट 123 का उपयोग करता है, और यदि फ़ायरवॉल इस पोर्ट को ब्लॉक करता है तो समन्वय विफल हो सकता है। निम्नलिखित कमांड का उपयोग करके पोर्ट 123 खोलें:

sudo ufw allow 123/udp

फॉल्स-टिकर्स की जाँच करना

ntpq -p कमांड का उपयोग करके सत्यापित करें कि एनटीपी सर्वर सही ढंग से कार्य कर रहे हैं या नहीं। गलत समय प्रदान करने वाले सर्वरों को x प्रतीक से चिह्नित किया जाता है। यदि पता चले, तो अपनी कॉन्फ़िगरेशन में उन सर्वरों को हटाएँ या बदलें।

स्ट्रेटम 16 त्रुटि

यदि एनटीपी सर्वर अपस्ट्रीम सर्वर के साथ समन्वयित नहीं हो पाता, तो स्ट्रेटम 16 त्रुटि होती है। यह कनेक्टिविटी या कॉन्फ़िगरेशन समस्या को इंगित करता है। अपनी नेटवर्क सेटिंग्स की जाँच करें और विश्वसनीय अपस्ट्रीम स्रोतों के साथ समन्वय सुनिश्चित करने के लिए अपने एनटीपी सर्वरों को पुनः कॉन्फ़िगर करें।

मैनुअल समय समन्वय

क्रोनी का उपयोग करके समय को मैनुअल रूप से समन्वयित करने के लिए, निम्नलिखित कमांड चलाएँ:

sudo ntpdate ntp.nict.jp

आप समन्वय समस्याओं का निदान करने के लिए क्रोनी लॉग्स की भी समीक्षा कर सकते हैं:

sudo journalctl -u chrony

6. उच्च-लोड वातावरण में एनटीपी अनुकूलन

minpoll और maxpoll को समायोजित करना

उच्च-परिशुद्धता समय समन्वय की आवश्यकता वाले वातावरण में, एनटीपी पोलिंग अंतरालों को समायोजित करना अधिक बार अपडेट की अनुमति देता है और समय ड्रिफ्ट को कम करने में मदद करता है। नीचे दिए गए कॉन्फ़िगरेशन उदाहरण में समन्वय आवृत्ति बढ़ाई गई है:

server ntp.nict.jp iburst minpoll 4 maxpoll 10

जूजू के साथ एनटीपी प्रबंधन

बड़े पैमाने पर क्लाउड वातावरणों में, Juju NTP सेवा तैनाती को स्वचालित कर सकता है। Juju होस्ट लोड्स को मॉनिटर करता है और स्वचालित रूप से इष्टतम होस्ट को NTP सर्वर के रूप में चुनता है। Juju के माध्यम से NTP को निम्नानुसार तैनात करें:

juju deploy cs:ntp ntp
juju config ntp auto_peers=true

यह स्वचालित NTP प्रबंधन को सक्षम बनाता है, लोड को प्रभावी ढंग से वितरित करता है और कुशल समय समन्वयन सुनिश्चित करता है।

7. सुरक्षा को बढ़ाना

NTP सर्वरों के लिए एक्सेस कंट्रोल

सुरक्षा में सुधार करने के लिए, आप NTP सर्वर एक्सेस को विशिष्ट IP पतों तक सीमित कर सकते हैं। नीचे दिखाए अनुसार /etc/chrony/chrony.conf में एक्सेस कंट्रोल नियम जोड़ें ताकि केवल अनुमोदित नेटवर्क्स से अनुरोधों की अनुमति हो:

allow 192.168.1.0/24

यह बाहरी होस्ट्स से अनधिकृत NTP अनुरोधों को रोकता है और आंतरिक नेटवर्क सुरक्षा को मजबूत करता है।