लाइनले PID_ERR replay-window backtrack occurred भन्छ, र सबै खोज नतिजाले यसलाई खसालेका प्याकेट र भाँचिएको सुरुङ भनेर व्याख्या गर्छन्। Community OpenVPN 2.6 को UDP मार्गमा, प्राप्ति फंक्शनले प्याकेटसँग के गर्ने भनी अझै निर्णय गर्दै गर्दा त्यो सन्देश लेखिन्छ। यसले नयाँ अधिकतम ब्याकट्र्याक अभिलेख गर्छ, त्यसपछि त्यही फंक्शनले स्वीकार वा अस्वीकार गर्नु अघि दूरीलाई विन्डो र अभिलेखित अवस्थासँग तुलना गर्छ। लग लेबललाई फैसला मानेर पढ्नु यो जाँचसूचीले रोक्न खोजेको गल्ती हो।

पहिलो पडाव: लाइन के हो पहिचान गर्नुहोस्

यो क्रम-दूरीबारेको निदान हो, जडानबारेको निर्णय होइन। यो प्याकेट-ID कार्यान्वयनमा नयाँ देखिएको अधिकतम ब्याकट्र्याक अभिलेख हुने ठाउँमा देखिन्छ। त्यो ठाउँ स्वीकार-वा-अस्वीकार शाखाअघि छ, त्यसैले त्यसलाई निम्त्याउने प्याकेट पनि पुर्याउन सकिन्छ।

कुन होस्टले लेख्यो र कति विस्तृत रूपमा, त्यो पुष्टि गर्नुहोस्। सर्भर र क्लाइन्ट दुवैले प्याकेट-ID सन्देश पठाउन सक्छन्, र एक पक्षको सन्देशले अर्को पक्षको प्राप्ति अवस्थाबारे केही भन्दैन।

दोस्रो पडाव: त्यो प्याकेटको नतिजा खोज्नुहोस्

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

journalctl -u openvpn-server@server --since "-10 min" | grep -n -A3 -B3 "backtrack occurred"

यदि लगले त्यो समयमा त्यो साथीलाई कुनै अस्वीकृति देखाउँदैन भने, यो लाइनलाई अवरोधको कारण मान्न छोड्नुहोस्। एपको मार्गतिर जानुहोस्, किनकि जोडिएको तर ट्राफिक छैन भन्ने धेरैजसो रिपोर्ट वास्तवमा त्यहीँ अन्त्य हुन्छन्।

तेस्रो पडाव: पुनःक्रमण वास्तविक हो कि होइन निर्णय गर्नुहोस्

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

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

चौथो पडाव: विन्डो प्यारामिटर, र ती के होइनन्

replay-window ले क्रम-आकार र वैकल्पिक समय मान लिन्छ, त्यसैले यसलाई फराकिलो बनाउँदा एकैचोटि दुई फरक सहनशीलता बदलिन्छन्। संख्या बढाउँदा क्रमबाट टाढा प्याकेट स्वीकारिन्छन्; समय मानले प्याकेटलाई कति समयसम्म विचार गर्न सकिन्छ भन्ने सीमा गर्छ। फराकिलो बनाउनु सुरक्षा लागत भएको नीति परिवर्तन हो, र यसले साइफर बलियो बनाउँदैन वा डुप्लिकेट पहिचान बन्द गर्दैन। दुवै सहनशीलता सँगै चल्छन्, तपाईंले चाहे पनि नचाहे पनि।

पुरानो प्रमाणित प्याकेट अझै अनिच्छित दोहोरिन सक्छ, त्यसैले प्राप्तकर्ताले यी जाँच राख्छ। बढी पुनःक्रमण स्वीकार्नु भनेको त्यो जोखिमको बढी भाग स्वीकार्नु हो।

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

mute 20
replay-window 64 15

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

पाँचौँ पडाव: प्रयोगकर्तालाई महत्त्वपूर्ण मार्ग जाँच्नुहोस्

सुरुङ जोडिएको अवस्थामा एपकै आफ्नै परीक्षण चलाउनुहोस् र यसले छानेको मार्ग, अगाडि पठाउने अवस्था र फर्कने मार्ग पढ्नुहोस्। एकतर्फ मात्र प्याकेट बोक्ने सुरुङले कुनै पनि ब्याकट्र्याक सन्देश उत्पन्न गर्दैन, र त्यो गम्भीर पुनःक्रमणभन्दा धेरै सामान्य छ।

हरेक पडावमा के मापन गर्नुभयो लेख्नुहोस्। त्यही अभिलेखले अर्को रिपोर्टलाई फेरि डरलाग्दो लाइनबाट सुरु गरी त्यहाँबाट बाहिर काम गर्नबाट रोक्छ।

प्याकेट-ID कार्यान्वयन ले तथ्याङ्क र निर्णयको क्रम देखाउँछ, र पुस्तिकाले विन्डोको क्रम र समय दायरा वर्णन गर्छ। दुवैलाई सँगै पढ्नु नै डरलाग्दो लग लाइनलाई ज्ञात परिमाणमा बदल्छ। तीमध्ये कुनैले पनि तपाईंको विशिष्ट मार्गबारे केही भन्दैन, त्यसैले माथिका मापन अझै महत्त्वपूर्ण छन्।

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