strongSwan कॉन्फिगरेशनमध्ये कनेक्शन सूचीबद्ध करणे फक्त हे सिद्ध करते की परिभाषा लोड झाली। याचा अर्थ असा नाही की सोबत्याशी संपर्क साधला गेला, IKE SA अस्तित्वात आहे किंवा कोणताही रहदारी संरक्षित आहे। डेमन परिभाषा आणि जिवंत सहयोग वेगळ्या वस्तू म्हणून पाहते, आणि त्यांच्यातील अंतर हा जाणीवपूर्वक केलेला रचना निर्णय आहे। कोणती वस्तू तपासत आहात हे माहीत असणे अस्पष्ट बिघाडाचे पुढील ठोस आदेशात रूपांतर करते।

लोड करणे म्हणजे जोडणे नाही

लोड केलेले कनेक्शन हे पुढे कशावर बोलणी होऊ शकते याचे विधान आहे: सोबत्याचे पत्ते, परिचयपत्रे, प्रस्ताव आणि रहदारी निवडक। या विधानात डेमनने कोणाला फोन केला असावा अशी मागणी करणारे काहीही नाही। गेटवे दुसऱ्या बाजूची वाट पाहू शकतो, सुरुवातीला स्वतः पुढाकार घेऊ शकतो किंवा योग्य रहदारी जागी होण्याची वाट पाहू शकतो। तिन्ही वैध आहेत, आणि तिन्ही कॉन्फिगरेशन फाइलमध्ये सुरुवातीचे धोरण वाचेपर्यंत सारखीच दिसतात।

परिभाषांची यादी स्थितीची यादी म्हणून वाचल्यामुळे ऑपरेटर अडचणीत येतात। प्रोफाइल आहे, म्हणून टनेल सक्रिय मानली जाते, आणि पुढचा तास कधीही तयार न झालेल्या सहयोगाच्या मार्गांच्या दोषनिवारणात जातो।

उलटी चूकही तितकीच सामान्य आहे। गहाळ प्रोफाइल लोकांना नेटवर्क बिघाड शोधायला पाठवते, तर कॉन्फिगरेशन कधीही लोड झालेले नसते। वस्तूला नाव द्या आणि नंतर ती पाहणारा आदेश चालवा।

तीन वस्तू, तीन निरीक्षणे

strongSwan लोड केलेली परिभाषा, IKE SA आणि CHILD SA ठेवते। पहिली कॉन्फिगरेशन आहे, दुसरी प्रमाणित नियंत्रण संबंध आहे आणि तिसरी निवडलेल्या रहदारीसाठी ठरलेली संरक्षण आहे। त्यांना वेगळी नावेही आहेत, म्हणून hq नावाचे प्रोफाइल hq-lan नावाचे child बाळगू शकते।

तक्ता प्रत्येक स्तराला तो दाखवणाऱ्या आदेशाशी जोडतो। लॉग वाचण्यापूर्वी ओळ वाचा।

LayerWhat it containsCommand
DefinitionPeer addresses, credentials, proposals, and traffic selectorsswanctl --list-conns
IKE SAOne authenticated control channel to the peerswanctl --list-sas
CHILD SAKeys and selectors for the traffic being protectedChild rows under the IKE SA

child मागणे प्रथम त्याचे जनक IKE SA तयार करते जेव्हा काहीच नसते। फक्त IKE SA मागणे हे दुसरे कॉल आहे। योग्य प्रमाणीकरण करणारा नियंत्रण चॅनेल मागितलेल्या child ची हमी देत नाही।

हा फरक अंशतः बिघाडाच्या वेळी महत्त्वाचा असतो। IKE SA निरोगी असू शकते तर child निवडकाच्या विसंगतीमुळे किंवा सोबत्याला मान्य नसलेल्या प्रस्तावामुळे अपयशी ठरते। दोन्ही वस्तू वेगवेगळ्या कारणांनी अपयशी ठरतात, म्हणून त्या वेगळ्या निरीक्षणांना पात्र आहेत।

सुरुवातीची क्रिया जाणीवपूर्वक निवडा

