होस्ट का VPN जुड़ने पर Hyper-V अतिथि DNS खो देता है
अतिथि VM होस्ट की सुरंग विरासत में नहीं पाता। स्विच या NAT मोड पहचानें, जहाँ उपलब्ध हो वहाँ VPN अडैप्टर साझा करें, और जहाँ न हो वहाँ पोर्ट अग्रेषित करें।
अतिथि आज सुबह ठीक था। फिर होस्ट ने Cisco AnyConnect चालू किया और VM ने DNS, डोमेन भरोसा और साझा फ़ोल्डर खो दिया, जबकि उसके अंदर कुछ नहीं बदला था। होस्ट सुरंग और अतिथि नेटवर्क अलग रास्ते हैं, और एक को जोड़ने से दूसरा नहीं हिलता। अतिथि के अंदर से बाहर की ओर काम करें, और कुछ भी बदलने से पहले जो दिखे उसे लिख लें।
अतिथि अभी भी क्या देख सकता है
VM में पता, डिफ़ॉल्ट गेटवे और रिज़ॉल्वर दर्ज करें, एक बार होस्ट के जुड़ने से पहले और एक बार बाद में। जिस अतिथि ने अपना पता बनाए रखा और केवल नाम विश्लेषण खोया, उसकी समस्या रिज़ॉल्वर की है। जिस अतिथि के पास कभी मार्ग नहीं था, उसकी समस्या मार्ग की है, और दोनों को अलग काम चाहिए। होस्ट से आप उन्हें अलग नहीं कर सकते, इसलिए पढ़ना अंदर से ही आना चाहिए।
वे तीन पाठ, दो बार लिए गए, आपकी आधार रेखा हैं। आगे का सब कुछ उन्हीं के सामने मापा जाता है।
अतिथि कौन-सा निकास इस्तेमाल कर रहा है
Hyper-V इसका उत्तर दो कमांड से देता है: Get-VMSwitch स्विच की सूची देता है, और Get-VMNetworkAdapter -VMName TestVM वह दिखाता है जिससे अतिथि जुड़ा है। Default Switch एक NAT नेटवर्क है जिसे Windows प्रबंधित करता है; बाहरी स्विच ट्रैफ़िक को भौतिक अडैप्टर को सौंपता है; आंतरिक स्विच तब तक कुछ नहीं ढोता जब तक कोई NAT या राउटर न जोड़े। VirtualBox वही तीन विचार NAT, NAT Network और bridged के रूप में प्रस्तुत करता है।
मोड तय करता है कि होस्ट सुरंग का कोई महत्व हो सकता है या नहीं। NAT अतिथि का अनुवाद WinNAT करता है और फिर होस्ट स्टैक उसे अग्रेषित करता है, इसलिए वह होस्ट की मार्ग तालिका का पालन करता है; पूर्ण-सुरंग क्लाइंट के साथ उसका ट्रैफ़िक वही ट्रैफ़िक है जो VPN अडैप्टर में प्रवेश करता है, और क्लाइंट द्वारा स्थानीय सबनेट अवरुद्ध होने पर वह गिरा दिया जाता है। बाहरी स्विच पर ब्रिज किया गया अतिथि होस्ट राउटिंग तक कभी नहीं पहुँचता: उसके फ़्रेम सीधे भौतिक NIC से निकलते हैं, इसलिए वह सुरंग और क्लाइंट की स्थानीय-LAN नीति दोनों को बायपास करता है।
होस्ट सुरंग को Hyper-V के साथ साझा करना
अगर अतिथि को सुरंग चाहिए और वह अपना क्लाइंट नहीं चला सकता, तो Windows VPN कनेक्शन साझा कर सकता है। VPN अडैप्टर के गुण खोलें, साझाकरण पर जाएँ, और अन्य नेटवर्क उपयोगकर्ताओं को इसके माध्यम से जुड़ने दें। होम नेटवर्किंग कनेक्शन को Hyper-V अडैप्टर की ओर इंगित करें, vEthernet (Default Switch), फिर अतिथि के अंदर से एक नया अनुरोध जाँचें।
इस व्यवस्था को प्रयोगशाला समाधान मानें, क्योंकि यह वैसा ही व्यवहार करती है। डिस्कनेक्ट, पुनः कनेक्ट या होस्ट रीबूट के बाद इसे फिर से लागू करना पड़ता है। कुछ Windows 11 बिल्ड में अडैप्टर ड्रॉप-डाउन से पूरी तरह गायब रहता है, और तब यह रास्ता बंद है।
Hyper-V सुविधा को फिर से इंस्टॉल करने से कुछ ज़िद्दी अतिथि बचे हैं। इसे अंत के लिए रखें, और पहले अतिथि की स्थिति लिख लें।
सबनेट फ़िल्टर होने पर पोर्ट अग्रेषण
जो होस्ट VPN अतिथि के NAT सबनेट को फ़िल्टर करता है, वह नाम विश्लेषण नहीं बल्कि सीधी पहुँच तोड़ता है। VM चल रहा है, फिर भी ssh [email protected] अटक जाता है, जबकि हाइपरवाइज़र का अनुवाद अभी भी काम कर रहा है। काम के लिए ज़रूरी पोर्ट अग्रेषित करें और इसके बजाय होस्ट पते पर जुड़ें। नीचे दी गई Vagrantfile पंक्तियाँ SSH और एक HTTPS सेवा को कवर करती हैं; दोनों रीलोड से पहले जोड़ी जाती हैं।
config.vm.network "forwarded_port", guest: 22, host: 22
config.vm.network "forwarded_port", guest: 3443, host: 3443नाम विश्लेषण अलग निर्णय है और अपना अलग सुधार हकदार है। उस NAT अडैप्टर के लिए होस्ट रिज़ॉल्वर सुविधा चालू करें, या अतिथि के अंदर आंतरिक DNS सर्वर हाथ से कॉन्फ़िगर करें। अतिथि को सार्वजनिक रिज़ॉल्वर की ओर इंगित करने से ब्राउज़िंग काम करती है और हर आंतरिक नाम टूट जाता है, जो बाधा से भी बुरा है क्योंकि यह सफलता जैसा दिखता है। ऐसा नाम जाँचें जो केवल आंतरिक रिज़ॉल्वर जानता हो।
वह जाँच जो बताती है कि यह काम कर गया
इनमें से किसी भी बदलाव के बाद, होस्ट VPN जुड़ा होने की स्थिति में अतिथि के अंदर से नया अनुरोध चलाएँ, उससे पहले नहीं। पुनः कनेक्ट के बाद और रीबूट के बाद साझाकरण फिर जाँचें, क्योंकि जो सुधार इनमें से केवल एक ही टिकता है वह सुधार नहीं है। पुष्टि करें कि अतिथि की रिज़ॉल्वर सूची उस नेटवर्क से मेल खाती है जिसका उसका ट्रैफ़िक वास्तव में उपयोग करता है। फिर होस्ट पते से पोर्ट अग्रेषण जाँचें, क्योंकि अतिथि से जाँचने पर कुछ साबित नहीं होता। अतिथि के अंदर से, दो PowerShell जाँचें रिज़ॉल्वर और अग्रेषित पोर्ट को कवर करती हैं:
Resolve-DnsName intranet.corp
Test-NetConnection 192.0.2.10 -Port 22हर स्विच या ड्राइवर बदलाव को उसके पूर्ववत करने के चरण के साथ दर्ज करें। Microsoft की Hyper-V NAT मार्गदर्शिका बताती है कि Default Switch वास्तव में क्या है, और उससे टकराने वाला दूसरा NAT नेटवर्क बनाने से पहले इसे पढ़ना चाहिए।