VPN अघि Tor तयार: स्टार्टअप गेट सही क्रममा राख्नुहोस्
चलिरहेको tor प्रक्रिया क्यारियर होइन। दस्तावेजीकृत क्लाइन्ट-तयार संकेतमा VPN गेट गर्नुहोस्, त्यसपछि यसको आफ्नै पियरमा, र फलब्याक अलग राख्नुहोस्।
tor प्रक्रियालाई निगरानी गरेर त्यसपछि VPN सुरु गर्नु यो स्ट्याक गलत तरिकाले बनाउने सबैभन्दा सामान्य तरिका हो। डेमन क्लाइन्ट स्ट्रिम बोक्न सक्ने भन्दा धेरै अगाडि देखा पर्छ, र निश्चित पर्खाइ निर्भरताको रूपमा ओढिएको अनुमान मात्र हो। गेट अर्को कम्पोनेन्टलाई साँच्चै आवश्यक पर्ने अवस्था हुनुपर्छ। तलका चार चरण क्रमैसँग पूरा गर्नुहोस्, र हरेकलाई मिलाउनुपर्ने ढिलाइ नभई छुट्टै सर्त मान्नुहोस्।
चरण 1: तपाईंसँग साँच्चै भएको ट्रान्सपोर्ट छान्नुहोस्
प्रोटोकलबाट सुरु गर्नुहोस्, किनकि बाँकी डिजाइन त्यसमा निर्भर छ। Tor को SOCKS इन्टरफेसले UDP ASSOCIATE लागू गर्दैन, त्यसैले यसबाट बोकिने जे पनि TCP स्ट्रिम हुनुपर्छ। UDP प्रयोग गर्ने OpenVPN प्रोफाइल सुपरभाइजर कसरी लेखिए पनि यो बाटोबाट काम गर्दैन। प्रोफाइललाई TCP मा बदल्नुहोस् र स्टार्टअप लजिक छुनुअघि टाढाको पियरले यसलाई स्वीकार गर्छ भनी पुष्टि गर्नुहोस्।
त्यसपछि तपाईंको क्लाइन्ट कुनै SOCKS प्रोक्सीसम्म पुग्न सक्छ कि भनी पुष्टि गर्नुहोस्। OpenVPN 2.6 ले TCP प्रोफाइलका लागि socks-proxy विकल्पको दस्तावेजीकरण गर्छ, र फरक क्लाइन्टले फरक प्रोक्सी समर्थन दिन्छन्। प्रोक्सी विकल्पलाई चुपचाप बेवास्ता गर्ने लन्चर सिधै जोडिनेछ र काम गरिरहेको देखिनेछ, जुन असफल हुनुभन्दा नराम्रो हो।
छानिएको ट्रान्सपोर्ट रनबुकमा लेख्नुहोस्, किनकि प्रत्येक पछिको जाँच त्यसमा निर्भर छ।
चरण 2: प्रक्रिया सूची होइन, bootstrap चरण पढ्नुहोस्
Tor को नियन्त्रण प्रोटोकलले GETINFO status/bootstrap-phase लाई नयाँ bootstrap अवस्थासँग जवाफ दिन्छ, जसमा प्रगति प्रतिशत र सारांश ट्याग हुन्छ। त्यो जवाफ उपयोगी हुनुको कारण नियन्त्रकले डेमनले bootstrap सकिसकेपछि पनि जोडिन सक्नु हो। केवल घटनाहरू सुन्ने सुपरभाइजरले सुपरभाइजर सुरु हुनुअघि नै Tor तयार भएको अवस्था छुटाउनेछ।
नियन्त्रण जडानलाई ठीकसँग प्रमाणित गर्नुहोस्। नियन्त्रण पोर्ट प्रशासनिक इन्टरफेस हो, र जो कोही यससँग बोल्न सक्छ उसले डेमनलाई पुनः कन्फिगर गर्न सक्छ। यसलाई localhost मा राख्नुहोस्, कुकी वा पासवर्ड प्रमाणीकरण सक्रिय राख्नुहोस्, र स्टार्टअप स्क्रिप्ट सरल बनाउन दुवैमध्ये कुनै पनि नहटाउनुहोस्।
सुरुमा चरण एकपटक पढ्नुहोस्, त्यसपछि प्रत्यक्ष दृश्यका लागि प्रगति घटनाहरू सदस्यता लिनुहोस्।
printf 'AUTHENTICATE\r\nGETINFO status/bootstrap-phase\r\nQUIT\r\n' | nc 127.0.0.1 9051
ss -ltn | grep -E '9050|9051'
tor --verify-config -f /etc/tor/torrcप्रगति 100 र done ट्याग भएको जवाफको अर्थ डेमनले आफ्नै सुरुवात पूरा गरेको हो। यसको अर्थ अझै तपाईंको गन्तव्यसम्म प्रयोगयोग्य सर्किट छ भन्ने होइन।
चरण 3: क्लाइन्ट सर्किट घटनाको प्रतीक्षा गर्नुहोस्
Tor को घटना प्रोटोकलले CIRCUIT_ESTABLISHED परिभाषित गर्छ, जसले क्लाइन्टसँग प्रयोग गर्न सकिने सर्किट छ भनी रिपोर्ट गर्छ। यही त्यो तयारीको संकेत हो जो क्यारियर गेट चाहन्छ, किनकि यो प्रतिशतभन्दा तपाईंलाई आवश्यक क्षमताको नजिक छ। घटनाको सदस्यता लिनुहोस् र संक्रमण अभिलेख गर्नुहोस्, ताकि लगले प्रक्रिया कहिले देखा पर्यो होइन, क्यारियर कहिले प्रयोगयोग्य भयो भनी देखाओस्।
घटनालाई प्रयास गर्ने अनुमति मान्नुहोस्, कुनै निश्चित गन्तव्यको बारेमा ग्यारेन्टी मान्नुहोस् भन्दा होइन। एक्जिट नीतिले टाढाको पियरलाई अझै अस्वीकार गर्न सक्छ, र VPN को आफ्नै ह्यान्डसेक अझै Tor सँग कुनै सम्बन्ध नभएका कारणले असफल हुन सक्छ।
कोडमा दुवै सर्त अलग राख्नुहोस्। ready नामको एउटै बुलियनले तिनलाई मिलाएर अर्को घटनालाई अपठनीय बनाउँछ।
चरण 4: VPN लाई यसको आफ्नै ह्यान्डसेकमा गेट गर्नुहोस्
VPN सँग आफ्नै तयारी सर्त छ, र सुरुङ माथि आयो भनी प्रमाणित गर्ने त्यही मात्र हो। क्लाइन्टले तोकिएको ठेगानासहित जोडिएको अवस्था रिपोर्ट नगरेसम्म पर्खनुहोस्, त्यसपछि प्रोक्सी आवश्यकता लागू रह्यो कि भनी जाँच्नुहोस्। एक पटक असफल भएपछि socks-proxy विकल्प छोड्ने पुनःप्रयास लूपले सिधै जोडिनेछ र सम्पूर्ण डिजाइनलाई चुपचाप पराजित गर्नेछ।
पियर पहुँचयोग्य नहुँदा के हुन्छ भनी जान्नु आवश्यक हुनुअघि नै निर्णय गर्नुहोस्। देखिने असफलतासहित सीमित पुनःप्रयास असीमित लूपभन्दा चलाउन सजिलो छ, र यसले अनुगमन प्रणालीलाई सतर्क गर्न केही दिन्छ। त्यही निर्णय क्यारियरमा पनि लागू हुन्छ: Tor पुनः सुरु भएमा VPN लाई भत्काएर फेरि गेट गर्नुपर्छ, मृत सर्किटमा चल्न दिनुहुँदैन।
अन्तमा, VPN बन्द हुँदा अनुप्रयोगको आफ्नै नीति लागू राख्नुहोस्। ठीकसँग पर्खने सुपरभाइजरले असम्बन्धित प्रक्रियालाई सिधै ट्राफिक पठाउनबाट रोक्न केही गर्दैन।
तपाईंले पार गर्नुपर्ने चार संक्रमण जाँच्नुहोस्
चार अवस्थाले डिजाइन ढाक्छन्: Tor पहिले माथि आउने चिसो सुरुवात, पहिले नै तयार Tor मा जोडिने सुपरभाइजर, उपलब्ध नहुने VPN पियर, र सुरुङ माथि हुँदा क्यारियर गुम्नु। प्रत्येकको फरक अपेक्षित संक्रमण छ, र गेट ठीकसँग लेखिएको भए प्रत्येकले फरक लग लाइन उत्पादन गर्छ।
तिनलाई जानाजान, एकएक गरी चलाउनुहोस्, र प्रक्रिया सूचीको सट्टा अवस्थाका परिवर्तन पढ्नुहोस्।
journalctl -u tor@default -n 30 --no-pager
systemctl status [email protected]
curl -sS --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ipक्यारियर खाँदा VPN ले पुरानो सुरुङसँग झुन्डिरहनुको सट्टा एक पुनःप्रयास अन्तरालभित्र त्यससँगै तल झर्नुपर्छ। Tor फर्केपछि गेट प्रक्रिया सुरु भएपछि होइन, सर्किट घटनापछि मात्र फेरि खुल्नुपर्छ। प्रत्येक असफलतामा कुन सर्त छुटेको थियो अभिलेख गर्नुहोस्, र अर्को ड्युटीमा हुने व्यक्तिले समयछापबाट क्रम पुनर्निर्माण गर्नु पर्नेछैन।