यह रनबुक प्रॉक्सी-जागरूक एप्लिकेशन को मौजूदा WireGuard पथ तक पहुँच देता है, बिना VPN सर्वर या इंटरनेट पर कोई प्रॉक्सी पोर्ट प्रकाशित किए। SOCKS डेमन एप्लिकेशन इंटरफ़ेस देता है, WireGuard पहले से स्वीकृत IP पथ देता है, और इनमें से कोई भी आपकी ओर से उपयोगकर्ता को प्रमाणित नहीं करता। नीचे का हर चरण कुछ ऐसा बनाता है जिसे आप जाँच सकते हैं, और हर एक के पास वापसी का रास्ता है: इंस्टेंस रोकें, नियम हटाएँ, या एप्लिकेशन की प्रॉक्सी सेटिंग हटा दें। यहाँ कुछ भी होस्ट के डिफ़ॉल्ट मार्ग को नहीं बदलता।

उदाहरण मानता है कि Dante 1.4.x किसी विश्वसनीय Linux वर्कस्टेशन पर समर्पित, प्रबंधित इंस्टेंस के रूप में स्थापित है, और पैकेज द्वारा दिया गया सेवा खाता तथा लॉग कॉन्फ़िगरेशन अपनी जगह पर छोड़ा गया है। वर्कस्टेशन 10.77.0.2 अपने WireGuard इंटरफ़ेस पर रखता है, उस टनल से 10.60.0.20:443 तक पहुँचता है, और सेवा का उचित नाम app.corp.example है।

चरण 1: श्रोता को केवल loopback से बाँधें

नेटवर्क, विधि और नियम अनुभागों को इंस्टेंस के सक्रिय कॉन्फ़िगरेशन में रखें, उदाहरण के पते बदलकर। सभी सर्वर सेटिंग्स नियम ब्लॉकों से पहले आती हैं:

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

यह एक अंश है, पैकेज की उपयोगकर्ता और लॉग सेटिंग्स का प्रतिस्थापन नहीं। कोई अप्रयुक्त स्थानीय पोर्ट चुनें और पुष्टि करें कि इस समर्पित इंस्टेंस में कोई अन्य श्रोता, अधिक व्यापक पास नियम और अनुबंध बदल सकने वाली अपस्ट्रीम चेनिंग प्रविष्टियाँ नहीं हैं। यदि पिछली कॉन्फ़िगरेशन ने socks pass को बिना गंतव्य-सीमा के छोड़ा है, तो कुछ भी जाँचने से पहले उसे हटा दें।

इस चरण की वापसी इंस्टेंस को रोकना है; जब तक आप इसे वापस लौटाते हैं, कॉन्फ़िगरेशन फ़ाइल डिस्क पर रह सकती है।

चरण 2: दो नियम लिखें, एक नहीं

Dante का कॉन्फ़िगरेशन संदर्भ दोनों नियम प्रकारों को अलग काम देता है। क्लाइंट नियम loopback श्रोता तक कनेक्शन स्वीकार करता है, और उसका गंतव्य स्वयं श्रोता का पता है। SOCKS नियम अनुरोधित आगे के कनेक्शन को स्वीकृत होस्ट और पोर्ट तक अनुमति देता है। बेमेल अनुरोध डिफ़ॉल्ट रूप से अवरुद्ध होते हैं, इसीलिए गायब नियम टूटे मार्ग जैसा ही दिखता है।

ध्यान दें कि यह कॉन्फ़िगरेशन जानबूझकर क्या नहीं करता: यह कोई SOCKS पासवर्ड नहीं माँगता। यह विश्वसनीय स्थानीय होस्ट के लिए उपयुक्त है, और यह उपयोगकर्ता प्रमाणीकरण नहीं है। उस मशीन पर कोई अन्य प्रक्रिया भी loopback का उपयोग कर सकती है। दूरस्थ एप्लिकेशन का अपना प्रमाणीकरण बनाए रखें, और इस अप्रमाणित रूप को अविश्वसनीय स्थानीय उपयोगकर्ताओं या LAN की ओर देखने वाले श्रोता के लिए दोबारा न उपयोग करें।

