OpenVPN को पाठ लगले एक मिति, एक समय र एक us= मान एउटै लाइनमा लेख्छ, र तीनमध्ये अन्तिम भाग पाठकहरूले गलत बुझ्छन्। त्यो त्यस टाइमस्ट्याम्पको माइक्रोसेकेन्ड घटक हो, शून्यले नभरी छापिन्छ। यो सेसन पहिचानकर्ता, प्रयोगकर्ता नाम वा काउन्टर होइन, र यसलाई त्यसरी मान्दा सेकेन्डको एक अंश आत्मविश्वासी गलत निष्कर्षमा परिणत हुन्छ। यसलाई देखाइएको सेकेन्डको अंशका रूपमा रूपान्तरण गर्नुहोस् र बाँकी लाइन पढ्नयोग्य रहन्छ।

लाइनका तीन भागको अर्थ

मिति र पूरा सेकेन्ड पहिले आउँछन्, र us= एक सेकेन्डभन्दा तलको बाँकी बोक्छ। 12345 मान बाह्र हजार तीन सय पैँतालीस माइक्रोसेकेन्ड हो, अर्थात् 0.012345 सेकेन्ड, त्यसैले छापिएको समय 09:15:30 हुँदा लाइनले 09:15:30.012345 वर्णन गर्छ। काउन्टर हरेक नयाँ सेकेन्डसँग फेरि सुरु हुन्छ, त्यसैले पछिको लाइन कुनै पनि घडी पछाडि नगई सानो अंश छाप्न सक्छ। पूरा टाइमस्ट्याम्पले मात्र घटनाहरूलाई क्रममा राख्छ।

2026-11-02 08:41:07 us=4820

एकाइ सेकेन्डको दश लाखौँ भाग हो, र us= का छ अंकले 0.000000 देखि 0.999999 सम्मको पूरा दायरा ढाक्छन्। पाँच अंकले दशौँ मिलिसेकेन्ड वर्णन गर्छन्, छ अंकले लगभग पूरा सेकेन्डसम्म सयौँ मिलिसेकेन्ड वर्णन गर्छन्। यदि रूपान्तरणले एकभन्दा ठूलो अंश दिन्छ भने दशमलव बिन्दु सरेको छ र गणना गलत छ। हातले गर्नु भनेको छापिएको पूर्णांकलाई दश लाखले भाग गरेर पूरा सेकेन्डमा जोड्नु हो।

शून्यले भर्नु नै जाल हो। us=42 बयालीस माइक्रोसेकेन्ड हो, .000042 भनेर लेखिन्छ, .42 होइन। रूपान्तरण अघि पूर्णांकलाई बायाँबाट छ स्थानसम्म भर्नुहोस्, र मान अब तपाईंले देख्ने अंकहरूको दशमलव अंशजस्तो देखिन छाड्छ।

क्याल्कुलेटरबिना लाइन रूपान्तरण गर्ने

छापिएको सेकेन्डलाई आधार मान्नुहोस् र us= लाई अंश मान्नुहोस्। 09:15:30 र us=12345 का लागि दशमलव रूप 09:15:30.012345 हो; us=900000 का लागि त्यो 09:15:30.900000 हो। दशमलव बिन्दुपछिका अंक भरिएको पूर्णांक हुन्, कहिल्यै हजारले भाग गरिएको पूर्णांक होइन। पहिले छ अंकको रूप लेख्दा धेरैजसो गल्ती टर्छ।

यदि तपाईं लगहरूलाई टाइमस्ट्याम्पमा पार्स गर्नुहुन्छ भने, मिति, पूरा सेकेन्ड र अंश सँगै पार्स गर्नुहोस्। मिलिसेकेन्ड मान्ने पार्सरले घटनाहरूलाई हजार गुणा गलत क्रममा राख्छ, र आउटपुट अझै विश्वसनीय देखिन्छ।

जब लगमा यो फिल्ड हुँदैन

माइक्रोसेकेन्ड भाग पाठ लग ढाँचाको हो र विस्तृत टाइमस्ट्याम्प सक्षम हुँदा मात्र देखिन्छ। OpenVPN 2.6 को टाइमस्ट्याम्प ढाँचाकारमा त्यो तब थपिन्छ जब त्यो आउटपुट खुला हुन्छ र भण्डारण गरिएको मान शून्य हुँदैन। त्यसैले us= बिनाको लगले घडी वा बिल्डबारे केही भन्दैन; सामान्यतया यसको अर्थ कन्फिगर गरिएको विस्तार धेरै कम छ। समय सिङ्क्रोनाइजेसनलाई दोष दिनु अघि कन्फिगरेसन जाँच्नुहोस्।

सर्भर कन्फिगरेसनबाट सेटिङ सजिलै पुष्टि गर्न सकिन्छ। तलको आदेश चलाउनुहोस् र यसले फर्काउने संख्या पढ्नुहोस्। विस्तृत टाइमस्ट्याम्प आउटपुट विस्तार स्तर 4 मा देखिन्छ, त्यसैले कम मानले अन्य कुनै खराबीबिना हराएको फिल्ड व्याख्या गर्छ। त्यही कन्फिगरेसन --verb 4 सँग चलाउँदा डेमन त्यो स्तरसँग पुनः सुरु भएपछि फिल्ड देखिन्छ।

grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf

विस्तार बढाउँदा लगमा विवरण थपिन्छ; यसले घडी सुधार्दैन। पुनः सुरु भएपछि नयाँ लाइनलाई पुरानोसँग तुलना गरेर ढाँचा बदलिएको पुष्टि गर्नुहोस्, र प्रश्नको उत्तर भएपछि स्तर फेरि घटाउनुहोस्।

छ अंकले के प्रमाणित गर्दैनन्

छ अंकले रिजोल्युसन वर्णन गर्छन्, र रिजोल्युसनले दुई होस्ट समयमा सहमत छन् कि छैनन् भन्नेबारे केही भन्दैन। क्लाइन्ट र सर्भर दुवैले माइक्रोसेकेन्ड छाप्न सक्छन् जबकि तिनका घडीहरू सेकेन्डले फरक पर्छन्। तपाईंले मेसिनहरूबीच घटनाहरू सहसम्बन्धित गर्दा समय क्षेत्र र ज्ञात कुनै पनि अफसेट रेकर्ड गर्नुहोस्, र कुनै पनि टाइमस्ट्याम्पभन्दा पियर वा सेसनको नाम दिने फिल्डलाई प्राथमिकता दिनुहोस्। एउटै अंश बाँड्ने दुई लाइन अनिवार्यतः एउटै जडान हुँदैनन्।

सङ्कलकले प्रत्येक लाइनमा आउँदा छाप लगाउन सक्छ, जसले OpenVPN को नभई सङ्कलकको दोस्रो टाइमस्ट्याम्प थप्छ। तुलना गर्नु अघि तपाईं कुन पढ्दै हुनुहुन्छ पहिचान गर्नुहोस्, र तुलना फेरि गर्न सकिने गरी कच्चा लाइन राख्नुहोस्।

नयाँ us= मानले नयाँ क्लाइन्ट लगइन भयो भनी प्रमाणित गर्दैन, र दोहोरिएको मानले दोहोरो घटना प्रमाणित गर्दैन। पियर र जडान फिल्डहरूले ती प्रश्नको उत्तर दिन्छन्।

सम्बन्धित लेखहरू