मुझे ठीक वैसी ही समस्या थी, और इसे संकल्प के माध्यम से देखा, इसलिए मुझे समस्या और समाधान के बारे में विस्तार से बताते हुए खुशी हो रही है।
वीपीएन को शामिल किए बिना
वीपीएन को शामिल किए बिना आपकी आवश्यकताओं को पूरा करने के लिए आवश्यक कॉन्फ़िगरेशन को समझना महत्वपूर्ण है । साथ ही, यह जानकारी मानती है कि कोई भी सॉफ्टवेयर फ़ायरवॉल हस्तक्षेप नहीं कर रहा है, न तो मेजबान पर और न ही अतिथि पर।
वीपीएन के बिना, यह सामान्य रूप से वर्चुअल मशीन के कॉन्फ़िगरेशन में दो नेटवर्क एडेप्टर बनाकर हल किया जाता है।
पहले एडॉप्टर को NAT
मोड पर सेट किया जाना चाहिए , जो होस्ट के नेटवर्क इंटरफ़ेस के माध्यम से अतिथि को नेटवर्क संसाधनों (इंटरनेट सहित) तक पहुंचने में सक्षम बनाता है।
दूसरे एडेप्टर को सेट करना होगा Host-only
, जो मेजबान और अतिथि के बीच द्विदिश संचार को सक्षम करता है।
यह एडॉप्टर पहले की तुलना में सेटअप के लिए थोड़ा अधिक जटिल है, क्योंकि इसमें होस्ट-ओनली अडैप्टर को कॉन्फ़िगर करने के लिए वर्चुअलबॉक्स की वैश्विक नेटवर्किंग प्राथमिकताओं को संशोधित करने की आवश्यकता है (ध्यान दें: इसके लिए प्रशासक विशेषाधिकारों की आवश्यकता है)।
VirtualBox में, पर जाएं File -> Preferences -> Network
। क्लिक करें Host-only Networks
टैब और थोड़ा क्लिक करें +
एक नया अनुकूलक जोड़ने के लिए आइकन। आपको VirtualBox की अनुमतियों को बढ़ाने के लिए प्रेरित किया जाएगा।
Adapter
टैब भरना-भरना अनिवार्य है; यह कुछ इस तरह दिखना चाहिए (लेबल वाले एडेप्टर को अनदेखा करें #2
; इसका उपयोग कुछ असंबंधित के लिए किया जाता है):
DHCP
सर्वर टैब पर मान वैकल्पिक हैं। यदि आप अतिथि के नेटवर्किंग कॉन्फ़िगरेशन के भीतर इस एडेप्टर के लिए आईपी पते को हार्ड-कोड करना चाहते हैं, तो ये मूल्य अनावश्यक हैं। यदि, दूसरी ओर, आप डीएचसीपी का उपयोग करने का इरादा रखते हैं, तो मान कुछ इस तरह दिख सकते हैं:
वर्चुअलबॉक्स को कॉन्फ़िगर करने के संबंध में अंतिम चरण VM के नेटवर्क कॉन्फ़िगरेशन में वापस जाना और दूसरा एडेप्टर जोड़ना है, जो होस्ट-ओनली एडॉप्टर का संदर्भ देता है जिसे हमने अभी बनाया था:
अब, अतिथि ऑपरेटिंग सिस्टम में, इन दो नेटवर्क इंटरफेस का उपयोग करने के लिए नेटवर्क को कॉन्फ़िगर किया जाना चाहिए।
डेबियन या उबंटू जीएनयू / लिनक्स पर, कॉन्फ़िगरेशन /etc/network/interfaces
इस तरह दिखने के लिए सरल है :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# The secondary network interface
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
(शुद्धतावादी /etc/network/interfaces.d
इसके बजाय निर्देशिका का उपयोग करना पसंद कर सकता है , लेकिन यह इस स्पष्टीकरण के दायरे से परे है)
मेहमान की नेटवर्किंग सेवाओं को पुनरारंभ करें, या अधिक बस, पूरे अतिथि वीएम को पुनरारंभ करें, और सब कुछ "बस काम" करना चाहिए।
इस बिंदु पर, एक को अतिथि VM को पिंग करने में सक्षम होना चाहिए 192.168.56.101
और एक उत्तर प्राप्त करना चाहिए (बशर्ते एक सॉफ्टवेयर फ़ायरवॉल हस्तक्षेप नहीं कर रहा है)।
इसी तरह, मेजबान को पिंग करने में सक्षम होना चाहिए 10.0.2.2
। यह IP पता वर्चुअलबॉक्स के NAT कार्यान्वयन में "हार्ड-कोडित" लगता है, या कम से कम कुछ गैर-स्पष्ट कॉन्फ़िगरेशन निर्देश के माध्यम से निर्दिष्ट किया गया है, और इसके मूल के रूप में बहुत कम जानकारी उपलब्ध है। लेकिन, अफसोस, "यह सिर्फ काम करता है"।
इस कॉन्फ़िगरेशन को देखते हुए, आपके प्रश्न में उल्लिखित सभी तीन शर्तें पूरी होती हैं।
दर्ज करें: वीपीएन
लेकिन, यहाँ रगड़ना है। वीपीएन का परिचय शो-स्टॉपिंग समस्या (अच्छी तरह से, विशिष्ट वीपीएन और उसके कॉन्फ़िगरेशन पर निर्भर करता है) का कारण बनता है।
आधुनिक वीपीएन स्प्लिट टनलिंग में सक्षम हैं , जो आपके तीन आवश्यकताओं के अनुसार कार्य करने के लिए उपरोक्त वर्चुअलबॉक्स कॉन्फ़िगरेशन के लिए आवश्यक है। (अच्छे) सुरक्षा कारणों से, विभाजित टनलिंग अक्सर अक्षम होती है, और यह आपके मामले में (और मेरी) समस्या ठीक है।
जब आप वीपीएन से जुड़ते हैं, तो वीपीएन क्लाइंट (सिस्को एनीकोन्ट सिक्योर मोबिलिटी क्लाइंट, 3.1.02026, मेरे मामले में) होस्ट कंप्यूटर की राउटिंग टेबल की जांच करता है, उन्हें याद करता है, और फिर कुछ केंद्र से आने वाले मानों के साथ उन्हें प्रशस्त करता है। प्रबंधित स्थान (अर्थात, स्थानीय प्रशासक विशेषाधिकारों के साथ भी, सेटिंग्स को ओवरराइड करना असंभव है)।
आप command.exe
(विंडोज पर) खोलकर अपने लिए राउटिंग टेबल की जांच कर सकते हैं :
C:\>route print
वीपीएन से कनेक्ट करने से पहले, राउटिंग टेबल में महत्वपूर्ण प्रविष्टियां होती हैं जो इस वर्चुअलबॉक्स कॉन्फ़िगरेशन को सही ढंग से कार्य करने की अनुमति देती हैं। वीपीएन से जुड़ने से इन प्रविष्टियों को हटा दिया जाता है, जो मेजबान और अतिथि के बीच संचार को रोकता है।
(कई अन्य प्रविष्टियां हैं, जिन्हें मैंने यहां छोड़ दिया है, क्योंकि वे इस व्यवहार के मूल कारण के लिए अप्रासंगिक हैं।)
वीपीएन से कनेक्ट करने से पहले:
192.168.56.0 255.255.255.0 On-link 192.168.56.1 266
192.168.56.1 255.255.255.255 On-link 192.168.56.1 266
192.168.56.255 255.255.255.255 On-link 192.168.56.1 266
224.0.0.0 240.0.0.0 On-link 192.168.56.1 266
255.255.255.255 255.255.255.255 On-link 192.168.56.1 266
वीपीएन से जुड़ने के बाद:
192.168.56.1 255.255.255.255 On-link 192.168.56.1 266
224.0.0.0 240.0.0.0 On-link 192.168.56.1 266
255.255.255.255 255.255.255.255 On-link 192.168.56.1 266
VPN क्लाइंट निम्न पंक्तियों को हटाता है:
192.168.56.0 255.255.255.0 On-link 192.168.56.1 266
192.168.56.255 255.255.255.255 On-link 192.168.56.1 266
उन अंतिम दो प्रविष्टियों के बिना, मेजबान और अतिथि संवाद नहीं कर सकते हैं, और वीपीएन कॉन्फ़िगरेशन में विभाजित टनलिंग को अक्षम करने पर यह सटीक व्यवहार है।
आम तौर पर, ये दो आदेश उन मार्गों को बहाल करेंगे:
C:\>route ADD 192.168.56.0 MASK 255.255.255.0 192.168.56.1 METRIC 266
C:\>route ADD 192.168.56.255 MASK 255.255.255.255 192.168.56.1 METRIC 266
लेकिन वीपीएन क्लाइंट सतर्क रहता है: यह रूटिंग टेबल को संशोधित करने के प्रयासों को स्वीकार करता है। मेरा ग्राहक दूसरी प्रविष्टि की अनुमति देता है, लेकिन पहले वाला नहीं। (और यह कुछ आवधिक आधार पर दोनों को प्रशस्त कर सकता है; मैंने उसके लिए परीक्षण नहीं किया है।)
यदि आपका विशिष्ट वीपीएन और उसके परिचर विन्यास विभाजित टनलिंग को सक्षम करने की अनुमति देते हैं, तो यह आमतौर पर इस तरह स्विच-ऑन होता है:
वीपीएन से डिस्कनेक्ट करने पर, अच्छी तरह से व्यवहार किए गए वीपीएन क्लाइंट रूटिंग टेबल को पुनर्स्थापित करेंगे जो कनेक्ट करने से पहले थे। मेरा वीपीएन क्लाइंट इसे मज़बूती से करता है, जो लाभकारी है क्योंकि इसका मतलब है कि वीपीएन से कनेक्ट होने या डिस्कनेक्ट होने पर गेस्ट वीएम को पुनरारंभ करने की आवश्यकता नहीं है। ऐसे मामलों में, वीएम का द्वितीयक एडाप्टर रीसेट हो जाता है, लेकिन यह अपने आईपी पते को स्वचालित रूप से और पारदर्शी रूप से प्राप्त करता है, मेजबान और अतिथि के बीच संचार को लगभग तुरंत बहाल करता है। बेहतर अभी तक, एनएफएस मेजबान और अतिथि के बीच माउंट करता है (मैं सीआईएफएस माउंट का उपयोग कर रहा हूं) वीपीएन कनेक्ट / डिस्कनेक्ट संचालन से जुड़ा हुआ है।
इस घटना की संभावना नहीं है कि आपका वीपीएन स्प्लिट टनलिंग की अनुमति देता है, यह इसे सक्षम करने का एक साधारण मामला हो सकता है, जिस स्थिति में, मैं आपसे यह सुनना पसंद करूंगा कि "सब कुछ बस काम करता है" या नहीं।