रुट-आधारित IPsec ले राउटिङ तालिकालाई पहिले नीति चयनकर्ताहरूले गर्ने निर्णय दिन्छ। Linux मा यसलाई सम्भव बनाउने भाग XFRM इन्टरफेस हो: एउटा भर्चुअल यन्त्र जसको ट्राफिक चयनकर्ताद्वारा नभई इन्टरफेस पहिचानद्वारा IPsec अवस्थासँग मिलाइन्छ। एउटा बनाउन एक आदेश मात्र चाहिन्छ र यसले सुरुङ छ कि छैन भनेर केही प्रमाणित गर्दैन। यन्त्र राउटिङ र सुरक्षा नीतिबीचको हुक हो, र केही पनि संरक्षित हुनुअघि त्यो हुकका दुवै पक्ष कन्फिगर गर्नुपर्छ।

यन्त्र के हो र के होइन

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

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

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

सही क्रममा एउटा बनाउनुहोस्

बाह्य यन्त्र र डेमन कन्फिगरेसनमा पनि राख्ने संख्याबाट सुरु गर्नुहोस्। उदाहरणले बाह्य इन्टरफेसका रूपमा eth0 र पहिचानका रूपमा 42 प्रयोग गर्छ, यी ठेगानाहरू तपाईंले आफ्नैले बदल्नुपर्छ।

यन्त्र माथि उठाउनुहोस्, त्यसपछि VPN कन्फिगरेसन छुनुअघि कर्नेलले रेकर्ड गरेको पहिचान पुष्टि गर्नुहोस्:

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'

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

IKE र ESP लाई सुरुङ रुटबाट बाहिर राख्नुहोस्

XFRM यन्त्रमा देखाइएको पूर्वनिर्धारित रुटले इन्क्याप्सुलेट गरिएका प्याकेट र तिनले बोकेको ट्राफिक दुवै समात्छ। परिणाम एउटा लूप हो: गेटवेले आफ्नै ESP उसै सुरुङबाट पठाउन खोज्छ जुन ESP ले बनाउनुपर्ने हुन्छ।

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

तपाईंले जे रोज्नुभए पनि, बाह्य प्याकेट इन्क्याप्सुलेसनबिना बाहिर निस्कन्छ भनी प्रमाणित गर्नुहोस्। सुरुङ माथि आएपछि साथीको बाह्य ठेगानामा ping गर्नु द्रुत जाँच हो; इन्टरफेस माथि हुँदा त्यो असफल भयो भने पुग्ने क्षमताभन्दा समातिने शंका गर्नुहोस्। त्यही तर्क IKE पोर्टमा पनि लागू हुन्छ, किनकि डेमनको आफ्नै UDP ट्राफिकले त्यसले स्थापित गर्न खोजिरहेको यन्त्रमा रुट हुनु हुँदैन।

इन्क्रिप्शनलाई दोष दिनुअघि दुई ठाउँमा काउन्टर जाँच्नुहोस्

इन्टरफेस काउन्टर र अवस्था काउन्टरले फरक चरण मापन गर्छन्। यन्त्रमा रुट गरिएका प्याकेटले कुनै अवस्था नमिले पनि यन्त्र बढाउँछन्, जबकि अवस्था काउन्टर वास्तवमै इन्क्याप्सुलेट भएको ट्राफिकका लागि मात्र चल्छन्।

दुवै पढ्नुहोस्, त्यसपछि चाइल्ड सम्बन्धबारे डेमनको दृष्टिकोण पढ्नुहोस्:

ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sas

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

रुट कसले स्थापित गर्ने भनी निर्णय गर्नुहोस्

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

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

फर्वार्डिङ र फायरवाल नियम यसमाथिको छुट्टै निर्णय हो, किनकि अरू होस्टको ट्राफिक पास गराउने गेटवेलाई दुवै चाहिन्छ। रुट-आधारित IPsec ले त्यो ट्राफिक सामान्य राउटिङ औजारले व्यक्त गर्न सजिलो बनाउँछ; यसले नीति तहलाई वैकल्पिक बनाउँदैन।

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