वीपीएन के माध्यम से एक दूरस्थ सर्वर से कनेक्ट करना जब स्थानीय नेटवर्क सबनेट पता एक दूरस्थ नेटवर्क के साथ संघर्ष करता है


35

यह एक वीपीएन क्लाइंट के स्थानीय नेटवर्क और इसके बीच से वीपीएन लिंक के बीच IPv4 सबनेट टकराव को हल करने के बारे में एक कैननिकल प्रश्न है।

OpenVPN के माध्यम से एक दूरस्थ स्थान से कनेक्ट करने के बाद, क्लाइंट 192.0.2.0/24 जैसे सबनेट पर मौजूद नेटवर्क पर एक सर्वर तक पहुंचने का प्रयास करते हैं। हालांकि, कभी-कभी, क्लाइंट के लैन पर नेटवर्क का एक ही सबनेट पता होता है: 192.0.2.0/24। इस संघर्ष के कारण ग्राहक इसके IP में टाइपिंग के माध्यम से दूरस्थ सर्वर से कनेक्ट नहीं हो पा रहे हैं। वे वीपीएन से जुड़े रहते हुए भी सार्वजनिक इंटरनेट तक पहुंचने में असमर्थ हैं।

समस्या यह है कि इस सबनेट 192.0.2.0/24 को वीपीएन द्वारा रूट किया जाना आवश्यक है, लेकिन इसे क्लाइंट के लैन के रूप में भी रूट करना होगा।

किसी को भी इस मुद्दे को कम करने के लिए कैसे पता है? मेरे पास OpenVPN सर्वर तक पहुंच है।


3
आप जिस होस्ट तक पहुँचने और अपने गेटवे के रूप में वीपीएन पीयर का उपयोग करने की कोशिश कर रहे हैं उसके 32 पते के लिए एक स्थिर मार्ग सेट करने का प्रयास कर सकते हैं और देखें कि क्या होता है।
SpacemanSpiff

यदि vpn सांद्रक ग्राहक मार्गों का सम्मान करता है, तो आपकी परिधि सुरक्षा को कुछ मदद की आवश्यकता हो सकती है। मुझे अकाउंटिंग लेन की सुविधा मिलती है, इंजीनियरिंग रेंज में रास्ता जोड़ते हैं, और फिर मैं कोई समस्या नहीं जोड़ सकता। गंदे फ़ायरवॉल जैसे sonicwall ऐसा करते हैं
nandoP

@SpacemanSpiff: जबकि यह क्लाइंट की ओर से समस्या को हल कर सकता है , सर्वर अभी भी उत्तर देने में असमर्थ होगा, क्योंकि यह कनेक्शन को अपने नेटवर्क से आता है, न कि किसी वीपीएन क्लाइंट से।
मैसिमो

जवाबों:


18

NAT का उपयोग करके इसे हल करना संभव है; यह बहुत सुरुचिपूर्ण नहीं है।

इस धारणा के तहत आप इसे आंतरिक जालों के द्वारा हल नहीं कर सकते हैं जिनके पास इतने असामान्य नेटवर्क नंबर हैं जितने कि वास्तव में कभी भी विवाद में नहीं आते, यहाँ सिद्धांत है:

चूंकि दोनों स्थानीय और दूरस्थ सबनेट में समान नेटवर्क नंबर होते हैं, इसलिए आपके ग्राहक के ट्रैफ़िक को कभी भी यह एहसास नहीं होगा कि उसे अपने गंतव्य तक पहुंचने के लिए सुरंग के प्रवेश द्वार से गुजरना है। और यहां तक ​​कि अगर हम कल्पना करते हैं कि यह स्थिति दूरस्थ मेजबान के लिए भी वैसी ही होगी, जैसा कि वह जवाब भेजने के बारे में है।

इसलिए मेरे साथ रहें और दिखावा करें कि अभी तक, कोई साइड इश्यू नहीं है जैसा कि मैं लिखता हूं कि पूर्ण कनेक्टिविटी के लिए, आपको सुरंग के अंदर दोनों छोरों को एनएटी की आवश्यकता होगी ताकि मेजबानों को अलग करने और मार्ग के लिए अनुमति दें।

यहाँ कुछ जाल बनाना:

  • आपका कार्यालय नेटवर्क 192.0.2.0/24 का उपयोग करता है
  • आपका दूरस्थ कार्यालय 192.0.2.0/24 का उपयोग करता है
  • आपका कार्यालय नेटवर्क वीपीएन गेटवे 192.0.2.0/24 नैटेड नेटवर्क नंबर 198.51.100.0/24 के पीछे होस्ट करता है
  • आपका रिमोट ऑफिस नेटवर्क वीपीएन गेटवे 192.0.2.0/24 नेटेड नेटवर्क नंबर 203.0.113.0/24 के पीछे होस्ट करता है

