सवाल Vagrant / वर्चुअलबॉक्स DNS 10.0.2.3 काम नहीं कर रहा है


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

मूल Vagrant में 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 ताकि मैं प्रावधान कर सकूं।


68
2017-11-28 20:45


मूल


एफवाईआई कि मैंने अभी भी इसी समस्या को मारा है ubuntu/xenial64 बॉक्स, और यह हो गया बॉक्स के साथ एक बग। - Aidan Feldman
@AidanFeldman मेरे लिए एक ही है। बस स्विच किया bento/ubuntu-16.04 और DNS बिना किसी फिक्स्ड के ठीक काम करता है। - HenningCash


जवाब:


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

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

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

VBoxManage modifyvm "VM name" --natdnsproxy1 on

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

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

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

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


74
2017-11-29 01:36



धन्यवाद। "एनएटी मोड में DNS प्रॉक्सी के रूप में होस्ट के रिज़ॉल्वर का उपयोग करना" चाल था। यह सिर्फ एक दयालुता है जिसे मुझे प्रत्येक वाग्रेंट इंस्टॉल के लिए करना है। - Rudolf Vavruch
मैं लगभग हमेशा वीएम के लिए ब्रिज मोड का उपयोग करता हूं, जो समस्या को समाप्त करता है (और अन्य समस्याओं का पूरा मेजबान)। - Michael Hampton♦
4.2.20 के अपग्रेड के साथ बस समस्या थी, "मेजबान के रिज़ॉल्वर का उपयोग एनएटी मोड में एक DNS प्रॉक्सी के रूप में करना" मेरे लिए भी चाल थी। धन्यवाद ! - edomaur


आगे बढ़ना https://serverfault.com/a/453260/14832, यदि आप संस्करण 2 Vagrantfile कॉन्फ़िगरेशन प्रारूप का उपयोग कर रहे हैं, तो जो प्रारंभ होता है:

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

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

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

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

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

63
2018-05-08 22:13



इसे मेरे साथ जोड़ना Vagrantfile उस समस्या को ठीक किया जहां मैं नहीं चला सका gem install... मूर्खतापूर्ण DNS त्रुटियों के बिना :) धन्यवाद! - Nick