TL; DR:
- वीएम को रिबूट करना सुनिश्चित करें कि होस्ट की वीपीएन स्थिति (या तो कनेक्ट या डिस्कनेक्ट की गई है) इस बीच नहीं बदलती है;
- वर्चुअलबॉक्स NAT इंजन DNS अनुरोधों को इंटरसेप्ट करता है और उन्हें होस्ट के रिसॉल्वर को अग्रेषित करता है, जो कि सूचना को क्वेरी करने और अतिथि को वापस करने के लिए होस्ट के DNS एपीआई का उपयोग करना है। आप इसे इसके द्वारा सेट करते हैं:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
वीपीएन से जुड़े होस्ट में वीएम चलाने से वीपीएन स्थिति में बदलाव के कारण हर बार DNS समस्याएं हो सकती हैं। दो परिदृश्य हैं:
- वीपीएन एक वीपीएन-कनेक्टेड होस्ट में स्पॉन है और एक निश्चित बिंदु पर वीपीएन डिस्कनेक्ट करता है;
- वीएम एक गैर-वीपीएन-कनेक्टेड होस्ट में स्पॉन है और एक निश्चित बिंदु पर वीपीएन कनेक्ट होता है
1) वीपीएन-कनेक्टेड -> वीपीएन-डिस्कनेक्ट किया गया
इस स्थिति में VM को संभवतः एक DNS पता प्राप्त होगा जो कि वीपीएन प्रदाता नेटवर्क का हिस्सा है। यह आमतौर पर एक आंतरिक निजी आईपी पता होगा। की सामग्री की जाँच करें cat /etc/resolv.conf
। मेरे मामले में मुझे निम्नलिखित मिले:
nameserver 10.8.8.1
<--- यह वीपीएन प्रदाता नेटवर्क के लिए आंतरिक है
nameserver 192.168.178.1
<--- यह मेरा घर-द्वार (राउटर) है
अब वीपीएन कनेक्शन से होस्ट को डिस्कनेक्ट करें:
- VMs में DNS कॉन्फ़िगरेशन परिवर्तित नहीं होता है -> VM अभी भी IP 10.8.8.1 को गंतव्य के लिए DNS अनुरोध भेज रहा है, जिसे होस्ट के रूप में नहीं पहुँचा जा सकता है क्योंकि वीपीएन से अधिक जुड़ा नहीं है
अधिक जानकारी में:
- पैकेट को VirtualBox NAT नेटवर्क, परिभाषित NATTed (होस्ट IP पते के साथ) द्वारा परिभाषित GW को भेजा जाएगा, और अंत में होस्ट की रूटिंग टेबल द्वारा नियंत्रित किया जाएगा जो इसे आपके होम-गेटवे पर अग्रेषित करेगा।
- यहां पैकेट को गिरा दिया जाएगा क्योंकि आपके होम गेटवे की LAN साइड (निजी पते) में 10.8.8.1 के लिए कोई प्रविष्टि नहीं है और इसे WAN की ओर (सार्वजनिक पते) पर निजी पते के रूप में अग्रेषित नहीं किया जा सकता है।
2) वीपीएन-डिस्कनेक्ट -> वीपीएन-कनेक्टेड
इस मामले में वीएम को वीपीएन नेटवर्क प्रदाता का हिस्सा डीएनएस पता प्राप्त नहीं होगा क्योंकि वीएम शुरू होने के बाद होस्ट वीपीएन से जुड़ा नहीं था। की सामग्री की जाँच करें cat /etc/resolv.conf
। मेरे मामले में मुझे निम्नलिखित मिले:
nameserver 192.168.178.1
<--- यह मेरा घर-द्वार (राउटर) है
अब होस्ट को वीपीएन कनेक्शन से कनेक्ट करें:
- VMs में DNS कॉन्फ़िगरेशन परिवर्तित नहीं होता है -> VM अभी भी DNS अनुरोधों को IP 192.168.178.1 पर भेज रहा है, जिस तक नहीं पहुँचा जा सकता है (पिंग यह अभी भी काम करता है) क्योंकि अब VM से DNS अनुरोध को नियंत्रित किया जा रहा है वीपीएन टैप इंटरफ़ेस जो पैकेट को वीपीएन नेटवर्क पर अग्रेषित करेगा जहां 192.168.178.1 (आपका आंतरिक होम-गेटवे आईपी पता) तक नहीं पहुंचा जा सकता है।
अधिक जानकारी में:
- पैकेट को वीपीएन टैप इंटरफेस द्वारा भेजे गए डेफ जीडब्ल्यू को वीपीएन टैप इंटरफेस पर भेजे गए डीएफ को भेजा जाएगा, जो वीपीएन नेटवर्क द्वारा होस्ट को सौंपे गए आईपी पते के साथ वीएम आईपी स्रोत पते की जगह आईपी हेडर को संशोधित करेगा। पता DNS पता 192.168.178.1 रहता है।
- यह पैकेट तब एक बाहरी IP हैडर में एनकैप्सुलेट होने वाला है, जिसमें होस्ट IP एड्रेस सोर्स के रूप में होगा (जो कि btw बाद में होम-गेटवे पर स्रोत NAT द्वारा बदल दिया जाएगा) और वीपीएन सर्वर डेस्टिनेशन एड्रेस के रूप में होगा।
- जब पैकेट वीपीएन नेटवर्क पर पहुंचता है, तो यह विघटित हो जाता है। गंतव्य IP पता अब DNS पते 192.168.178.1 पर फिर से है कि वीपीएन प्रदाता नेटवर्क तक पहुंचने का कोई रास्ता नहीं है (जब तक कि असाधारण शंका न हो जहां यह वही आईपी पता है जो आपके DNS सर्वर के लिए आपके वीपीएन नेटवर्क प्रदाता द्वारा उपयोग किया जाता है)।