तपाईं कनेक्सनको नामसँग scutil --nc start चलाउने स्क्रिप्ट लेख्नुहुन्छ, त्यो तपाईंको Mac मा चल्छ, र अफिसका हरेक नयाँ इन्स्टल गरिएको मेसिनमा असफल हुन्छ। स्क्रिप्ट बिग्रिएको छैन। यसलाई कहिल्यै गर्न नसक्ने कुरा मागिएको छ: अवस्थित कनेक्सन सुरु गर्नु नयाँ बनाउनु जस्तै कार्य होइन।

तयारी र सत्र नियन्त्रण दुई मालिक भएका दुई काम हुन्, र विपरीत मान्ने कार्यप्रवाह जहाँ लेखियो त्यही मेसिनमा सबै परीक्षण उत्तीर्ण गर्नेछ।

स्टार्ट कमाण्डले वास्तवमा कससँग कुरा गर्छ

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

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

VPN कन्फिगरेसनका तीन मालिक

संस्थाद्वारा व्यवस्थापित प्रोफाइल यन्त्र व्यवस्थापनबाट आउँछ। प्रोफाइलले सर्भरका ठेगाना, प्रमाणीकरणको व्यवस्था र संस्थाले आवश्यक ठान्ने नीति बोक्छ, र VPN प्रशासक त्यो व्यक्ति हो जसले ती उपलब्ध गराउँछ। स्क्रिप्टले सूचीमा भेटेको प्रदर्शन नामबाट ती सेटिङ पुनः निर्माण गर्नु हुँदैन।

मूल व्यक्तिगत VPN कन्फिगरेसन Apple को Network Extension API बाट बनाइन्छ, जसले अन्तर्निहित IPsec र IKEv2 प्रोटोकल समेट्छ। यो सेभ चरण र प्रयोगकर्ता स्वीकृति सहितको एप्लिकेसन इन्टरफेस हो, विक्रेताले दिने कुनै पनि टनेल प्रकार चुपचाप बनाउने shell कमाण्ड होइन।

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

मूल तयारीमा सेभ र स्वीकृति हुन्छ

Apple को मोडेल हो लोड गर्नु, बदल्नु, सेभ गर्नु। एप्लिकेसनले सुरु भएपछिको आफ्नो पहिलो सेभ अघि अवस्थित प्राथमिकता लोड गर्छ, कन्फिगरेसन बदल्छ र त्यसपछि सेभ गर्छ। सेभ टिकाउन नसक्दा त्रुटि रिपोर्ट गर्छ, र त्यो नतिजालाई बेवास्ता गर्दा तयारीको असफलता तीन चरणपछि कनेक्सनको असफलतामा परिणत हुन्छ।

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

Apple ले API मा भर पर्नुअघि कन्फिगरेसन प्रोफाइलसँग सर्भरको अनुकूलता प्रमाणित गर्न पनि सिफारिस गर्छ। त्यो जाँच पहिले गर्दा «सर्भरले यो क्लाइन्ट स्वीकार गर्दैन» र «क्लाइन्टले कहिल्यै सेटिङ भण्डारण गरेन» छुट्टिन्छन्, र यी फरक टोलीका लागि फरक टिकट हुन्।

दोहोर्‍याउन सकिने स्टार्ट कमाण्डले के मान्न सक्छ

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

मूल कनेक्सनका लागि scutil --nc start जस्तो नामित सत्र अनुरोध नियन्त्रण कार्य हो। यसले सर्भर सेटिङ इन्स्टल गर्दैन, प्रमाणपत्र आयात गर्दैन र पहिलो-सेभको अधिकार गर्दैन। यसलाई शृंखलाको अन्तिम चरण मान्नुहोस्, कहिल्यै पूरै शृंखला होइन।

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

दुई स्वीकृति जाँच

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

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

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