विशिष्ट IP पोर्ट को अचानक डिस्कनेक्ट करने के बाद OpenVPN को कैसे पुन: कनेक्ट करें


1

मेरे पास ओपनवीपीएन स्थानीय पोर्ट (127.0.0.1:2727) के साथ विशिष्ट एप्लिकेशन (ए) से जुड़ा है। यह (ए) मेरे मुख्य नेटवर्क से जुड़ा है।

लेकिन हर बार जब वीपीएन डिस्कनेक्ट हो जाता है, तो इसे फिर से (ए) से कनेक्ट नहीं किया जा सकता क्योंकि ए (वी) वीपीएन के आईपी से जुड़ा होता है।

किसी भी विचार कैसे इस समस्या को हल करने के लिए? मैं वीपीएन डिस्कनेक्ट होने के बाद विशिष्ट नेटवर्क (मेरा मुख्य नेटवर्क) से जुड़ा (ए) बनाना चाहता हूं। मैंने ForceBindIP का उपयोग करने की कोशिश की है, लेकिन काम नहीं कर रहा है।


क्या आप redirect-gateway def1अपने OpenVPN कॉन्फिगर में कुछ प्रयोग कर रहे हैं ? तब आपको बाईपास मार्ग की आवश्यकता होती है, क्योंकि OpenVPN से कनेक्ट होने पर यह ठीक से काम नहीं करेगा localhost
डैनियल बी

हाँ, मैं अपने विन्यास में पुनर्निर्देशन-गेटवे def1 का उपयोग करता हूँ, क्या मुझे इसे हटा देना चाहिए?
बिली एडेल्फिया

जो आप चाहते हैं उस पर निर्भर करता है। वर्तमान में, यह वीपीएन के माध्यम से सभी ट्रैफ़िक को रूट कर रहा है। क्या ऐसा होनेवाला है? या क्या आपको केवल विशिष्ट होस्ट या सबनेट तक पहुंचने की आवश्यकता है?
डैनियल बी

मैं बस चाहता हूं कि वीपीएन फिर से कनेक्ट होने पर लोकलहोस्ट के साथ मेरा एप्लिकेशन मेरे मुख्य नेटवर्क से कनेक्ट हो। मैं अपने वीपीएन के लिए एक प्रॉक्सी के रूप में इस एप्लिकेशन का उपयोग कर रहा हूं। लेकिन हर बार जब वीपीएन फिर से जुड़ता है, तो इसे मेरे एप्लिकेशन (ए) से दोबारा कनेक्ट नहीं किया जा सकता क्योंकि (ए) वीपीएन के आईपी का उपयोग कर रहा है ..
बिली एडेल्फिया

हां, आपने पहले ही कहा था। फिर से: क्या आप वास्तव में वीपीएन के माध्यम से सभी ट्रैफ़िक को रूट करना चाहते हैं?
डैनियल बी

जवाबों:


1

tl; dr : मिस्ट्री प्रोग्राम के रिमोट होस्ट ( /32) में स्पष्ट मार्ग जोड़ें ।

मैंने ओपनवीपीएन मैनुअल को देखा , लेकिन यह स्पष्ट नहीं है कि क्या यह मूल रूप से (इसके माध्यम से --route) कर सकता है। सुरक्षित होने के लिए, के साथ स्क्रिप्ट / कार्यक्रमों का उपयोग करें --upऔर --down। यह ध्यान रखना महत्वपूर्ण है कि रूटिंग कॉन्फ़िगरेशन को संशोधित करने के लिए रूट की आवश्यकता होती है, जो आपके पास नहीं है जब यह निर्दिष्ट होने पर भी --downचल रहा --userहै।

पोर्टेबल होने के लिए, --upस्क्रिप्ट / कार्यक्रम को निम्नलिखित करने की आवश्यकता होगी, यह इस बात पर निर्भर करता है कि आपका रहस्य कार्यक्रम कैसे जोड़ता है:

  1. मिस्ट्री प्रोग्राम रिमोट आईपी एड्रेस को हल करें ( $remote_addr)
  2. गेटवे ( $gateway) को दूरस्थ आईपी पते पर निर्धारित करें - यह डिफ़ॉल्ट गेटवे हो सकता है या नहीं भी हो सकता है
  3. जैसे स्पष्ट मार्ग जोड़ें ip route add $remote_addr via $gateway

इस तरह, यह ठीक से काम करेंगे --redirect-gateway

--downको छोड़कर यह मार्ग से हटाने के लिए है स्क्रिप्ट / कार्यक्रम, लगभग एक ही प्रदर्शन करने के लिए की आवश्यकता होगी।

एक (बैश) स्क्रिप्ट लिखते समय, समस्याएं वास्तव में चरण 1 के रूप में जल्दी शुरू होती हैं। आपको केवल आईपी पते की आवश्यकता है और कुछ नहीं। कुछ इस तरह getent hostsकी चाल होगी, लेकिन यह IPv6 पतों को बहुत पसंद करता है, जो उचित हो सकता है या नहीं भी। अन्य उपकरण ( dig +shortआदि) ओएस रिज़ॉल्वर का उपयोग नहीं करते हैं, लेकिन DNS को सीधे क्वेरी करते हैं, जो कि आप नहीं चाहते हैं (सोचें /etc/hosts)।

चरण दो किसी भी ओएस ( ip route getआदि) पर अपेक्षाकृत आसान है, लेकिन विंडोज। विंडोज पर, आपको स्वयं सबसे विशिष्ट मिलान मार्ग खोजने के लिए एल्गोरिथ्म को प्रोग्राम करना होगा।

यदि आपको लगता है कि सब कुछ स्थिर है (रिमोट आईपी एड्रेस, नेक्स्ट हॉप आईपी एड्रेस), तो आप OpenVPN का भी उपयोग कर सकते हैं --route:

route 1.2.3.4 255.255.255.255 10.1.2.3

... जहां 1.2.3.4रहस्य कार्यक्रम के दूरस्थ मेजबान है और 10.1.2.3उस तक पहुंचने के लिए अगले रूटिंग हॉप है।


एक अन्य समाधान का उपयोग नहीं करना है --persist-tun, जिसका अर्थ है कि वीपीएन नेटवर्क इंटरफ़ेस पूरी तरह से बंद हो जाएगा जब ओपन वीपीएन अपना कनेक्शन खो देता है। हालांकि इसका बहुत गंभीर प्रभाव है: जैसे ही कनेक्शन बाधित होता है, ट्रैफ़िक लीक हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.