धोरण नियम चिन्हांकित पॅकेट एका समर्पित तक्त्यात पाठवतो, आणि VPN मार्ग गेल्यास ते अडवले जातील अशी नेहमीची अपेक्षा असते। पण यंत्रणा दुसरेच काही करते। तक्त्यात जुळणारा मार्ग नसल्यास, शोध पुढील नियमाकडे पुढे जातो थांबण्याऐवजी, आणि main तक्त्यात अजूनही uplink साठी साधारण डीफॉल्ट मार्ग आहे। परिणाम म्हणजे fail-closed दिसणारे पण fail-open सारखे वागणारे कॉन्फिगरेशन।

काहीही तुटलेले नाही; धोरण-आधारित राउटिंग अशाच प्रकारे निर्धारित आहे।

तक्त्यात काही नसल्यास शोध चालू राहतो

100:   from all fwmark 0x36 lookup 42
110:   from all fwmark 0x36 lookup default
32766: from all lookup main

तो नियम-संच घ्या: चिन्हांकित शोध तक्ता 42 मध्ये जातो, आणि नंतरचा नियम तेच चिन्ह default नावाच्या तक्त्यात पाठवतो। तक्ता 42 मध्ये वापरण्यायोग्य डीफॉल्ट मार्ग असेपर्यंत, पहिला शोध मार्ग देतो। तो मार्ग नाहीसा होतो आणि तक्ता 42 मध्ये दुसरे काही जुळत नाही, तेव्हा शोध नाकारात बदलत नाही; प्रक्रिया पुढील नियमाकडे जाते, आणि तेही काही सापडत नाही तेव्हा main तक्त्यापर्यंत पोहोचते। त्या क्रमात काहीही कोणत्या नियमाने अंतिम उत्तर दिले असे सांगत नाही, म्हणून चालणारे कनेक्शन चालणाऱ्या धोरणासारखे दिसते।

परंपरेने default म्हणून ओळखला जाणारा तक्ता 253 हा साधारण राउटिंग तक्ता आहे आणि सहसा रिकामा असतो। त्याचे नाव पॅकेट टाकून देण्याचा आदेश नाही, आणि तो तक्त्यातील डीफॉल्ट गंतव्य मार्गासारखा नाही।

टर्मिनल क्रिया शोध संपवतात

100:   from all fwmark 0x36 lookup 42
110:   from all fwmark 0x36 prohibit
32766: from all lookup main

रिकाम्या तक्त्याच्या शोधाऐवजी VPN शोधानंतर टर्मिनल नियम येऊ शकतो। त्याच चिन्हाने, तक्ता 42 च्या नियमानंतर ठेवलेली prohibit क्रिया त्या तक्त्यातून काही मिळत नाही तेव्हा शोध संपवते आणि main तक्त्याला अजून एक संधी देण्याऐवजी प्रशासकीय नकार परत करते। Unreachable आणि blackhole देखील टर्मिनल आहेत, प्रेषकासाठी वेगळ्या त्रुटी वर्तनासह।

throw प्रकारचा मार्ग वेगळा आहे: त्या तक्त्यात तो काहीच जुळले नाही असे वागतो, म्हणून नंतरच्या नियमांना अजूनही त्यांची पाळी मिळते। यामुळे throw हेतुपुरस्सर माघारीसाठी उपयुक्त आणि अंतिम ब्लॉक म्हणून चुकीचा ठरतो।

खऱ्या चिन्ह आणि इंटरफेसने पडताळा

ip -4 rule show
ip -4 route show table 42
ip -4 route get 198.51.100.20 from 10.44.0.2 iif lan0 mark 0x36

आकृतीऐवजी खरे नियम आणि तक्ता पाहा, नंतर प्रवाहाला त्याच्या खऱ्या स्रोत, चिन्ह आणि प्रवेश संदर्भासह विचारा। गंतव्याकडे निर्देशित, स्रोत पत्ता, इंटरफेस आणि चिन्ह दिलेला फक्त-वाचन शोध पॅकेट न बाहेर पडता कर्नेल निवडेल तो मार्ग सांगतो। क्वेरीत चिन्ह देणे हे firewall खऱ्या रहदारीवर चिन्ह लावते याचा पुरावा नाही; ती चिन्ह लावण्याच्या नियमांची स्वतंत्र तपासणी आहे। क्वेरीवरून निष्कर्ष काढण्यापूर्वी काउंटर किंवा लॉगने मूल्य पुष्टी करा।

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

दोन अयशस्वी अवस्था, एक नाही

एक अयशस्वी अवस्था म्हणजे VPN मार्ग नाहीसा होणे आणि रहदारी uplink वर पडणे। मार्ग स्थापित राहिलेली मृत बोगदा ही दुसरी अवस्था आहे: पॅकेट पडण्याऐवजी निरुपयोगी मार्गात निर्देशित राहतात, आणि लक्षण दिसणारे थेट कनेक्शन नाही तर शांत नुकसान आहे। दोन्ही तपासा, आणि स्टार्टअप, पुन्हा कनेक्शन तसेच सेवा-थांबवणे वर्तनही तपासा।

असा नियम फक्त तो अस्तित्वात असेपर्यंत आणि पॅकेट अजूनही त्याला निवडणारे चिन्ह घेत असतानाच मदत करतो। नियम हटवणारी शटडाउन स्क्रिप्ट, किंवा चिन्ह काढून टाकणारा मार्ग, खुले वर्तन पुनर्संचयित करतो। ते संक्रमण सराव करण्यासारखे आहेत।

धोरण IPv6 वर स्वतंत्रपणे लागू करा, आणि मंजूर केलेले एंडपॉइंट अपवाद अंतर्निहित नाही तर स्पष्ट ठेवा।

संबंधित लेख