Linux मा VPN सुरुङ साँच्चै चलिरहेको छ कि छैन कसरी जाँच्ने
इन्टरफेस झन्डाहरू, रुट खोज, तालिका 220 र ह्यान्डशेकका समय-छापहरू फरक-फरक प्रश्नको जवाफ दिन्छन्। प्रत्येक स्क्रिप्ट चरणलाई त्यो परीक्षणमा जोड्नुहोस् जसले त्यसको पूर्वशर्त प्रमाणित गर्छ।
Cron हरेक दस मिनेटमा पूर्ण रूपमा स्वस्थ VPN पुनः सुरु गर्छ, र त्यही कामले मृत VPN लाई एक हप्ता चलिरहन दिन्छ। दुवै असफलता «चलिरहेको» लाई एक मात्र तथ्य मान्नबाट आउँछन्, जबकि त्यो कम्तीमा चार हो। यन्त्र प्रशासनिक रूपमा सक्षम, सही रूपमा रुट गरिएको, पूर्ण रूपमा इन्क्रिप्टेड हुन सक्छ रै पनि उपयोगी केही बोक्दैन। पहिले अवलोकनहरू अलग गर्नुहोस्, र जाँच लगभग आफै लेखिन्छ।
लिङ्क झन्डाहरू यन्त्रको वर्णन गर्छन्, बाटोको होइन
सबैले प्रतिलिपि गर्ने जाँचले पूरै शून्यको हार्डवेयर ठेगाना खोज्छ। त्यो चालले केही ड्राइभरमा साँचो इन्टरफेसलाई प्लेसहोल्डरबाट छुट्याउँछ र बाँकीमा केही प्रमाणित गर्दैन, किनभने tun यन्त्रमा रिपोर्ट गर्न MAC नै हुँदैन। ip -brief link show tun0 यसको सट्टा झन्डाहरू दिन्छ: UP भन्नाले प्रशासकले यन्त्र सक्षम गरेको बुझिन्छ, र LOWER_UP भन्नाले ड्राइभरले लिङ्कलाई प्रयोगयोग्य मान्छ। सँगै पढ्दा, तिनीहरू यन्त्र अवस्थित छ र प्रशासनिक रूपमा बन्द छैन भन्छन्। तीमध्ये कुनैले पनि प्याकेट जाने ठाउँ छ भन्दैन।
OpenVPN रुटहरू स्थापना हुनुअघि नै आफ्नो tun यन्त्र बनाउँछ, त्यसैले केही पनि रुट नभएको बेला झन्डाहरू उत्तम देखिन सक्छन्। तिनलाई पूर्वशर्त मान्नुहोस्, कहिल्यै जवाफको रूपमा होइन।
प्याकेट कहाँ जान्छ सोध्नुहोस्
रुट खोजले झन्डाहरूले जवाफ दिन नसक्ने प्रश्नको जवाफ दिन्छ। ip route get 10.8.0.1 from 10.8.0.2 इन्टरफेस, स्रोत ठेगाना र कर्नेलले प्रयोग गर्ने तालिका नाम दिन्छ, र विभाजित सुरुङलाई ठ्याक्कै त्यही विरुद्ध जाँच्नुपर्छ। स्रोत ठेगाना बिना तपाईं अर्कै कुरा सोधिरहनुभएको छ, र नीति-आधारित रुटिङमा जवाफ स्रोत अनुसार फरक पर्न सक्छ। यो सबैभन्दा सस्तो इमानदार परीक्षण हो, किनभने यसले तपाईंको ट्राफिकले प्रयोग गर्ने त्यही नियमहरूसँग सल्लाह लिन्छ।
WireGuard का लागि, ह्यान्डशेक थप्नुहोस्। wg show प्रत्येक सहकर्मीका लागि अन्तिम ह्यान्डशेकको समय-छाप छाप्छ, र अगाडि बढ्न छोडेको छाप भन्नाले सहकर्मी गइसक्यो भन्ने बुझिन्छ, इन्टरफेस झन्डाले के भने पनि। हालैको ह्यान्डशेक नभएको कन्फिगर गरिएको इन्टरफेस घरमै बनाइएको अनुगमनमा सबैभन्दा सामान्य झुटा सकारात्मकमध्ये एक हो।
तालिका 220 ले IPsec को कथा भन्छ
strongSwan ले रुट स्थापना सक्षम हुँदा वार्ता गरिएका चयनकर्ताका लागि तालिका 220 मा रुट स्थापना गर्छ। ip route list table 220 त्यसैले वार्ता गरिएकोलाई रुट गरिएकोबाट अलग गर्छ: लोड गरिएको जडानको छेउमा खाली तालिका भन्नाले IKE र CHILD SA माथि आए तर तिनीतर्फ कुनै ट्राफिक मोडिएको छैन भन्ने बुझिन्छ। जाँच्नुहोस् ip xfrm state त्यसको छेउमा, किनभने यसले स्थापित सुरक्षा संघ र तिनका अन्तिम बिन्दुहरू सूचीबद्ध गर्छ।
ट्र्याप नीति नै ध्यान दिनुपर्ने अवस्था हो। यसले रुट गर्नुको सट्टा रोचक ट्राफिक पर्खन्छ, त्यसैले केहीले सुरुङ सुरु नगरेसम्म तालिका खाली रहन्छ।
म्यानेजर अवस्था र डेमन अवस्था फरक सूची हुन्
NetworkManager ले आफ्नो स्वामित्वका जडान मात्र सूचीबद्ध गर्छ। nmcli -t -f NAME,TYPE connection show --active सिधै wg-quick वा OpenVPN डेमनद्वारा सुरु गरिएको सुरुङका लागि केही फर्काउँदैन।
स्क्रिप्टले दुई म्यानेजरमध्ये कसलाई सोध्ने भनेर निर्णय गर्नुपर्दा यो भिन्नता महत्त्वपूर्ण हुन्छ। यो होस्टमा सुरुङको साँचो मालिक जो छ त्यसलाई छान्नुहोस् र अर्कोको मौनतालाई बेवास्ता गर्नुहोस्। दुवै भए, कुन अधिकारिक हो निर्णय गरेर दोस्रो बन्द गर्नुहोस्, किनभने एउटै इन्टरफेसमा रुट पुनः लेख्ने दुई म्यानेजरले कसैले पनि पुनःउत्पादन गर्न नसक्ने विफलता निम्त्याउँछन्। हराएको प्रविष्टि म्यानेजरको बारेमा जानकारी हो, सुरुङको बारेमा होइन।
अर्को चरणलाई त्यसलाई आवश्यक परीक्षणमा जोड्नुहोस्
UDP पोर्ट पोल गर्नुले तयारीको बारेमा केही प्रमाणित गर्दैन, किनभने UDP मा ह्यान्डशेक हुँदैन र nc -u प्याकेट बाहिर निस्कने बित्तिकै सफल हुन्छ। अर्को चरणले साँच्चै के उपभोग गर्छ त्यो जाँच्नुहोस्: फर्वार्ड गरिएको पोर्टमा TCP जडान, सुरुङभित्रको होस्टमा अनुरोध, त्यहीँ मात्र समाधान हुने नाम। प्रतीक्षालाई समय-सीमा र प्रयास संख्याले सीमित गर्नुहोस्, र सकिएपछि ठूलो स्वरले असफल हुनुहोस्।
क्लाइन्टले हुक दिन्छ भने हुकहरू पोलिङभन्दा राम्रा हुन्छन्। --up र --down OpenVPN का स्क्रिप्ट इन्टरफेसको अवस्था बदलिएपछि चल्छन्, जसले दौड पूर्ण रूपमा हटाउँछ, तर ती डेमनले राखेका विशेषाधिकारसहित चल्छन्। OpenVPN user र group मार्फत विशेषाधिकार नभएको खातामा झरेको छ भने, हुक त्यही खाताको रूपमा चल्छ। त्यसपछि प्रणाली सेवा पुनः सुरु गर्न sudo चाहिन्छ जसले ठ्याक्कै त्यही आदेशलाई अनुमति दिन्छ। पुनःप्रयास cron लूपको सट्टा सेवा म्यानेजरलाई सुम्पनुहोस्: सुरु सीमासहितको सीमित रिस्टार्ट नीतिले बिग्रिएको सुरुङ देखाउँछ, जबकि असीमित लूपले त्यसलाई अनिश्चितकालसम्म लुकाउँछ।