XFRM इंटरफेससह रूट-आधारित IPsec कसे काम करते
XFRM इंटरफेस रूट-आधारित IPsec ला रूट करण्यासाठी एक उपकरण देते. if_id, त्यामागील सुरक्षा संलग्नता आणि बाह्य रूट सर्व जुळले पाहिजेत.
रूट-आधारित 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 ती रहदारी सामान्य राउटिंग साधनांनी व्यक्त करणे सोपे करते; ते धोरण थर ऐच्छिक करत नाही।