टनल अब भी चालू, रास्ता गया: दो VPN विफलताओं को अलग करना
एक प्रीफ़िक्स तीन अलग चरणों में प्राप्त, चयनित और स्थापित हो सकता है। पहले फ़ॉरवर्डिंग तालिका पढ़ें, फिर प्रोटोकॉल तालिका, फिर घड़ियाँ।
एक होस्ट पहुँच से बाहर हो जाता है जबकि टनल इंटरफ़ेस अब भी खुद को स्थापित बताता है, और ये दो अवलोकन विरोधाभासी नहीं हैं। किसी चीज़ ने वह रास्ता हटा दिया जिसका ट्रैफ़िक उपयोग कर रहा था: किसी पड़ोसी ने अपना प्रीफ़िक्स वापस लिया, ट्रैक किया गया स्थिर रूट हटा दिया गया, या कोई दूसरा रूट पसंदीदा बन गया। सुरक्षा संबंध तीनों स्थितियों में पूरी तरह स्वस्थ रह सकता है। घटनाओं को अलग करने का अर्थ यह पूछना है कि कौन-सी परत पहले बदली, न कि यह कि VPN विफल हुआ या नहीं।
एक ही घटना जैसे दिखने वाले तीन चरण
रूटिंग निर्णय के तीन चरण होते हैं। प्रीफ़िक्स प्राप्त होता है, उसे सर्वोत्तम के रूप में चुना जाता है, और फ़ॉरवर्डिंग तालिका में स्थापित किया जाता है। प्रत्येक चरण अपने आप विफल हो सकता है, और एप्लिकेशन की ओर से विफलता एक जैसी दिखती है। जो प्रीफ़िक्स सीखा गया पर चयन हार गया, उसे उस प्रीफ़िक्स से अलग नहीं पहचाना जा सकता जो कभी आया ही नहीं, जब आप जो एकमात्र साक्ष्य देखते हैं वह फ़ॉरवर्डिंग तालिका है।
इसलिए पहला सवाल यह है कि कौन-सा चरण टूटा, न कि कौन-सा प्रोटोकॉल दोषी है। उत्तर तय करता है कि घटना का मालिक कौन है और अगली जाँच कौन-सा उपकरण उपयोग करेगी।
पहले स्थापित रूट पढ़ें
कर्नेल से पूछें कि विफल गंतव्य का ट्रैफ़िक वास्तव में कहाँ जाता है। ip route get अगली हॉप, इंटरफ़ेस और वह स्रोत पता छापता है जिसका कर्नेल उपयोग करेगा, और यह पूरी तालिका के बजाय एक गंतव्य के लिए उत्तर देता है। यदि उत्तर टनल का नाम लेता है, तो फ़ॉरवर्डिंग तालिका अब भी मानती है कि रास्ता मौजूद है और समस्या उसके ऊपर है।
ip route get 10.20.5.10
ip route show 10.20.0.0/16
«unreachable» उत्तर का अर्थ है कि कोई स्थापित रूट ही नहीं है, जो वापस लिए जाने या अनुपस्थित स्थापना की ओर संकेत करता है। भौतिक इंटरफ़ेस का नाम लेने वाला उत्तर का अर्थ है कि ट्रैफ़िक बिना किसी निर्णय के टनल से बाहर चला गया, और अगली जाँच वह प्राथमिकता है जो जीती। जबकि पैकेट अब भी गायब होते रहें और उत्तर टनल का नाम ले, तो वह रास्ते में और नीचे, फ़िल्टरिंग या दूसरी ओर की ओर संकेत करता है।
फिर प्रोटोकॉल के अपने दृश्य को देखें
एक रूटिंग डेमॉन एक से अधिक तालिकाएँ रखता है, और दिलचस्प तुलना उनके बीच की है। BGP के लिए, पड़ोसी सत्र की स्थिति, प्राप्त घोषणा और स्थापित रूट तीन अलग साक्ष्य हैं। एक प्रीफ़िक्स प्राप्त तालिका में बैठ सकता है और कर्नेल तक कभी न पहुँचे, क्योंकि कम प्रशासनिक दूरी वाला रूट जीत जाता है। यह निष्कर्ष निकालने से पहले कि दूसरे पक्ष ने घोषणा बंद कर दी, तीनों की जाँच करें।
vtysh -c "show bgp summary"
vtysh -c "show bgp ipv4 unicast 10.20.0.0/16"
सारांश बताता है कि सत्र स्थापित है या नहीं, प्रति-प्रीफ़िक्स दृश्य बताता है कि प्रीफ़िक्स स्वीकार हुआ या नहीं, और कर्नेल खोज बताती है कि वह स्थापित हुआ या नहीं। उन्हें इस क्रम में पढ़ना सत्र के कंपन को वापस लेने के साथ और वापस लेने को नीति-आधारित अस्वीकृति के साथ भ्रमित होने से रोकता है।
जब घड़ियाँ सहमत न हों
टनल लॉग, रूटिंग लॉग और एप्लिकेशन की पहली विफलता को उनके वास्तविक समय क्षेत्रों के साथ एक ही समयरेखा पर रखें। यदि पड़ोसी का नुकसान पहले आता है, तो टनल ने रूट को अपने साथ नीचे गिरा दिया। यदि वापस लेना पहले आता है, तो रूटिंग बदली और टनल ने बाद में प्रतिक्रिया दी। ये अलग-अलग मालिकों वाली अलग-अलग घटनाएँ हैं, और क्रम ही पूरी खोज है।
एक मिनट की घड़ी की छूट उस निष्कर्ष को उलटने के लिए पर्याप्त है, इसलिए क्रम पर भरोसा करने से पहले समय क्षेत्र और ऑफ़सेट की पुष्टि करें। जो उपकरण बिना ऑफ़सेट के स्थानीय समय में लॉग रखते हैं, वे आत्मविश्वासी पर गलत समयरेखा का सामान्य स्रोत हैं।
लूप के बिना पुनर्प्राप्ति
वापस लेने के बाद दो रास्ते पात्र हो सकते हैं: जिसे प्रोटोकॉल चुनता है, और जिसे आप हाथ से पिन करते हैं। केवल पहला ही ऐसा निर्णय है जो नेटवर्क आपके लिए लेता रहता है, इसलिए हाथ से बनाया रूट पुनर्प्राप्ति योजना नहीं बल्कि अस्थायी उपाय है। वैकल्पिक घोषणा भी पहले से स्थापित सत्र के लिए फ़ायरवॉल या NAT स्थिति नहीं बचाती, इसलिए नए प्रवाह काम कर सकते हैं जबकि मूल टूटा रहता है। पुष्टि करें कि कौन-सा बैकअप सक्रिय होना चाहिए और दूर की साइट उसके माध्यम से वापसी मार्ग स्वीकार करेगी या नहीं।
वापस लेने का कारण समझने से पहले स्थायी स्थिर ओवरराइड स्थापित न करें। यह शॉर्टकट ट्रैफ़िक को विफल रास्ते पर पिन कर सकता है या जानबूझकर बनाई रूटिंग नीति को चुपचाप बायपास कर सकता है, और मूल कारण को नए कॉन्फ़िगरेशन के नीचे दबा देता है। रूट बहाल होने पर एप्लिकेशन को फिर से परखें, और पुष्टि करें कि चुने गए प्रीफ़िक्स में केवल तालिका में प्रविष्टि नहीं बल्कि काम करने वाला डेटा मार्ग है।