चरण 3: सही स्रोत से मार्ग सत्यापित करें

external बहिर्गामी स्रोत पता चुनता है; यह WireGuard मार्ग स्थापित नहीं करता। उदाहरण के स्रोत और गंतव्य के लिए केवल-पढ़ने वाली खोज:

ip -4 route get 10.60.0.20 from 10.77.0.2

इसे Dante के वास्तविक नेटवर्क नामस्थान में चलाएँ, आपके पास खुले किसी भी शेल में नहीं। मार्ग, WireGuard साथी का चयन, दूरस्थ पक्ष की अनुमति और वापसी पथ—सबको उस स्रोत पते से मेल खाना चाहिए। सफल खोज आवश्यक है और पर्याप्त नहीं, क्योंकि यह कुछ नहीं बताती कि दूरस्थ सिरा अनुरोध स्वीकार करता है या नहीं।

खोज सफल हो इसलिए डिफ़ॉल्ट मार्ग जोड़ने के प्रलोभन का प्रतिरोध करें। प्रॉक्सी पोर्ट केवल इस वर्कस्टेशन पर मौजूद है; इसे बनाने के लिए होस्ट का डिफ़ॉल्ट मार्ग बदलना पूरे डिज़ाइन को उलट देता है।

चरण 4: इच्छित पहचान के साथ परीक्षण करें

मालिक द्वारा स्थापित कॉन्फ़िगरेशन को सत्यापित करने और सेवा प्रबंधक के माध्यम से इंस्टेंस शुरू करने के बाद, एक उदाहरण अनुरोध यह है:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

के साथ socks5h, Dante गंतव्य विवेचन करता है, लेकिन Dante इस वर्कस्टेशन पर चलता है, इसलिए सेटिंग स्वयं DNS को टनल के दूरस्थ सिरे तक नहीं भेजती. Dante जो स्वीकृत रिज़ॉल्वर उपयोग करता है, उसे उस नाम के लिए अनुमत पता लौटाना होगा। खाली no-proxy सूची एक विरासत में मिले अपवाद को चुपचाप SOCKS को दरकिनार करने से रोकती है।

परीक्षण में HTTPS होस्टनाम और प्रमाणपत्र सत्यापन बनाए रखें, फिर वास्तविक श्रोता का निरीक्षण करें और अनुबंध के दोनों आधों की पुष्टि करें: अनुमत अनुरोध सफल होता है और बहिष्कृत गंतव्य विफल होता है। यह भी सत्यापित करें कि असमर्थित फ़ॉरवर्डिंग कमांड अस्वीकृत रहते हैं, क्योंकि यह अंश TCP पर SOCKS CONNECT कमांड की अनुमति देता है और सामान्य UDP या पूरे डिवाइस की टनल जैसा कुछ नहीं।

चरण 5: तय करें कि टनल गिरने पर क्या होगा

इसे उत्पादन कहने से पहले टनल-हानि और इंस्टेंस पुनःआरंभ का परीक्षण करें। जो सुपरवाइज़र WireGuard के बाद Dante शुरू करता है, वह fail-closed रूटिंग नहीं बनाता, और fail-closed DNS भी नहीं बनाता; दोनों को नेटवर्क मालिक के माध्यम से लागू करना होगा। देखें कि टनल डाउन होने पर एप्लिकेशन क्या करता है: स्पष्ट त्रुटि अच्छा परिणाम है, सार्वजनिक रिज़ॉल्वर पर चुपचाप गिरना नहीं।

यदि बद्ध टनल पता बदलता है तो अद्यतनों का समन्वय करें, क्योंकि external उस पर पिन है। जब इस व्यवस्था की आवश्यकता न रहे, तो इस इंस्टेंस और एप्लिकेशन की प्रॉक्सी सेटिंग को साथ में सेवानिवृत्त करें, और WireGuard पथ उसके मालिक को छोड़ दें।

संबंधित लेख