Вопрос: Vagrant / VirtualBox DNS 10.0.2.3 не работает


Я запускаю новую установку Linux Mint Nadia (14). Я следую инструкциям по Vagrant Начиная но застряли на резервирование, Кажется, ящик 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 так что я могу сделать подготовку.


66
2017-11-28 20:45


Источник


FYI, что я просто попал в эту же проблему с ubuntu/xenial64 и оказалось, что ошибка с самой коробкой, - Aidan Feldman
@AidanFeldman такой же для меня. Просто переключился на bento/ubuntu-16.04 и DNS работает нормально, без каких-либо дополнительных исправлений. - HenningCash


Ответы:


Вы можете обойти эту проблему одним из двух способов, оба из которых в руководстве по VirtualBox:

Включение прокси DNS в режиме NAT

По умолчанию механизм NAT предлагает своим клиентам одинаковые DNS-серверы   которые настроены на хосте. В некоторых сценариях это может быть   желательно скрыть IP-адреса DNS-сервера от гостя, например, когда   эта информация может измениться на хосте из-за истечения срока аренды DHCP.   В этом случае вы можете сказать, что движок NAT работает как DNS-прокси, используя   следующую команду:

VBoxManage modifyvm "VM name" --natdnsproxy1 on

Использование распознавателя хоста в качестве прокси-сервера DNS в режиме NAT

Для разрешения имен сетей DHCP-сервер движка NAT предлагает   список зарегистрированных DNS-серверов хоста. Если по какой-то причине вы   необходимо скрыть этот список DNS-серверов и использовать распознаватель хоста   настройки, тем самым заставляя движок NAT VirtualBox перехватывать DNS   запросов и переадресовывать их на распознаватель хоста, используйте следующие   команда:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

Обратите внимание, что этот параметр похож на режим прокси-сервера DNS, однако   тогда как режим прокси-сервера просто перенаправляет DNS-запросы на соответствующий   серверов, режим распознавателя будет интерпретировать DNS-запросы и использовать   DNS-сервер хоста, чтобы запросить информацию и вернуть ее гостю.


74
2017-11-29 01:36



Спасибо. «Использование разрешения хоста в качестве прокси-сервера DNS в режиме NAT» сделал трюк. Жаль, что я должен сделать это для каждой установки Vagrant. - Rudolf Vavruch
Я почти всегда использую модемный режим для виртуальных машин, что устраняет проблему (и целый ряд других проблем). - Michael Hampton♦
Просто возникла проблема с обновлением до 4.2.20: «Использование разрешения хоста в качестве прокси-сервера DNS в режиме NAT» тоже помогло мне. Спасибо ! - edomaur


Продолжение https://serverfault.com/a/453260/14832, если вы используете формат конфигурации Vagrantfile версии 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

61
2018-05-08 22:13



Добавление этого к моему Vagrantfile исправлена ​​проблема, в которой я не мог работать gem install... не получив глупых ошибок DNS :) Спасибо! - Nick