Vagrant / VirtualBox DNS 10.0.2.3이 작동하지 않습니다


78

Linux Mint Nadia (14)를 새로 설치하고 있습니다. Vagrant Getting Started 에 대한 지침을 따르고 있지만 Provisioning에 붙어 있습니다 . Vagrant 상자는 외부에 연결할 수 없으므로 Chef 또는 Puppet을 사용하여 아무것도 설치할 수 없습니다.

기본 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프로비저닝을 수행 할 수 있도록 영구적으로 변경하는 방법을 원치 않습니다.


2
참고로 방금 ubuntu/xenial64상자 와 동일한 문제가 발생 했으며 상자 자체의 버그로 밝혀졌습니다 .
Aidan Feldman

@AidanFeldman도 마찬가지입니다. bento/ubuntu-16.04추가로 수정하지 않고 바로 전환하면 DNS가 제대로 작동합니다.
HenningCash

답변:


84

이 문제는 두 가지 방법 중 하나로 해결할 수 있습니다. 두 가지 방법 모두 VirtualBox 매뉴얼에 있습니다 .

NAT 모드에서 DNS 프록시 사용

NAT 엔진은 기본적으로 호스트에 구성된 게스트에 동일한 DNS 서버를 제공합니다. 일부 시나리오에서는 예를 들어 DHCP 임대 만료로 인해 호스트에서이 정보가 변경 될 수있는 경우 게스트에서 DNS 서버 IP를 숨기는 것이 바람직 할 수 있습니다. 이 경우 다음 명령을 사용하여 NAT 엔진에 DNS 프록시 역할을하도록 지시 할 수 있습니다.

VBoxManage modifyvm "VM name" --natdnsproxy1 on

NAT 모드에서 호스트 확인자를 DNS 프록시로 사용

네트워크 이름을 확인하기 위해 NAT 엔진의 DHCP 서버는 호스트의 등록 된 DNS 서버 목록을 제공합니다. 어떤 이유로 든이 DNS 서버 목록을 숨기고 호스트의 확인자 설정을 사용해야 VirtualBox NAT 엔진이 DNS 요청을 가로 채서 호스트의 확인자에게 전달하도록하려면 다음 명령을 사용하십시오.

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

이 설정은 DNS 프록시 모드와 비슷하지만 프록시 모드는 DNS 요청을 적절한 서버로 전달하는 반면 확인자 모드는 DNS 요청을 해석하고 호스트의 DNS API를 사용하여 정보를 쿼리하고 게스트에게 반환합니다. .


1
감사합니다. "NAT 모드에서 호스트의 리졸버를 DNS 프록시로 사용하는 것" 모든 Vagrant 설치 마다이 작업을 수행 해야하는 것은 유감입니다.
Rudolf Vavruch

1
거의 항상 VM에 브리지 모드를 사용하므로 문제 (및 다른 모든 문제)가 제거됩니다.
Michael Hampton

3
4.2.20, "NAT 모드에서 호스트의 리졸버를 DNS 프록시로 사용"으로 업그레이드 할 때 문제가 발생했습니다. 고마워 !
edomaur

73

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

이전 구성 형식을 사용하지만 Vagrant 1.1 이상을 사용하는 경우 파일 끝에 다음을 추가 할 수 있습니다.

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

2
이것을 내 바보 같은 DNS 오류없이 얻을 Vagrantfile수없는 문제가 수정되었습니다. gem install...:) 감사합니다!
Nick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.