ฉันจะแก้ไขบริการชื่อสำหรับลูกค้า Vagrant ได้อย่างไร


18

ฉันใหม่กับ Ubuntu (เพิ่งติดตั้ง Ubuntu 12.10) และต้องการเริ่มพัฒนาด้วย ดังนั้นฉันได้ติดตั้ง Vagrant, ดาวน์โหลดlucid64.box, เตรียมใช้งาน, เริ่มมันและเข้าถึงมันผ่าน ssh

เพื่อทดสอบการเชื่อมต่ออินเทอร์เน็ตบนไคลเอนต์ของฉันฉันได้ทำและได้รับping google.com unknown host: google.com(โฮสต์ได้รับ ping แน่นอน)

ค้นหาเว็บเท่านั้นให้ฉันไปที่วิธีแก้ปัญหานี้ซึ่งแนะนำให้ลบกล่อง Vagrant และเวอร์ชวลและติดตั้งใหม่ให้แน่ใจว่าติดตั้ง Vagrant ก่อน ฉันได้ลองวิธีนี้แล้ว แต่ยังคงได้ผลลัพธ์เดียวกัน

ฉันสามารถลองใช้งานอะไรได้อีก


1
มีปัญหากับไคลเอนต์เซิร์ฟเวอร์ของฉันรับ DNS ใช้ google DNS มีการเปลี่ยนแปลง/etc/resolv.confและเพิ่มเพื่อ/etc/network/interfacesแก้ไขปัญหา
Shahar Galukman

ฉันขอให้คุณใช้บทช่วยสอนที่ใช้อยู่ได้ไหม แค่เดาว่า: มันเริ่มต้นขึ้นแล้วด้วย dango ถ้าเป็นเช่นนั้นฉันจะติดต่อผู้เขียนเพื่ออ้างถึงปัญหาปัจจุบัน ถ้าไม่ฉันจะลบความคิดเห็นนี้
don.joey

ฉันไม่ได้ใช้บทช่วยสอนที่คุณพูดถึง พบวิธีแก้ปัญหาโดยใช้สามัญสำนึก แต่วิธีแก้ปัญหาของ bayoffire นั้นดีกว่ามากอีกทั้งยังเป็นข้อบกพร่องที่รู้จักกันดีในขณะที่เขากล่าวถึงดังนั้นฉันเชื่อว่ามันจะได้รับการแก้ไขในการเปิดตัวในอนาคต
Shahar Galukman

คำตอบ:


30

ฉันมีปัญหาเดียวกันกับ Ubuntu 12.10 และพบวิธีแก้ปัญหา เพียงเพิ่มบรรทัดเหล่านั้นใน Vagrantfile ของคุณ:

config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"]

สำหรับ Vagrant 1.1+ คุณจะต้อง (ขอบคุณ farooqsadiq)

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

ดูเหมือนว่าจะเป็นข้อบกพร่องที่รู้จักใน VirtualBox บน Ubuntu 12.10:

https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1048783

https://www.virtualbox.org/ticket/10864


เป็นการดีที่จะรู้ว่ามันเป็นข้อผิดพลาดที่รู้จักแม้ว่าฉันจะไม่สามารถหาอะไรได้ด้วยตัวเอง วิธีแก้ปัญหาที่ฉันได้กล่าวถึงในความคิดเห็นของฉันด้านบนแก้ไขให้ฉันแม้ว่า อย่างน้อยคนอื่นที่มีข้อผิดพลาดเดียวกันจะมีสองวิธีในการแก้ไขปัญหานี้ ขอขอบคุณ.
Shahar Galukman

มากยิ่งขึ้นเกี่ยวกับปัญหานี้ โซลูชันของคุณจะเหมาะสมกว่าเนื่องจากการกำหนดค่า DNS ที่ทำด้วยตนเอง (ตามที่ฉันแนะนำด้านบน) จะถูกลบทุกครั้งที่ฉันเริ่มต้น VM
Shahar Galukman

1
ดูคำตอบสำหรับวิธีการแก้ปัญหาเกี่ยวกับ Vagrant รุ่นใหม่: askubuntu.com/a/296796/122097
แบรด

6

สำหรับ Vagrant 1.1+ คุณจะต้อง

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

ทดสอบกับคนจรจัด 1.2.2

พบได้ในบล็อกของ Lyte http://lyte.id.au/tag/vagrant/


วิธีนี้แก้ไขข้อผิดพลาดต่อไปนี้: ไม่สามารถเพิ่ม PPA: 'ppa: brightbox / ruby-ng' โปรดตรวจสอบว่าชื่อ PPA หรือรูปแบบถูกต้อง บน Ubuntu 14 ที่มี vagrant 1.7.2 และ virtualbox บน macos
nruth

5

คุณสามารถทำให้ trickvvv ใช้งานได้กับ Vagrant VM ทั้งหมดในการเข้าชมครั้งเดียวโดยวางตัวอย่างใน ~ / .vagrant.d / Vagrantfile เช่น:

Vagrant::Config.run do |config|
    config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

2

Vagrantfile ค่าเริ่มต้น (ใหม่) มีตัวอย่างของการคอมเม้นต์ซึ่งหนึ่งในนั้นเป็นดังนี้:

  # Assign this VM to a bridged network, allowing you to connect directly to a
  # network using the host's network device. This makes the VM appear as another
  # physical device on your network.
  # config.vm.network :bridged

ตรวจสอบให้แน่ใจว่าคุณได้ยกเลิกการแสดงความคิดเห็นบรรทัดนี้:

conig.vm.network :bridged

ที่จะให้เครื่องเสมือนของคุณเข้าถึงเครือข่าย / อินเทอร์เน็ต

* เป็นของรุ่น 1.0.6 เมื่อถึงเวลาของคำตอบนี้เวอร์ชั่นล่าสุดในที่เก็บคือ 1.0.3 อาจไม่มีตัวอย่างพิเศษทั้งหมด ในกรณีนี้คุณจะต้องเพิ่มบรรทัดของรหัสนั้น


ฉันจะใช้สิ่งนี้เท่านั้นหาก NAT ไม่ทำงาน เครือข่ายที่เชื่อมต่อใช้งานได้เฉพาะถ้าคุณได้รับ IP จาก HDCP ไปยังเครื่องเสมือน ดูที่นี่: docs.vagrantup.com/v1/docs/bridged_networking.html (ไม่ใช่ทุกเครือข่ายที่ใช้งานได้!)
lukassteiner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.