इसलिए वीपीएन टनल के अंदर, ऑफिस होस्ट अब 198.51.100.x हैं और रिमोट ऑफिस होस्ट 203.0.14.30 हैं। चलो इसके अलावा सभी मेजबान अपने संबंधित वीपीएन गेट के एनएटी में 1: 1 मैप किए गए हैं। एक उदाहरण:

  • आपका कार्यालय नेटवर्क होस्ट 192.0.2.5.5/24, स्टेट वीपीएन गेटवे नैट में 198.51.100.5/24 के रूप में वैधानिक रूप से मैप किया गया है
  • आपका रिमोट ऑफिस नेटवर्क होस्ट 192.0.2.5.5/24 रिमोट ऑफिस vpn गेटवे NAT में 203.0.113.5/24 के रूप में स्टेटिक रूप से मैप किया गया है

इसलिए जब दूरस्थ कार्यालय में होस्ट 192.0.2.5.5/24 कार्यालय नेटवर्क में एक ही आईपी के साथ मेजबान से जुड़ना चाहता है, तो उसे गंतव्य के रूप में पते 198.51.100.5/24 का उपयोग करके ऐसा करने की आवश्यकता है। निम्नलिखित होता है:

  • दूरस्थ कार्यालय में, मेजबान 198.51.100.5 वीपीएन के माध्यम से पहुंचा और वहां रूट किया गया एक दूरस्थ गंतव्य है।
  • दूरस्थ कार्यालय में, मेजबान 192.0.2.5 को 203.0.113.5 के रूप में चिह्नित किया जाता है, क्योंकि पैकेट NAT फ़ंक्शन से गुजरता है।
  • कार्यालय में, मेजबान 198.51.100.5 का अनुवाद 192.0.2.5 को किया जाता है, क्योंकि पैकेट NAT फ़ंक्शन से गुजरता है।
  • कार्यालय में, 203.0.113.5 को होस्ट करने के लिए ट्रैफ़िक लौटाएं, रिवर्स दिशा में उसी प्रक्रिया से गुजरता है।

इसलिए जब तक कोई समाधान नहीं होता है, तब तक कई मुद्दों पर विचार किया जाना चाहिए।

  • दूरस्थ कनेक्टिविटी के लिए मर्सिडीज आईपी का उपयोग किया जाना चाहिए; डीएनएस जटिल हो जाता है। ऐसा इसलिए है क्योंकि कनेक्टिंग होस्ट से एंडपॉइंट का एक अद्वितीय आईपी पता होना चाहिए।
  • एक NAT फ़ंक्शन को वीपीएन समाधान के हिस्से के रूप में दोनों सिरों पर लागू किया जाना चाहिए।
  • स्टैटिकली मैपिंग होस्ट्स दूसरे छोर से रीचैबिलिटी के लिए जरूरी है।
  • यदि ट्रैफ़िक यूनिडायरेक्शनल है, तो केवल प्राप्त अंत में सभी शामिल मेजबानों के स्थैतिक मानचित्रण की आवश्यकता है; यदि वांछित हो तो ग्राहक गतिशील रूप से नेटेड होने के साथ दूर हो सकता है।
  • यदि ट्रैफ़िक द्विदिश है, तो दोनों सिरों को सभी शामिल मेजबानों के स्थिर मानचित्रण की आवश्यकता है।
  • विभाजित या गैर-विभाजित वीपीएन की परवाह किए बिना इंटरनेट कनेक्टिविटी को बिगड़ा नहीं होना चाहिए।
  • यदि आप 1-टू -1 मैप नहीं कर सकते हैं तो यह गड़बड़ हो जाता है; सावधान बहीखाता एक आवश्यकता है।
  • स्वाभाविक रूप से एक NAT पते का उपयोग करने का जोखिम चलाता है जो डुप्लिकेट भी हो जाता है :-)

तो इसे हल करने के लिए सावधान डिजाइन की जरूरत है। यदि आपके दूरस्थ कार्यालय में वास्तव में सड़क योद्धा शामिल हैं तो आप उसमें समस्याओं की एक परत जोड़ देते हैं:

  • जब वे नेट आईडी को ओवरलैप करने पर खत्म हो जाते हैं तो उन्हें पहले से पता नहीं होता।
  • दूरस्थ कार्यालय गेटवे NAT को उनके लैपटॉप पर लागू करने की आवश्यकता होगी।
  • कार्यालय गेटवे को दोनों परिदृश्यों को कवर करने के लिए दो वीपीएन, एक एनएटी-मुक्त और एक नेटेड की आवश्यकता होगी। अन्यथा, यदि कोई व्यक्ति NAT पद्धति के लिए चुने गए सबनेट्स में से किसी एक को चुनता है, तो चीजें काम नहीं करेंगी

