Làm cách nào để sửa dịch vụ tên cho khách hàng Vagrant?


18

Tôi mới sử dụng Ubuntu (vừa cài đặt Ubuntu 12.10) và muốn bắt đầu phát triển với nó. Vì vậy, tôi đã cài đặt Vagrant, tải xuống lucid64.box, khởi tạo, khởi động và truy cập nó qua ssh.

Để kiểm tra kết nối Internet trên máy khách của tôi, tôi đã thực hiện ping google.com và nhận được unknown host: google.com. (Tất nhiên là có máy chủ ping.)

Tìm kiếm trên web chỉ đưa tôi đến giải pháp này đã đề xuất loại bỏ hộp Vagrant và Virtual, và cài đặt lại chúng, chỉ cần đảm bảo Vagrant được cài đặt trước. Tôi đã thử giải pháp này và tôi vẫn nhận được kết quả tương tự.

Những gì khác tôi có thể cố gắng để làm cho nó hoạt động?


1
Có một vấn đề với máy khách của tôi nhận được DNS. Sử dụng google DNS, thay đổi /etc/resolv.confvà thêm vào để /etc/network/interfacesgiải quyết vấn đề.
Shahar Galukman

Tôi có thể hỏi bạn hướng dẫn nào bạn đang sử dụng? Chỉ cần đoán: nó đang bắt đầuwithdjango? Nếu vậy, tôi sẽ liên hệ với tác giả để đề cập đến vấn đề hiện tại. Nếu không, tôi sẽ xóa bình luận này.
don.joey

Tôi không sử dụng hướng dẫn mà bạn đề cập. Tìm thấy giải pháp sử dụng thông thường nhưng giải pháp bayoffire tốt hơn nhiều, cũng là lỗi được biết đến như anh ấy đã đề cập vì vậy tôi tin rằng nó sẽ được sửa trong phiên bản tương lai.
Shahar Galukman

Câu trả lời:


30

Tôi gặp vấn đề tương tự với Ubuntu 12.10 và tìm thấy giải pháp. Chỉ cần thêm các dòng đó vào Vagrantfile của bạn:

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

Đối với Vagrant 1.1+ bạn sẽ cần (nhờ farooqsadiq)

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

Có vẻ như đây là một lỗi đã biết trong VirtualBox trên Ubuntu 12.10:

https://bugs.launchpad.net/ubfox/+source/virtualbox/+orms/1048783

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


Thật tốt khi biết đó là một lỗi đã biết, mặc dù tôi đã không tự mình tìm ra thứ gì đó về nó. Cách giải quyết mà tôi đã đề cập trong bình luận của tôi ở trên đã giải quyết nó cho tôi. Ít nhất những người khác có cùng lỗi sẽ có hai cách khác nhau để giải quyết vấn đề này. Cảm ơn bạn.
Shahar Galukman

Thậm chí nhiều hơn về vấn đề này. Giải pháp của bạn sẽ phù hợp hơn vì cấu hình DNS được thực hiện thủ công (như được đề xuất bởi tôi ở trên) sẽ bị xóa mỗi khi tôi khởi động VM
Shahar Galukman

1
Xem câu trả lời này để biết giải pháp về các phiên bản mới hơn của Vagrant: askubfox.com/a/296796/122097
Brad

6

Đối với Vagrant 1.1+ bạn sẽ cần

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

Đã thử nghiệm trên Vagrant 1.2.2

Tìm thấy trên Blog của Lyte http://lyte.id.au/tag/vagrant/


Điều này sửa lỗi sau: Không thể thêm PPA: 'ppa: Brightbox / ruby-ng'. Vui lòng kiểm tra xem tên hoặc định dạng PPA là chính xác. trên Ubuntu 14 với 1.7.2 và hộp ảo trên macos.
22 giờ 43

5

Bạn có thể làm cho thủ thuật chỉnh sửa hoạt động trên tất cả các máy ảo Vagrant trong một lần nhấn bằng cách đặt một đoạn mã trong ~ / .vagrant.d / Vagrantfile, ví dụ:

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

2

Vagrantfile mặc định (mới) chứa một loạt các ví dụ nhận xét, một trong số đó là như sau:

  # 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

Hãy chắc chắn rằng bạn không bình luận dòng này:

conig.vm.network :bridged

Điều đó sẽ cho phép máy ảo của bạn truy cập vào mạng / Internet.

* Kể từ phiên bản 1.0.6. Tính đến thời điểm của câu trả lời này, phiên bản mới nhất trong kho lưu trữ là 1.0.3, nó có thể không có tất cả các ví dụ bổ sung; trong trường hợp đó, bạn sẽ cần thêm dòng mã đó.


Tôi sẽ chỉ sử dụng cái này, nếu NAT không hoạt động. Các mạng cầu nối chỉ hoạt động, nếu bạn nhận được IP từ HDCP đến máy ảo. Xem điều này: docs.vagrantup.com/v1/docs/ịtged_networking.html (không phải tất cả các mạng đều hoạt động!)
lukassteiner
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.