С официальным изображением Vagrant Ubuntu 16.04 LTS (Xenial Xerus) (на VirtualBox) у меня проблемы с основными настройками сети:
Мой Vagrantfile
:
Vagrant.configure(2) do |config|
config.vm.box = 'ubuntu/xenial64'
config.vm.define "xenial" do |server|
server.vm.network "private_network", ip: "192.168.10.10"
end
end
vagrant up
результат:
==> xenial: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/sbin/ifdown eth1 2> /dev/null
Stdout from the command:
Stderr from the command:
sudo: unable to resolve host ubuntu-xenial
mesg: ttyname failed: Inappropriate ioctl for device
Выход из конфигурации на DHCP также не работает:
server.vm.network "private_network", type: "dhcp"
В то же время, вышеуказанные конфигурации для работы ubuntu/trusty64
и ubuntu/wily64
и неофициальные gbarbieru/xenial
.
Попытка команды не /sbin/ifdown eth1 2> /dev/null
дает результатов, так как интерфейс имеет другую схему именования (основная - enp0s3
).
Я что-то упускаю здесь очевидное или коробка просто сломана?
источник
Несмотря
ubuntu/xenial64
на то, что это официальная версия Ubuntu, она имеет некоторые проблемы, связанные с настройкой сети, и не является проблемой Vagrant, как объясняется в ответе @Maxime.Таким образом, как уже упоминалось в выпуске, предпочтительнее использовать ящик для бенто (обслуживается сообществом и с Opscode Chef в качестве лидера проекта), что для этого случая будет
bento/ubuntu-16.04
.источник
Проблема связана с соглашением об именах сетевых интерфейсов в новых версиях Ubuntu. Ваша Vagrant VM не была подготовлена, но вы все равно можете использовать ssh (
vagrant ssh
). Там вы увидите, что нет названного интерфейсаeth1
(вы можете использоватьifconfig -a
илиip link
). В моем случае я вижу интерфейсыenp0s3
иenp0s8
.Как уже упоминалось в выпуске 6871
На данный момент нет чистого решения.
источник
На самом деле, в дополнение к ответу Maximes, вы можете изменять командную строку GRUB в своем ящике, пока не будет распространена новая версия.
Просто зайдите
/etc/default/grub
и установите соответствующую строку вGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Вы должны изменить,/etc/network/interfaces
чтобы отразить правильные имена (eth0 ...).См. Документацию в certdepot для получения дополнительной информации .
источник
Я столкнулся с подобной проблемой, как обсуждалось в оригинальном вопросе.
Я использую Vagrant 1.8.1. и использование коробки ubuntu / trusty64 работало просто отлично, однако, когда я попытался использовать коробку ubuntu / xenial64, я столкнулся с той же проблемой. Комментарий в этой теме привел меня к решению, которое, похоже, сработало.
Я изменил линию
в Vagrantfile для
источник