अपने वीपीएन क्लाइंट के आधार पर आप स्थानीय खंड के नेटवर्क पते के आधार पर स्वचालित रूप से एक वीपीएन या दूसरे का चयन करने में सक्षम हो सकते हैं।

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

इसका अर्थ है कि किसी व्यक्ति को वीपीएन गेटवे के सार्वजनिक आईपी पते को भ्रमित नहीं करना चाहिए (और जो व्यवहार में NAT भी हो सकता है: ed, लेकिन फिर वीपीएन के माध्यम से दूरस्थ साइट के लिए परिवहन के परिप्रेक्ष्य से बाहर) अद्वितीय निजी पते के साथ उपयोग करें डुप्लिकेट निजी पतों के लिए। यदि यह अमूर्त चित्र बनाना मुश्किल है, तो इस उद्देश्य के लिए NAT को VPN गेटवे से भौतिक रूप से अलग कैसे किया जा सकता है, इसका एक चित्रण यहाँ किया गया है:
Overlapping Networks में NAT का उपयोग करना

एक मशीन के अंदर एक तार्किक पृथक्करण के लिए एक ही तस्वीर को संघनित करना, NAT और VPN गेटवे कार्यक्षमता दोनों को करने में सक्षम है, बस एक ही उदाहरण एक कदम आगे ले जा रहा है, लेकिन हाथ में सॉफ्टवेयर की क्षमताओं पर अधिक जोर देता है। OpenVPN और iptables उदाहरण के लिए एक साथ इसे हैक करना और यहां समाधान पोस्ट करना एक योग्य चुनौती होगी।

सॉफ़्टवेयरवाइज़ यह निश्चित रूप से संभव है:
PIX / ASA 7.x और बाद में: LAN-to-LAN IPsec VPN ओवरलैपिंग नेटवर्क्स कॉन्फ़िगरेशन उदाहरण के साथ
: और
डुप्लिकेट LAN सबनेट्स के साथ राउटर के बीच एक IPSec सुरंग कॉन्फ़िगर करना

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

मैंने इसे सिस्को से सीखा है जैसा कि लिंक्स द्वारा देखा गया है।


क्या NAT कई वीपीएन कनेक्शन और उनके अनुवादों के साथ भी काम कर सकता है? मुझे यहां मामला पूरी तरह से समझ में नहीं आया। मैं एक धागा यहाँ unix.stackexchange.com/q/284696/16920 के बारे में ओवरलैपिंग सबनेट यूनिक्स-वे के साथ कैसे करूं साइट-से-साइट वीपीएन के लिए?
लेओ लेपोल्ड हर्ट्ज़ '

17

यदि आपको एक या एक ज्ञात ज्ञात सर्वर ips के लिए अस्थायी गंदे वर्कअराउंड की आवश्यकता है, तो सबसे सरल समाधान स्थिर क्लाइंट साइड रूटिंग विकल्प होना चाहिए।

मेरे मामले में मैंने अपने वांछित क्लाइंट (192.168.1.100) को अपने लिनक्स क्लाइंट पर अपनी रूटिंग टेबल में जोड़ा:

route add 192.168.1.100 dev tun0

बाद में, रूट हटाए गए कमांड के साथ इस स्थिर मार्ग को हटा दें।


2
यह एक सही समाधान है, और एक भी सही समय है! :)
युवल ए

यह कब तक बनी रहती है? जब तक आप काट न लें? रिबूट तक?
कार्बोकेशन

1
मेरे लिनक्स सिस्टम पर (ubuntu / टकसाल के साथ xfce) सेटिंग्स एक vpn डिस्कनेक्ट और हाँ, एक रिबूट के बाद भी "खो" है। यदि रूट कमांड के साथ सेटिंग सक्रिय है तो आप सत्यापित कर सकते हैं (आमतौर पर तल पर ip और tun0 डिवाइस होने वाली एक प्रविष्टि होगी)
Aydin K.

मार्ग का OSX संस्करण इंटरफ़ेस को dev tun0आपकी आवश्यकता के बजाय अलग-अलग रूप से लेता है-interface tun0
सायरन

5

हाँ यह सबसे बुरा है। मेरे लिए यह होटल के कमरों से हर समय हुआ, इससे पहले कि वीपीएन को पता चला कि उन्हें अधिक अस्पष्ट आईपी रेंज का उपयोग करना चाहिए। 10.0.0.0/24 और 10.1.1.1/24 सबसे खराब हैं। अगर आप मदद कर सकते हैं यह एक वायरलेस नेटवर्क की तरह आईपी कभी नहीं।

