NetworkManager मा हराएको VPN रुट: प्रोफाइल नीति कि स्क्रिप्ट?
टनेल जोडिन्छ र एउटा प्रिफिक्स कहिल्यै देखिँदैन। सहायक स्क्रिप्ट थप्नु अघि प्रोफाइल नीति, प्लगइन डेटा र दोस्रो रुट मालिकबीच निर्णय गर्नुहोस्।
तपाईं जोडिनुहुन्छ, टनेल इन्टरफेस देखिन्छ, र तपाईंलाई चाहिने एउटा प्रिफिक्स तालिकामै छैन। अर्को कदम सामान्यतया त्यो थप्ने स्क्रिप्टको खोज हो। त्यो खोजले प्रोफाइलमा OpenVPN सहायक टाँस्ने उत्तरहरूतर्फ लैजान्छ, र ती उत्तरमध्ये आधाले स्थिति सुधार्नुको सट्टा बिगार्छ, किनभने हराएको रुटका तीन सम्भावित मालिक हुन्छन् र तीमध्ये एउटा मात्र हराएको स्क्रिप्ट हो।
केही लेख्नु अघि कुन मालिक जिम्मेवार छ भन्ने निर्णय गर्नुहोस्।
तीन मालिक, एउटा हराएको प्रिफिक्स
प्रिफिक्स अनुपस्थित हुन सक्छ किनभने कसैले दिएन, किनभने प्रोफाइलले अस्वीकार गर्यो, वा किनभने यो तपाईंले नहेर्ने ठाउँमा स्थापना भयो। यी फरक दोष हुन् र तिनका फरक उपाय छन्।
पहिलो जाँच्न सबैभन्दा सजिलो छ: सर्भर वा प्लगइनले कहिल्यै रुट प्रस्ताव गर्यो? प्रिफिक्स कहिल्यै नपाएको ब्याकएन्डले यो स्थापना गर्न सक्दैन, र सहायक स्क्रिप्टले साथीले कहिल्यै वर्णन नगरेको पहुँच कल्पना गर्न सक्दैन। दोस्रो प्रोफाइल नीति हो, जसले कनेक्सनले अन्यथा लिने रुट दबाउन सक्छ। तेस्रो तालिका वा नियम हो, जसले रुटलाई डिफल्ट खोजले कहिल्यै नहेर्ने ठाउँमा राख्न सक्छ।
चौथो मालिक तपाईं हुनुहुन्छ, पछि: कनेक्ट हुँदा रुट थप्ने तर डिस्कनेक्ट हुँदा हटाउँदैन। यसले टनेलभन्दा लामो बाँच्ने, मृत इन्टरफेसतर्फ देखाउने, र मेसिन डिबग गर्ने अर्को व्यक्तिलाई अलमल्याउने प्रिफिक्स बनाउँछ।
केही थप्नु अघि प्रोफाइल पढ्नुहोस्
सुरक्षित कनेक्सनको आफ्नै गुणहरूबाट सुरु गर्नुहोस्। रहस्य नपोखी ती पढ्नुहोस्, र प्रोफाइलको नाम अस्पष्ट भए UUID प्रयोग गर्नुहोस्।
nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office
vpn.service-type ले तपाईंलाई कुन ब्याकएन्डले कनेक्सनको स्वामित्व राख्छ भनी बताउँछ, र यो महत्त्वपूर्ण छ किनभने प्लगइन डेटा ब्याकएन्ड-विशिष्ट हुन्छ। एउटा प्लगइनले स्वीकार गर्ने कुञ्जी अर्कोका लागि समर्थित निर्देशन होइन, त्यसैले अर्को क्लाइन्टको कागजातबाट प्रतिलिपि गरिएको अंश कुनै कुराको प्रमाण होइन।
ipv4.ignore-auto-routes र ipv4.never-default फरक प्रश्नको जवाफ दिन्छन्। पहिलोले कनेक्सनले अन्यथा स्वतः लिने रुट अस्वीकार गर्न सक्छ, र दोस्रोले प्रोफाइल डिफल्ट रुट बन्न सक्छ कि भनेर नियन्त्रण गर्छ। स्वतः रुटलाई बेवास्ता गर्ने र अरू केहीमा भर नपर्ने प्रोफाइल सफा रूपमा जोडिन्छ र लगभग केही पनि स्थापना गर्दैन।
ip -4 rule show
ip -4 route show table all
यी दुई आदेशले तेस्रो सम्भावना टुंग्याउँछन्। आफ्नो प्रिफिक्स main मा मात्र नभई हरेक तालिकामा खोज्नुहोस्, र नीति नियमले सम्बन्धित खोज अन्त कतै पठाउँछ कि जाँच्नुहोस्। प्रिफिक्स अर्को तालिकामा छ र कसैले त्यसलाई हेर्दैन भने तपाईंसँग हराएको रुट छैन; तपाईंसँग त्यहाँ कहिल्यै नपुग्ने खोज छ।
स्क्रिप्टले सुधार्न नसक्ने कुरा
सहायक स्क्रिप्ट थप्दा NetworkManager को vpn.data लाई चलाउन कार्यक्रम मिल्छ। यो वास्तविक संयन्त्र हो, र यी अधिकांश अवस्थाका लागि यो गलत हो, किनभने स्क्रिप्टले नियन्त्रण पाउँदा प्रोफाइलको आफ्नै नीतिले के स्वीकार्ने भनी पहिल्यै निर्णय गरिसकेको हुन्छ।
OpenVPN को script-security अर्को दोहोरिने भ्रम हो। यो OpenVPN सेटिङ हो जसले क्लाइन्टले कुन स्क्रिप्ट चलाउन सक्छ र तिनको वातावरणमा के राख्न सक्छ भनी निर्धारण गर्छ; स्तर 3 ले वातावरणमार्फत प्रमाणहरू पास गर्न अनुमति दिन्छ, जो रुटिङ सुधार नभई रहस्य व्यवस्थापनको निर्णय हो। OpenVPN नभएको ब्याकएन्ड भएको प्रोफाइलमा यो टाँस्नु, वा कुनै स्क्रिप्टलाई आवश्यक नभए पनि बढाउनु, रुट नथपी जोखिम थप्छ।
त्यसपछि रिस्टार्टको बानी छ। NetworkManager सेवा रिस्टार्ट गर्दा हरेक व्यवस्थित लिङ्क भत्किन्छ र पुनः बन्छ, तपाईं टाढाबाट काम गर्दै हुनुहुन्छ भने जुन लिङ्कबाट जोडिएको छ त्यो पनि। यो अवरोध गर्ने कार्य हो, निर्दोष निदान होइन, र सर्भरमा यो टिक्ने सत्र र नटिक्ने सत्रबीचको फरक हुन सक्छ।
निर्णय, क्रममा
क्रमैसँग तीन प्रश्न सोध्नुहोस्। साथीले प्रिफिक्स दियो कि, जुन ब्याकएन्डको लग वा यसको आफ्नै स्थिति आउटपुटले देखाउनेछ। यदि हो भने, प्रोफाइल रुट स्वीकार गर्न र स्थापना गर्न कन्फिगर छ, कि तिनलाई दबाइरहेको छ? रुट कतै छ भने, तपाईंले परीक्षण गरिरहेको ट्राफिकका लागि खोज मार्ग सही छ?
पहिलो जवाफ हो, दोस्रो हो र तेस्रो सही भएपछि मात्र पूरक स्क्रिप्ट उचित हुन्छ, र त्यतिखेर पनि ब्याकएन्डले रुटलाई मूल रूपमा समर्थन गर्छ कि भनी सोध्नुपर्छ। VPN सेटिङ सन्दर्भ ले service-type र प्लगइन-विशिष्ट डेटा शब्दकोशको कागजात गर्छ, र कुञ्जी अवस्थित छ भनी मान्नु अघि त्यहीँबाट सुरु गर्नुपर्छ।
स्वीकृत सुधारपछि, फेरि जोडिनुहोस् र गन्तव्य ठेगानाले र त्यसपछि नामले परीक्षण गर्नुहोस्, त्यसपछि डिस्कनेक्ट भई फेरि जोडिनुहोस् ताकि स्थिति दोहोरिन सक्ने छ भन्ने पुष्टि होस्। एउटा मालिक, एउटा तालिका, र टनेलसँगै हराउने रुट नै चाहिएको नतिजा हो।