VirtualBox VM को होस्ट के DNS का उपयोग कैसे करें?


69

मैं अपने VMs के लिए VirtualBox का उपयोग करता हूं। मेरा कार्यालय नेटवर्क सेटअप वायरलेस है, अर्थात मैं अपनी कंपनी के वाईफाई नेटवर्क से जुड़ता हूं, जिसमें स्थानीय नाम (जैसे कुछ ।mycompany.com 123.45.67.89 पर जा रहा है) को हल करने के लिए एक स्थानीय डीएनएस है । जब मैं एक नया VM बनाता हूं, तो यह मेजबान के कनेक्शन को विरासत में मिला हुआ बाहरी इंटरनेट से जुड़ सकता है लेकिन यह स्थानीय DNS का उपयोग करके स्थानीय नामों को हल नहीं करता है। इसलिए मुझे /etc/hostsवीएम पर जाना है और मैन्युअल रूप से एक प्रविष्टि करना है क्योंकि मैं होस्ट पर नाम का समाधान करता हूं, जो कि कष्टप्रद है।

क्या वर्चुअलबॉक्स को स्वचालित रूप से अतिथि के मेजबान के DNS से ​​कनेक्ट करने का एक तरीका है ताकि मुझे यह मैनुअल कदम न करना पड़े? मेरा होस्ट OSX माउंटेन लायन है , वीएम आमतौर पर उबंटू हैं, लेकिन मुझे संदेह है कि यह बात होनी चाहिए।

जवाबों:


99

होस्ट के रिज़ॉल्वर का उपयोग करके DNS प्रॉक्सी मोड को सक्षम करने के लिए , निम्न कमांड चलाएँ:

VBoxManage संशोधित करें " <VM नाम> " --natdnshostresolver1 चालू

परिणामस्वरूप, अतिथि OS DNS अनुरोधों को होस्ट DNS API का उपयोग करके इंटरसेप्ट किया जाएगा और हल किया जाएगा, बजाय अतिथि OS को बाहरी DNS सर्वर से कनेक्ट करने के साथ --natdnsproxy1 on

आप दौड़कर VM का नाम प्राप्त कर सकते हैं VBoxManage list runningvms


9
दूसरों के लिए अधिक जानकारी के लिए: इसे होस्ट से चलाने की आवश्यकता है। यदि आपका होस्ट विंडोज है, तो कमांड प्रॉम्प्ट, सीडी को "C: \ Program Files \ Oracle \ VirtualBox" खोलें, और उस कमांड को चलाएं। वर्चुअलबॉक्स प्रबंधक जीयूआई में कोई विकल्प नहीं दिखता है (कम से कम सभी संस्करणों में 4. * से 5.0.20 तक) जो आपको इसे किसी अन्य तरीके से सेट करने की अनुमति देता है।
ग्राहम

मैं जोड़ना चाहता हूं कि आपको इस कमांड को व्यवस्थापक के रूप में चलाने की आवश्यकता है। मैंने इसे अपने cmd से आज़माया और यह मेरे काम नहीं आया, लेकिन फिर मैंने cmd को व्यवस्थापक के रूप में चलाया और यह सब पूरी तरह से ठीक रहा।
सर्गेओविनचनिक

3
यह मेरे लिए काम करता था, लेकिन उबंटू 16.04 के साथ नहीं था और विंडोज के लिए नवीनतम
वर्चुअलबॉक्स

मेरे लिए भी काम नहीं कर रहा :(
पावेल ड्यूरोव

1
यह अभी भी मैकओ हाई सिएरा के साथ मेजबान के रूप में काम करता है, वर्चुअलबॉक्स 5.2.6, वीएम में विंडोज 7 चला रहा है।
जॉन एकेनबेरी

6

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

एक बार जब आप ब्रिज-मोड सेटअप कर लेते हैं, तो बस अपने ubuntu गेस्ट पर जाएं और इसे अपनी कंपनी के DNS सर्वर नाम या आईपी का उपयोग करने के लिए प्राप्त करें। अधिक जानकारी के लिए इस ट्यूटोरियल को पढ़ें: http://prahladyeri.wordpress.com/2012/08/02/how-to-setup-a-virtual-lan-on-your-machine-use-oracle-virtualbox/


5

यह एक शीर्ष Google परिणाम था, इसलिए मैं दूसरों के लिए स्पष्ट करना चाहता था। जोशीया के समाधान ने मेरे लिए लाइन जोड़ने के साथ काम किया:

hosts: files dns सेवा /etc/nsswitch.conf

जैसा कि अन्य ने बताया है, मूल समाधान उबंटू 16.04 से ऊपर काम नहीं करता है। मेरा अतिथि VM उबंटू 16.04 है।

संदर्भ लिनक्स सर्वर बनाना


2
सुपर उपयोगकर्ता में आपका स्वागत है! आप प्रस्तावित कर सकते हैं कि जोशिया के उत्तर को संपादित करें, जो देखने वालों की मदद करेगा :)
bertieb

पारितोषिक के लिए धन्यवाद! मैंने सिर्फ एक टिप्पणी जोड़ने की कोशिश की, लेकिन इसकी अनुमति नहीं थी। मैंने इसके बजाय संपादन सबमिट किया।
प्रेट्ज़ेल 11

1

मैंने यह भी देखा है कि मेरा वीपीएन कनेक्शन योनि इंटरनेट कनेक्शन के साथ हस्तक्षेप करता है।

इस स्टेक्सएक्सचेंज के लिए धन्यवाद, मैं अपने वैग्रांटफाइल में एम्बेड करके हल करने में सक्षम था

config.vm.provider "virtualbox" do |vb|
  vb.cpus = 1
  vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  vb.memory = "2048"
end

और कमांड लाइन के माध्यम से संशोधित करने के लिए शटडाउन बॉक्स होने के टेडियम से बचा, फिर पुन: संशोधन

export PATH=$PATH:/c/Program\ Files/Oracle/VirtualBox/
VBoxManage list runningvms
export vbox=`VBoxManage list runningvms | cut -d '"' -f 2`
VBoxManage controlvm $vbox poweroff
VBoxManage modifyvm $vbox --natdnshostresolver1 on
vagrant.exe up --provision

0

मेरे लिए इसने होस्ट-ओनली अडैप्टर के साथ एक और एडॉप्टर जोड़ने में मदद की जबकि पहले (NAT मोड) को भी बनाए रखा।

[screenshot1]

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