इसलिए इसका उत्तर एक अलग आंतरिक नेटवर्क (यानी 10.255.255.0/24) का उपयोग करने के लिए वैप "फिक्स" है और फिर आपको एक अलग पट्टा (यानी एक सीमा में आईपी जो कॉर्प वीपीएन में वापस भेज सकता है) दे सकता है, या यदि आपके पास नहीं है / खिचड़ी भाषा पर व्यवस्थापक नहीं मिलता है, बस स्टारबक्स पर जाएं। या 20 मिनट का वशीकरण :)

यदि यह सिर्फ एक प्रयोगशाला सेटिंग में है, तो बस विभिन्न श्रेणियों का उपयोग करें।


डांग वास्तव में? कोई बेहतर विकल्प नहीं है?
जॉन रसेल

1
ऐसा नहीं है कि मुझे पता है .... यह हमेशा एक समस्या रही है ... ऐसा लगता है कि किसी ने मेरे जवाब को वोट दिया, लेकिन वास्तव में एक समाधान का सुझाव नहीं दिया .... हा दूत को मार डालो!
nandoP

3

मैं एक मैक पर हूँ जो एल कैपिटन चल रहा है। जबकि ऊपर दिए गए सुझाव मेरे काम नहीं आए, उन्होंने मुझे काम करने के लिए प्रेरित किया:

  1. वीपीएन शुरू करने से पहले, निष्पादित करें ifconfig
  2. वीपीएन शुरू करें, ifconfigनोट करें और नोट करें जो नया इंटरफ़ेस है। मेरे मामले में यह 192.168.42.74 के आईपी ​​पते के साथ ppp0 था

    ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        inet 192.168.42.74 --> 192.0.2.1 netmask 0xffffff00
    
  3. में टाइप करें:

    sudo route add 192.168.1.79  192.168.42.74
    

मैंने पहले एक के साथ परीक्षण किया pingऔर फिर मैंने यह साबित किया कि यह git सर्वर तक पहुँच कर काम करता है।

जब मैंने ऊपर बताए मार्ग कमांड के अंत के लिए देव ppp0 का उपयोग करने की कोशिश की , तो यह शिकायत हुई।


2
192.168.1.79इस आदान-प्रदान से क्या आ रहा है?
कार्बोकेशन

गंतव्य सर्वर जिसे आप कनेक्ट कर रहे हैं। यह सर्वर आपके वीपीएन के समान नेटवर्क में रहता है, आपका स्थानीय कनेक्शन नहीं।
कार्लो डेल मुंडो

1

मेरे पास एक सरल समाधान है जो मैं एक सह-कार्यशील स्थान पर उपयोग कर रहा हूं जिसमें एक परस्पर विरोधी आईपी रेंज (10.x) है

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

मुझे यकीन है कि यह USB के माध्यम से एक ही काम करेगा यदि आपको एक तेज़ कनेक्शन की आवश्यकता है।


1
अरे, यह वास्तव में एक बहुत चालाक समाधान है।
नाथन उस्मान

1

यदि आपको बस कुछ एक या दो आईपी पते हिट करने की आवश्यकता है, तो इस तरह से अपने ovpn कॉन्फ़िगरेशन फ़ाइल में रूट स्टेटमेंट जोड़ें:

मार्ग 192.168.1.10 255.255.255.255

मार्ग 192.168.1.11 255.255.255.255

यह सिर्फ उन आईपी के लिए एक मार्ग जोड़ देगा जब आप अपने वीपीएन को कनेक्ट करते हैं और इसे हटा दें जब वीपीएन डिस्कनेक्ट हो जाता है।

वैसे भी विंडोज पर मेरे लिए काम किया।


1

Aydin K. का उत्तर लिनक्स के लिए है। यदि आपकी विंडो के लिए समान फ़ंक्शनलिटी चाहते हैं, तो आप टाइप कर सकते हैं

route ADD 192.168.1.10 <IP of tunnel adapter>

या

route ADD 192.168.1.10 IF <interface id>

आप कमांड के साथ इंटरफेस आईडी प्राप्त कर सकते हैं:

route print

0

बस एक अनुस्मारक के रूप में: यह पूरा मुद्दा IPv4 पते की कमी के वर्षों के कारण है, और NAT के पीछे निजी आईपी रेंज का व्यापक उपयोग इस कमी को हल करने के लिए है!

इस मुद्दे का आदर्श और निश्चित समाधान काफी सीधा है (यद्यपि यह कर सकता है, और इच्छाशक्ति, विश्व स्तर पर लुढ़का हुआ होने में कुछ समय लेता है): IPv6 ...

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

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