यो रनबुकले प्रोक्सी-जानकार अनुप्रयोगलाई VPN सर्भर वा इन्टरनेटमा कुनै प्रोक्सी पोर्ट प्रकाशित नगरी विद्यमान WireGuard मार्गमा पहुँच दिन्छ। 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 मार्ग यसको मालिकलाई छोड्नुहोस्।

सम्बन्धित लेखहरू