TPROXY पैकेट को सॉकेट तक ट्रेस करना
प्राप्त करने वाले सॉकेट, पैकेट मार्क और स्थानीय नीति-मार्ग को एक पारदर्शी प्रॉक्सी डिलीवरी पथ के रूप में जाँचें।
TPROXY काउंटर बढ़ सकता है जबकि एप्लिकेशन को कुछ नहीं मिलता। नियम मेल खा गया, लेकिन स्थानीय डिलीवरी अभी भी नीति-रूटिंग और एक अनुकूल प्राप्तकर्ता सॉकेट पर निर्भर है।
Linux TPROXY, DNAT की तरह गंतव्य को फिर से लिखे बिना ट्रैफ़िक को रोक सकता है। इसलिए गैर-स्थानीय गंतव्य को संबोधित पैकेटों को उपयुक्त स्थानीय सॉकेट तक पहुँचना ही होगा।
डिलीवरी पथ का अनुसरण करें
- ट्रैफ़िक इच्छित इंटरफ़ेस और पता-परिवार पर अवरोधन होस्ट तक पहुँचता है।
- अवरोधन नियम और पैकेट मार्क स्थानीय-डिलीवरी नीति की पहचान करते हैं।
- मेल खाता नीति नियम ऐसा मार्ग चुनता है जो पैकेटों को स्थानीय रूप से पहुँचाता है।
- प्रॉक्सी आवश्यक सॉकेट विकल्प के साथ समर्थित पारदर्शी श्रोता का उपयोग करता है।
कर्नेल का IPv4 उदाहरण IP_TRANSPARENT के लिए एप्लिकेशन समर्थन मांगता है। उसी पोर्ट पर सामान्य श्रोता, या वैश्विक गैर-स्थानीय बाइंड सेटिंग, वह समर्थन सिद्ध नहीं करती।
| अवलोकन | अगली जाँच |
|---|---|
| कोई प्रासंगिक इनग्रेस पैकेट नहीं | ट्रैफ़िक पथ और इनपुट इंटरफ़ेस |
| पैकेट आते हैं; अवरोधन काउंटर स्थिर रहता है | पता-परिवार, चेन और मेल की शर्तें |
| नियम मेल खाता है; स्थानीय डिलीवरी विफल | मार्क और नीति-मार्ग का चयन |
| सॉकेट सुनता है; एप्लिकेशन कुछ नहीं देखता | पारदर्शी सॉकेट क्षमता और श्रोता का स्वामी |
| अनुरोध शुरू होता है; बाद के उत्तर विफल | स्थापित-सॉकेट मेल और वापसी मार्ग |
प्रत्येक अवलोकन के साथ लोड किया गया कॉन्फ़िगरेशन और नेटवर्क नेमस्पेस रखें। बाद का नियम मार्क को अधिलेखित कर सकता है या दूसरा मार्ग चुन सकता है। यदि श्रोता कंटेनर में चलता है और अवरोधन होस्ट पर होता है, तो मान्य होस्ट-स्थानीय मार्ग स्वतः उस कंटेनर में नहीं पहुँचाता।
बाद के पैकेटों का हिसाब रखें
कर्नेल उदाहरण में सॉकेट मेल और एक DIVERT पथ है जो पारदर्शी सॉकेटों के पैकेटों को चिह्नित करता है। इसे छोड़ने पर बाद का ट्रैफ़िक दूसरे पथ पर रह सकता है, भले ही प्रारंभिक अवरोधन सफल हो।
एप्लिकेशन का समर्थित पारदर्शी मोड और प्रत्येक पता-परिवार के लिए संगत कर्नेल दस्तावेज़ का उपयोग करें। IPv4 स्थानीय-मार्ग आदेश IPv6 को कॉन्फ़िगर नहीं करता, और एक परिवार में समर्थन दूसरे के सॉकेट व्यवहार को सिद्ध नहीं करता।
TPROXY SOCKS वार्ता भी उत्पन्न नहीं करता। पारदर्शी-से-SOCKS घटक को अभी भी गंतव्य खोजना और अपने अपस्ट्रीम से वार्ता करनी होती है।
REDIRECT से आगे बढ़ना
दर्ज करें कि मौजूदा एप्लिकेशन मूल गंतव्य कैसे प्राप्त करता है। REDIRECT गंतव्य बदलता है और उपयुक्त पुनर्प्राप्ति तंत्र पर निर्भर करता है; TPROXY को अपना पारदर्शी सॉकेट और रूटिंग व्यवस्था चाहिए। एप्लिकेशन और स्रोत-पता नीति के अनुसार चुनें।
अवरोधन मोड बदलने से पहले काउंटरों को चुने गए मार्ग, सॉकेट क्षमता और एप्लिकेशन लॉग के साथ जोड़ें। आवश्यक सुविधाएँ देने वाले वितरण पर, कर्नेल को फिर से संकलित करने से बेहतर शुरुआत एक छूटा हुआ डिलीवरी चरण है।