OpenVPN को keepalive वा systemd restart: कुनले पुनर्स्थापित गर्छ?
मौन साथी, मृत प्रक्रिया र नचल्ने अनुप्रयोग तीन फरक खराबी हुन्। keepalive OpenVPN लाई, प्रक्रिया systemd लाई दिनुहोस्, र प्रत्येक केस परीक्षण गर्नुहोस्।
एउटा टनेलमा तीन फरक कुरा गलत हुन सक्छन्, र तिनलाई तीन फरक प्रतिक्रिया चाहिन्छ। साथीले जवाफ दिन छोड्छ, डेमन प्रक्रिया मर्छ, वा टनेल पछाडिको अनुप्रयोगले सेवा दिन छोड्छ। यीमध्ये कुनै एकमा सेवा पुनः सुरु गर्ने कन्फिगरेसन सावधान निगरानी होइन; यो असम्बन्धित खराबीहरूमा लगाइएको एउटै ठूलो कदम हो। प्रत्येक संयन्त्रले वास्तवमा के अवलोकन गर्न सक्छ भन्ने तुलना गर्दा कामको विभाजन स्पष्ट हुन्छ।
एउटै जस्तो देखिने तीन खराबी
साथीको मौनताको अर्थ अर्को छेउले पठाउन छोडेको हो, र OpenVPN यो आफैं पत्ता लगाउन सक्छ किनकि हृदयस्पन्द यसैसँग छ। प्रक्रियाको मृत्युको अर्थ डेमन बाहिर गयो, जुन सेवा प्रबन्धकले देख्छ र OpenVPN ले देख्न सक्दैन। अनुप्रयोग खराबीको अर्थ टनेल ठीक छ र पछाडि केही छैन, र अन्य दुई संयन्त्रमध्ये कसैलाई पनि त्यो थाहा पाउने बाटो छैन। प्रत्येकलाई फरक प्रतिक्रिया चाहिन्छ, र तीमध्ये कुनै पनि टनेल चालु छ भनी देख्नु जस्तै होइन।
यी फरक तहका फरक संकेत हुन्, र प्रत्येकको एक मालिक छ जसले अनुमान नगरी त्यसमा काम गर्न सक्छ। यिनलाई मिसाउँदा आफैंले बुझ्न नसक्ने लक्षणहरूमा पुनः सुरु हुने प्रणाली बन्छ।
कुनै पनि टाइमर बदल्नु अघि तीनै केस लेख्नुहोस्। सूची आफैंले सामान्यतया एक संयन्त्रलाई तीनै ढाक्न भनिएको देखाउँछ।
keepalive वास्तवमा केमा विस्तार हुन्छ
keepalive निर्देश संक्षेप हो, र विस्तार मोड अनुसार फरक हुन्छ। सर्भरमा, keepalive 10 60 हरेक दस सेकेन्डमा स्थानीय ping, 120 सेकेन्डको स्थानीय पुनः सुरु म्याद, र ग्राहकहरूलाई पठाइने 10 र 60 मान बन्छ। सर्भरको म्याद जानाजानी दोब्बर गरिन्छ ताकि सर्भरले हार मान्नु अघि ग्राहकले पुनः सुरु गर्ने मौका पाओस्। प्रोफाइलको संक्षेप होइन, चलिरहेको कन्फिगरेसनमा विस्तारित रूप पढ्नुहोस्।
यही दोब्बर बनाउने कारणले साठी सेकेन्डपछि दुवै छेउ पुनः सुरु हुन्छन् भन्ने कुनै पनि विवरण गलत हुन्छ। मार्ग बिग्रँदा दुवै छेउ एकैचोटि किन डोल्दैनन् भन्ने पनि यसैले बताउँछ।
हृदयस्पन्द OpenVPN को साथी ट्राफिक हो, कुनै सार्वजनिक होस्टको ICMP जाँच होइन। जवाफले टनेलको टाढाको छेउ जीवित छ भनेर मात्र प्रमाणित गर्छ। प्रयोगकर्तालाई साँच्चै चाहिने डेटाबेस वा वेब सेवाबारे यसले केही भन्दैन।
Restart=on-failure ले के हेर्दैन
ओभरराइड थप्नु अघि स्थापित युनिट पढ्नुहोस्। Restart=on-failure ले अभिलेखित प्रक्रिया-खराबी अवस्थाहरूमा प्रतिक्रिया दिन्छ, जुन जडान स्थिति हेर्नु जस्तै होइन। आन्तरिक पुनःजडान सुरु भयो भनेर यो सक्रिय हुँदैन, र सफा निकासको अर्थ क्र्यासभन्दा फरक हुन्छ।
यो भिन्नता महत्त्वपूर्ण छ किनकि आन्तरिक पुनः सुरुले त्यही प्रक्रियालाई जीवित राख्छ। युनिटले केही देख्दैन, टनेल आफैं सुधारिन्छ, र त्यही सही परिणाम हो।
RestartSec र सुरु सीमाहरू जानाजानी सेट गर्नुहोस्, नत्र क्र्यास लूपले गेटवेमा प्रहार गर्छ र वास्तविक त्रुटिलाई पुनः सुरु सन्देशहरूमुनि गाड्छ। सक्रिय हुने पुनः सुरु सीमाले युनिट असफल अवस्थामा छोड्छ, जुन देखिन्छ, तर असीमित लूप देखिँदैन।
ping-restart र ping-exit अदलबदल गर्न मिल्दैन
ping-restart ले OpenVPN को आन्तरिक पुनः सुरु सुरु गर्छ र प्रक्रिया राख्छ। ping-exit ले त्यही प्रकारको म्यादमा प्रक्रिया अन्त्य गर्छ, जसले निर्णय सेवा प्रबन्धकलाई दिन्छ। ती परस्पर विरोधी छन्, र दोस्रो रोज्दा पुनर्स्थापनाको मालिक को हो भन्ने बदलिन्छ। फरक यो हो कि फेरि प्रयास गर्ने निर्णय कसले गर्छ, र प्रयासबाट कति अवस्था बाँच्छ।
यदि म्याद सकिँदा निकास रोज्नुभयो भने, युनिटलाई मिल्ने पुनः सुरु नीति र निकास स्थितिको व्यवस्थापन चाहिन्छ, नत्र जीवन्तता खराबी स्थायी रोकिएको जस्तो देखिन्छ। दिगोपनका विकल्पहरूले आन्तरिक पुनः सुरुभरि इन्टरफेस र मार्गहरू जोगाउन सक्छन्, तर प्रक्रिया निकासभरि होइन।
प्रत्येक तैनातीका लागि एउटा जीवनचक्र रोज्नुहोस् र किन भनेर लेख्नुहोस्। दुवै निर्देश बोकेको प्रोफाइल निर्णय नगरेको प्रोफाइल हो।
प्रत्येक खराबीलाई यसको आफ्नै केसको रूपमा परीक्षण गर्नुहोस्
स्वीकृत विन्डोमा मौन साथी, मारिएको डेमन र उपलब्ध नभएको अनुप्रयोगको अनुकरण गर्नुहोस्, त्यसपछि कुन पुनर्स्थापना सक्रिय भयो जाँच्नुहोस्। मौन साथीले आन्तरिक पुनःजडान, मारिएको प्रक्रियाले युनिट पुनः सुरु, र अनुप्रयोग अवरोधले यीमध्ये केही पनि दिनु हुँदैन। जब दुई केसले एउटै कार्य दिन्छन्, मालिकत्व अझै मिश्रित छ।
बारम्बार पुनर्स्थापना पनि मर्मत होइन। अस्वीकृत प्रमाणहरू वा एउटै प्रभावकारी नाम साझा गर्ने दुई ग्राहकले एकअर्कालाई प्रतिस्थापन गरिरहनेछन्, र छिटो टाइमरले त्यो डोल्ने कामलाई मात्र छिटो बनाउँछ।