OpenVPN मार्ग strongSwan XFRM धोरणाकडून का हरतो
ठराविक OpenVPN मार्ग XFRM धोरणाला मागे टाकत नाही: मार्ग आणि धोरणाचे निवडक वाचा, नंतर अरुंद करा, अपवाद द्या किंवा XFRM इंटरफेसवर जा.
पॅकेट OpenVPN मार्गाचे अनुसरण करूनही IPsec धोरणाच्या तावडीत सापडू शकतात, आणि हे संयोजन योग्य कोनाशिवाय प्रत्येक कोनातून राउटिंग बगसारखे दिसते। Linux मार्ग सोडवतो आणि नंतर स्वतंत्र सुरक्षा धोरण डेटाबेसचा सल्ला घेतो, त्यामुळे अधिक विशिष्ट गंतव्य मार्ग जुळणारे XFRM धोरण बाजूला सारत नाही। दिसणारे लक्षण म्हणजे होस्ट सोडून कधीही न पोहोचणारा रहदारी, तर दोन्ही बोगदे स्वतःला निरोगी जाहीर करतात। तीन पर्याय हे सोडवतात, आणि तुम्ही कोणता निवडता हे त्या दोन मार्गांपैकी कोणत्या मार्गाने तो प्रीफिक्स न्यायचा आहे यावर अवलंबून आहे।
दोन निर्णय, एक नाही
मार्ग निवड एका अरुंद प्रश्नाचे उत्तर देते: कोणता पुढील हॉप आणि स्रोत पत्ता हे पॅकेट न्यायचा। सुरक्षा धोरण डेटाबेस दुसऱ्याचे उत्तर देते: या पॅकेटला IPsec संरक्षण आवश्यक आहे का, आणि कोणत्या निवडकांखाली। दोन्ही एकाच पॅकेटसाठी चालतात, आणि पहिले पूर्ण करणे दुसऱ्याबद्दल काहीही सांगत नाही। म्हणूनच मेट्रिक बदलल्याने किंवा स्थिर मार्ग जोडल्याने लक्षण अजूनही टिकू शकते।
रुंद IPsec निवडक हे नेहमीचे कारण आहे। 172.16.0.0/12 चे संरक्षण करणारे धोरण 172.20.8.0/24 लाही व्यापते, जिथे प्रशासकाला कदाचित OpenVPN बोगद्यातून पोहोचायचे असेल। हेतू केवळ राउटिंग तक्त्यात आहे, आणि धोरण डेटाबेसला त्याची कधीही माहिती झाली नाही।
हे दोन मेट्रिकांमधील स्पर्धा नाही, तर संरचित दोन संरक्षण मार्गांमधील संघर्ष माना। दुरुस्ती त्या घटकात करायची आहे जो चुकीच्या व्याप्तीसह संरचित झाला होता।
कर्नल प्रत्यक्षात निवडतो तो मार्ग वाचा
कर्नल जी शोध करतो त्यापासून सुरुवात करा, स्रोत पत्ता आणि तो दुसऱ्या तक्त्यात वळवू शकणारा कोणताही धोरण नियम यासह। मुख्य तक्त्यातील मार्ग कधीही पाहिला जाऊ नये जर आधीचा नियम दुसरे तक्ते निवडत असेल, आणि सर्वात लांब प्रीफिक्सची जुळणी नियम निवडतो त्या तक्त्याच्या आतच लागू होते।
ip rule show
ip route show table all
ip route get 172.20.8.20 from 10.44.7.15
शेवटचा आदेश महत्त्वाचा आहे, कारण तो निवडलेला मार्ग आणि कर्नल वापरेल तो स्रोत पत्ता एकत्र छापतो। तो आउटपुट IPsec धोरण जुळणाऱ्या निवडकाशी तुलना करा। मार्ग OpenVPN इंटरफेसकडे दाखवत असेल आणि धोरण अजूनही त्याच जोडीशी जुळत असेल, तर तुम्ही अंदाज न लावता संघर्ष पुन्हा निर्माण केला आहे।
तिकीटापर्यंत पोहोचण्यापूर्वी डंप असंबंधित पत्त्यांपासून मुक्त ठेवा। उत्पादन होस्टचा राउटिंग तक्ता अंतर्गत टोपोलॉजी घेऊन येतो, आणि प्रश्नाचे उत्तर देणाऱ्या ओळीच पेस्ट करण्यासारख्या आहेत।
लागू होणारे धोरणही वाचा
धोरण यादी दिशा, निवडक आणि जुळणाऱ्या पॅकेटला काय होते हे ठरवणारा नमुना दाखवते। आधी बाहेर जाणारी दिशा वाचा, नंतर परत येणाऱ्या रहदारीसाठी आत येणारी बाजू, कारण एकमार्गी अपवाद सुरू होऊन कधीही पूर्ण न होणारे जोडणी निर्माण करतो।
ip -s xfrm policy
swanctl --list-sas
यादीतील निवडकांची जोडणीने वाटाघाटी केलेल्या प्रीफिक्सांशी तुलना करा। strongSwan ची मार्ग स्थापना बंद केल्याने ती धोरणे काढली जात नाहीत, आणि मेट्रिक बदलल्याने धोरण कोणत्या स्रोत-गंतव्य जोडीचे संरक्षण करते हे बदलत नाही। हे दोन खोटे उपाय लवकर वगळण्यासारखे आहेत, कारण लोक प्रथम तेच करून पाहतात।
जर यादीत तुम्ही अपेक्षित प्रीफिक्ससाठी धोरण नसेल, तर समस्या दुसरीकडे आहे आणि राउटिंग तक्ता कदाचित खरे सांगत आहे। जर त्यात प्रीफिक्स व्यापणारे अधिक रुंद धोरण असेल, तर तुम्हाला ते पकडणे सापडले आहे।
दोन्ही मार्ग वैध असताना तीन पर्याय
रुंद प्रीफिक्स आवश्यकतेऐवजी सोयीचे होते तेव्हा IPsec निवडक अरुंद करणे हा सर्वात स्वच्छ पर्याय आहे। दूरच्या रहदारीचा निवडक खरोखर IPsec मागे असलेल्या सबनेटपर्यंत कमी केल्याने एकाच वेळी प्रत्येक होस्टसाठी संघर्ष दूर होतो, आणि त्याचा खर्च नवीन घटक नाही तर की पुनर्वाटाघाटी आहे।
रुंद निवडक राहणे आवश्यक असताना पासथ्रू अपवाद हा शस्त्रक्रियेसारखा पर्याय आहे। strongSwan अशा वेगळ्या जोडणीला समर्थन देतो जिचे child pass मोड वापरते, जे कर्नलला सांगते की जुळणारी रहदारी IPsec ने प्रक्रिया करू नये। लूपबॅक दूरचा पत्ता त्या जोडणीला येणाऱ्या समकक्षांसाठी निवडले जाण्यापासून रोखतो, आणि निवडकांनी सर्व काही नाही तर खरी अधिकृत जोडी वर्णन करावी।
connections {
openvpn-exception {
remote_addrs = 127.0.0.1
children {
openvpn-exception {
local_ts = 10.44.7.0/24
remote_ts = 172.20.8.0/24
mode = pass
start_action = trap
}
}
}
}
strongSwan संरचना उदाहरणे या धोरण प्रकाराचे आणि लूपबॅक समकक्ष परंपरेचे दस्तऐवजीकरण करतात। तिसरा पर्याय XFRM इंटरफेससह मार्ग-आधारित रचना आहे, जो धोरणाला जागतिक निवडकाऐवजी नामांकित इंटरफेसातून राउट होणाऱ्या रहदारीशी जोडतो। हे ट्वीक नाही, स्थलांतर आहे, आणि रहदारीने अजूनही वाटाघाटी केलेल्या निवडकांचे पालन करावे।
| Option | Use it when | Cost |
|---|---|---|
| Narrow the selector | The broad prefix was convenience | A rekey and a policy review |
| Passthrough child | The broad selector must stay | One exception per intended pair |
| XFRM interface | Policy should follow routing | A design migration |
उर्वरित कमकुवत न करता अपवाद सिद्ध करा
बदल लोड केल्यानंतर अपवाद आणि संरक्षित राहिले पाहिजे असे सामान्य गंतव्य तपासा। दोन्ही दिशा तपासा, नंतर OpenVPN बोगदा खाली करा आणि अपवादित रहदारीचे काय होते ते सुनिश्चित करा। बोगदा बंद असताना तो प्रीफिक्स गुपचूप उघडपणे पाठवणारा अपवाद हा घटनेच्या वेळी शोधायचा विषय नाही, जाणीवपूर्वक घ्यायचा धोरण निर्णय आहे।
कोणता प्रीफिक्स कोणता मार्ग वापरतो आणि का ते नोंदवा। अन्यथा रुंद निवडक पाहणारा पुढील अभियंता तीच चौकशी पुन्हा उघडेल, आणि उत्तर कोणीही न वाचणाऱ्या commit संदेशात राहील।