VPN जोडला की Vagrant VM गायब होते: तुटलेला रूट कोणाचा
एक मिनिटापूर्वी उत्तर देत असलेले यंत्र जोडणीच्या क्षणी गायब होते. काहीही बदलण्यापूर्वी तुटलेला रूट कोणाचा आहे ते ठरवा.
यंत्र एक मिनिटापूर्वी उत्तर देत होते, VPN जोडला, आणि आता तोच पत्ता वेळ संपून जातो। तीन दोष हे लक्षण निर्माण करतात, आणि ते वेगवेगळ्या यंत्रांवर राहतात। होस्ट खाजगी नेटवर्ककडे जाणारा रूट गमावू शकतो, पाहुण्याची NAT श्रेणी आता बोगदा जाहीर करत असलेल्या श्रेणीशी टकरीऊ शकते, किंवा संपूर्ण बोगदा होस्टवरील प्रत्येक रूटची मालकी घेऊ शकतो। कोणते घडले हे कोणतीही रचना बदलण्यापूर्वी शोधा, कारण प्रत्येक दुरुस्ती वेगळ्या ठिकाणी राहते।
रूट पहा, यंत्र नाही
बोगदा सुरू असताना पाहुण्याच्या पत्त्यासाठी होस्टचा राउटिंग निर्णय पहा। अजूनही फक्त-होस्ट अडॅप्टरकडे दाखवणारा रूट समस्या नाही। आता VPN अडॅप्टरकडे दाखवणारा रूट समस्या आहे, आणि तो तुम्ही नाही, क्लायंटने बदलला। अडॅप्टरने आपला पत्ता टिकवणे म्हणजे इंटरफेस टिकला, हे मार्ग टिकल्यापेक्षा वेगळी गोष्ट आहे।
जोडणीच्या नेमक्या क्षणी पडणारे SSH सत्र अपेक्षित वर्तन आहे। क्लायंट अडॅप्टर पुनर्वापर करतो आणि रूट बसवतो, त्यामुळे जोडणी काही सेकंद मरते। दोष म्हणजे कधीही परत न येणारी जोडणी, क्षणभर चमकलेली नाही।
बोगद्यापूर्वी तक्ता पकडा आणि नंतर पुन्हा, नंतर त्या दोन आउटपुटची तुलना करा। फरक हेच निदान आहे, आणि तोच नेटवर्क मालक मागणार असलेला पुरावा आहे।
ip -4 route get 192.168.56.10
ip -brief addr show
ip route show table main | head -20जोडणीपूर्वी आणि नंतर होस्टचा तक्ता वाचा
लिनक्समध्ये ओव्हरलॅप होणाऱ्या रूटमधील प्राधान्य प्रीफिक्स लांबी आणि मेट्रिकमधून येते, त्यामुळे अधिक विशिष्ट VPN रूट चुकीचा असला तरी जिंकतो। विंडोजमध्ये इंटरफेस मेट्रिक बरोबरी ठरवते, आणि बोगद्याचा अडॅप्टर सामान्यतः व्हर्च्युअलपेक्षा कमी मेट्रिकसह येतो। दोन्ही प्रकरणांत दिसणारे लक्षण सारखेच: पॅकेट बोगद्याच्या अडॅप्टरमधून बाहेर पडतात आणि गायब होतात।
पाहुण्याच्या प्रीफिक्सच्या रूटच्या शेजारी अडॅप्टर आणि त्यांचे मेट्रिक छापा। ती आउटपुट जोडी मालकीच्या प्रश्नाचे उत्तर एका दृष्टीक्षेपात देते।
Get-NetAdapter | Select-Object Name, InterfaceIndex, InterfaceMetric
Get-NetRoute -DestinationPrefix 192.168.56.0/24
route print -4 | Select-String '192.168.56'रूट बदलला पण अडॅप्टरचे मेट्रिक बदलले नाही, तर क्लायंटने स्पर्धक रूट बसवला। मेट्रिक बदलले, तर क्लायंटने अडॅप्टरची क्रमवारी बदलली। दोन्ही दुरुस्त करता येतात, आणि दोन्ही वेगवेगळ्या ठिकाणी दुरुस्त होतात।
जेव्हा पाहुण्याची NAT श्रेणीच टक्कर असते
VirtualBox NAT डीफॉल्टने 10.0.2.0/24 वापरते, आणि तीच श्रेणी ढकलणारा बोगदा पाहुण्याला तो रहदारी खऱ्या गंतव्याकडे नाही तर आपल्या NAT गेटवेकडे पाठवायला भाग पाडतो। पॅकेट कधीच होस्ट सोडत नाही, त्यामुळे पलीकडचा कोणताही फायरवॉल लॉग ते दाखवणार नाही। Docker Machine च्या फक्त-होस्ट योजनेतही त्याच वर्गाचा संघर्ष आहे, आणि ती योजना बदलण्यासाठी यंत्र त्याच्या प्रमाणपत्रांसह पुन्हा तयार करावे लागू शकते।
बोगदा आधीच काय जाहीर करतो, नंतर कार्यालयीन नेटवर्क काय वापरते, नंतर या होस्टवरील प्रत्येक व्हर्च्युअल अडॅप्टरने काय दावा केला हे सूचीबद्ध करून बदली निवडा। राउटिंग तोडणारे ओव्हरलॅप आहे, आणि साम्य अप्रस्तुत आहे। एक श्रेणी दुसऱ्याच्या पूर्ण आत बसू शकते, पण पहिल्या दृष्टीक्षेपात अजिबात मिळत नाही।
यंत्र तयार होताना नवीन श्रेणी ठरवा, किंवा ती बदलून पुन्हा लोड करा, नंतर पाहुण्याकडून अयशस्वी जोडणी पुन्हा तपासा। पाहुण्याचाच तक्ता हा महत्त्वाचा दृश्य आहे।
VBoxManage modifyvm devbox --natnet1 10.77.0.0/24
vagrant reload devbox --provision
vagrant ssh devbox -c 'ip route get 10.20.0.15'क्लायंटशी भांडण न करता मार्ग पुनर्संचयित करा
प्रत्येक प्लॅटफॉर्म फक्त-होस्ट प्रीफिक्स पुन्हा पुढे आणण्याचा मार्ग देतो। macOS मध्ये फक्त-होस्ट इंटरफेसकडे जाणारा स्थिर रूट पुढील जोडणीपर्यंत चालतो। विंडोजमध्ये व्हर्च्युअल अडॅप्टरवरील कमी इंटरफेस मेट्रिक त्याला प्राधान्यात ठेवते। लिनक्समध्ये बदली क्रिया एकच प्रीफिक्स व्यापते। तिन्ही उपाय आहेत, कारण आपले रूट पुन्हा लादणारा क्लायंट ते रद्द करेल।
बूटवर आंधळे पुनर्जोडणी करण्याऐवजी तपासणी स्क्रिप्ट करा। प्रत्येक जोडणीनंतर पाहुण्याच्या प्रीफिक्सचा रूट छापणारी छोटी स्क्रिप्ट कोडे लॉगमधील एक ओळ करते।
प्रोफाइल संपूर्ण बोगदा असल्यास, नेटवर्क मालकाकडे विभाजित बोगदा किंवा दस्तऐवजीकृत अपवाद मागा। सुरक्षा धोरण टाळणारे रूट गुपचूप जोडणे ही दुरुस्ती नाही, ती नंतर लेखापरीक्षकासह येणारी दुसरी समस्या आहे।
दुरुस्ती दोन्ही बाजूंनी तपासा
बदलानंतर तीन मार्ग पडताळा: होस्टकडून पाहुण्याकडे, पाहुण्याकडून कॉर्पोरेट होस्टकडे, आणि पाहुण्याकडून इंटरनेटकडे। एक पुनर्संचयित करून दुसरा तोडणारी दुरुस्ती म्हणजे दुरुस्तीचा वेश घेतलेला रचना बदल। तुलना समान-समान व्हावी म्हणून बदलापूर्वी गोळा केलेली तीच आउटपुट पुन्हा पकडा।
बदललेला इंटरफेस, मेट्रिक आणि रूट वेळेसह नोंदवा, पुढील घटना पुनर्बांधणी नाही तर शोध व्हावी। ती नोंद लांब तिकीट धाग्यापेक्षा जास्त मूल्याची आहे।
ip -4 route get 192.168.56.10
traceroute -n -m 4 10.20.0.15
curl -sS -o /dev/null -w '%{http_code}\n' https://example.comहोस्ट पुन्हा पाहुण्यापर्यंत पोहोचला आणि पाहुणा LAN पर्यंत पोहोचला, तर तुम्ही सुरू केलेला मार्ग पुनर्संचयित केला आहे। त्यापैकी एकच चालत असेल, तर उर्वरित दोष दुसऱ्या मालकाच्या प्रदेशात आहे, आणि फरक सांगतो की कोणता प्रदेश आहे।