Vagrant / VirtualBox DNS 10.0.2.3 काम नहीं कर रहा है


78

मैं लिनक्स मिंट नादिया (14) की एक ताजा स्थापना चला रहा हूं। मैं वैग्रेंट गेटिंग स्टार्ट पर निर्देशों का पालन कर रहा हूं लेकिन प्रोविजनिंग पर अटक गया है । ऐसा लगता है कि वैग्रेंट बॉक्स बाहर से कनेक्ट नहीं हो सकता है और इसलिए मैं शेफ या कठपुतली का उपयोग करके कुछ भी स्थापित नहीं कर सकता।

बुनियादी वैग्रांत resolve.confमें समाहित है nameserver 10.0.2.3। लेकिन उस सेट के साथ मैं पिंग नहीं कर सकता us.archive.ubuntu.com

अगर मैं इसे बदल देता 8.8.8.8हूं तो मैं पिंग कर सकता हूं us.archive.ubuntu.comलेकिन यह सेट नहीं रहता है, और रिबूट के बाद यह वापस बदल जाता है 10.0.2.3- इसलिए फिर से प्रोविजनिंग विफल हो जाती है।

आदर्श रूप से मैं 10.0.2.3अपने सेटअप पर काम करना चाहूंगा । असफल होना कि मैं स्थायी रूप से बदलने का एक तरीका चाहूंगा resolv.confताकि मैं प्रोविजनिंग कर सकूं।


2
FYI करें कि मैं बस ubuntu/xenial64बॉक्स के साथ यही समस्या रखता हूं , और यह बॉक्स के साथ एक बग बन गया ।
ऐडन फेल्डमैन

मेरे लिए @AidanFeldman वही। बस पर स्विच किया गया bento/ubuntu-16.04और DNS बिना किसी और सुधार के ठीक काम करता है।
हेनिंगकैश

जवाबों:


84

आप इस समस्या को दो तरीकों में से एक में काम कर सकते हैं, दोनों वर्चुअलबॉक्स मैनुअल में हैं :

NAT मोड में DNS प्रॉक्सी को सक्षम करना

डिफ़ॉल्ट रूप से NAT इंजन अतिथि को उसी DNS सर्वर प्रदान करता है जो होस्ट पर कॉन्फ़िगर किया गया है। कुछ परिदृश्यों में, DNS सर्वर IP को अतिथि से छुपाना वांछनीय हो सकता है, उदाहरण के लिए जब डीएचसीपी पट्टों को समाप्त करने के कारण यह जानकारी होस्ट पर बदल सकती है। इस स्थिति में, आप NAT इंजन को निम्न कमांड का उपयोग करके DNS प्रॉक्सी के रूप में कार्य करने के लिए कह सकते हैं:

VBoxManage modifyvm "VM name" --natdnsproxy1 on

NAT मोड में DNS प्रॉक्सी के रूप में होस्ट के रिज़ॉल्वर का उपयोग करना

नेटवर्क नामों को हल करने के लिए, NAT इंजन का DHCP सर्वर होस्ट के पंजीकृत DNS सर्वरों की एक सूची प्रदान करता है। यदि किसी कारण से आपको इस DNS सर्वर सूची को छिपाने और होस्ट की रिज़ॉल्वर सेटिंग्स का उपयोग करने की आवश्यकता होती है, तो वर्चुअलबॉक्स NAT इंजन को DNS अनुरोधों को रोकना और उन्हें होस्ट की रिज़ॉल्वर को अग्रेषित करने के लिए मजबूर करना, निम्न कमांड का उपयोग करें:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

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


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

1
मैं लगभग हमेशा VMs के लिए ब्रिज्ड मोड का उपयोग करता हूं, जो समस्या को समाप्त करता है (और अन्य समस्याओं का एक पूरा मेजबान)।
माइकल हैम्पटन

3
बस 4.2.20 के उन्नयन के साथ समस्या थी, "एनएटी मोड में DNS प्रॉक्सी के रूप में होस्ट की रिवाल्वर का उपयोग करना" ने मेरे लिए भी चाल चली। धन्यवाद !
इडोमोर

73

Https://serverfault.com/a/453260/14832 पर फ़ॉलो करने के बाद , यदि आप संस्करण 2 वैग्रांटफाइल कॉन्फ़िगरेशन प्रारूप का उपयोग कर रहे हैं, तो जो शुरू होता है:

Vagrant.configure("2") do |config|

तब आप इसे उस कॉन्फिग फ़ाइल में जोड़ना चाह सकते हैं:

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

यदि आप पुराने कॉन्फ़िगरेशन प्रारूप का उपयोग कर रहे हैं, लेकिन Vagrant 1.1+ का उपयोग कर रहे हैं, तो आप इसे फ़ाइल के अंत में जोड़ सकते हैं:

Vagrant.configure("2") do |config|
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end
end

2
इसे मेरी Vagrantfileनिश्चित समस्या में शामिल करना जहां मैं gem install...मूर्खतापूर्ण DNS त्रुटियों को प्राप्त किए बिना नहीं चल सका :) धन्यवाद!
निक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.