swanctl.conf मध्ये child चे start_action लोड झाल्यानंतरचे वर्तन ठरवते। डीफॉल्ट none परिभाषा हाताने सुरू करण्यासाठी किंवा responder म्हणून वापरण्यासाठी सोडते। start तिला डायल करते, तर trap असे धोरण सोडते जे योग्य रहदारी दिसताच बोलणी करते।

म्हणून «लोड करणे कधीही टनेल सुरू करत नाही» आणि «लोड करणे नेहमी एक सुरू करते» दोन्ही चुकीचे आहेत। क्रिया प्रोफाइलचा भाग आहे आणि तिने सोबत्याच्या भूमिकेशी जुळले पाहिजे। दोन्ही गेटवे दुसऱ्या बाजूची वाट पाहत असतील तर शांतता निर्माण होते, टनेल नाही।

trap सह रहदारी निवडकांशी जुळली पाहिजे, म्हणून असंबंधित ping काहीही जागवणार नाही। start सह सोबत्याचा पत्ता वापरण्यायोग्य असला पाहिजे आणि दोन्ही बाजूंनी प्रमाणीकरण व प्रस्तावांवर सहमती दर्शवली पाहिजे। दोन्हीपैकी कोणतीही क्रिया या अटींच्या तपासणीची जागा घेत नाही।

पुनर्प्राप्ती हे वेगळे धोरण आहे

सुरुवात keepalive नाही। मृत सोबत्याचा शोध, सोबत्याकडून स्पष्ट बंदी, किल्ल्यांचे नूतनीकरण आणि प्रक्रियेची पुन्हा सुरुवात या जीवनचक्रातील वेगवेगळ्या घटना आहेत ज्यांच्या स्वतःच्या सेटिंग्ज आहेत। प्रत्येक सुरुवातीच्या सुरुवातीने सर्व झाकेल अशी अपेक्षा न धरता ती जाणीवपूर्वक कॉन्फिगर करा।

बूटवर उठणारी आणि तासाभराने मरणारी टनेल हा पुनर्प्राप्तीचा प्रश्न आहे। सुरुवातीच्या धोरणाने आपले काम केले आणि नंतर महत्त्वाचे राहिले नाही। सुरुवातीच्या बोलणीला दोष देण्यापूर्वी DPD आणि किल्ली नूतनीकरणाच्या सेटिंग्ज पाहा।

लोड केलेल्या परिभाषा बदलणे ही स्वतंत्र क्रिया आहे। गैर-डीफॉल्ट सुरुवात धोरणांना दस्तऐवजीकृत उलट क्रिया असतात, आणि पुन्हा लोड करणे हा कार्यचालनातील बदल आहे, प्रत्येक सहयोग जागेवरच अद्ययावत झाला असे गृहीत धरणे नाही। पुन्हा लोड टप्प्याटप्प्याने करा, जिथे पुन्हा जोडणे स्वीकारार्ह आहे। नवीन सिद्ध होईपर्यंत जुने कॉन्फिगरेशन ठेवा।

मार्गनिर्देशनाचे दोषनिवारण करण्यापूर्वी काय अस्तित्वात आहे ते तपासा

तीन निरीक्षणे क्रमाने करा: लोड केलेल्या परिभाषा, सक्रिय IKE SA आणि child नोंदी। प्रत्येक उत्तर पुढील प्रश्न अरुंद करते। एक पायरी वगळा आणि शेवटी कधीही न बांधलेल्या स्तराचे दोषनिवारण कराल।

जे लोड आहे आणि जे खरोखर प्रस्थापित आहे त्यापासून सुरुवात करा:

swanctl --list-conns
swanctl --list-sas

प्रोफाइल बरोबर असताना child गहाळ असेल, तर ते नावाने सुरू करा आणि काय होते ते पाहा। आउटपुट सहसा सांगते की जनक आधी उठला का।

swanctl --initiate --child hq-lan

सक्रिय CHILD SA ही अंतिम रेषा नाही। अग्रेषण नियम, मार्ग आणि अनुप्रयोगाचे स्वतःचे प्राधिकरण अजूनही जुळले पाहिजे। जीवनचक्र सांगते कशावर बोलणी झाली; ते ठरवू शकत नाही की कोण सेवा वापरू शकतो।

संबंधित लेख