ubuntu / xenial64 Vagrantボックスのネットワーク設定が失敗する


15

公式の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/trusty64ubuntu/wily64し、非公式gbarbieru/xenial

/sbin/ifdown eth1 2> /dev/nullインターフェイスの命名規則が異なるため、コマンドを試しても結果は得られません(主なものはですenp0s3)。

ここで明らかな何かを見逃していますか、それとも箱が壊れていますか?

回答:


15

この問題は、vagrantの次のリリースで解決されるようです:https : //github.com/mitchellh/vagrant/issues/7155

Jeff Geerling https://twitter.com/geerlingguy/status/723571293174427648?lang=frから別のボックスを試してみましたが、私にとっては完璧に機能しました。ジェフはVagrant / Ansibleで多くの素晴らしい仕事をしてきたので、Vagrantの次のバージョンがリリースされる前にそれが最良のソリューションだと思います


公式のUbuntu 16.04ボックスでも同じ問題がありました。数時間の試行錯誤の後、私はgeerlingguyの箱を試してみましたが、それは魅力のように機能しました。公式のUbuntu 14.04 LTSボックスも問題ありませんでした。
ジャバ

2

ubuntu/xenial64公式のUbuntuボックスにもかかわらず、ネットワーク構成に関するいくつかの問題があり、@ Maximeの回答で説明されているVagrantの問題ではありません。
そのため、この問題で言及されているように、このケースではである弁当箱(コミュニティによって管理され、Opscode Chefがプロジェクトのリーダーである)を使用することをお勧めしますbento/ubuntu-16.04



1

この問題は、新しいUbuntuバージョンのネットワークインターフェイスの命名規則によるものです。Vagrant VMのプロビジョニングに失敗しましたが、引き続きsshを実行できます(vagrant ssh)。そこには、名前付きのインターフェースがないことがわかりますeth1ifconfig -aまたはを使用できますip link)。私の場合、インターフェイスenp0s3とが表示されますenp0s8

問題6871で述べたように

...静的な割り当てではなく、インターフェイスを検出する方法が必要です...

...または、クラウドイメージを変更するようにUbuntuを説得します。

現時点では、クリーンなソリューションはありません。


1

実際、Maximesの回答に加えて、新しいバージョンが伝達されるまで、ボックス内のGRUBコマンドラインを変更できます。

に移動し/etc/default/grub、適切な行を設定します。正しい名前(eth0 ...)を反映GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" するように変更する/etc/network/interfaces必要があります。

詳細については、certdepotドキュメントを参照してください。


1

元の質問で説明したのと同様の問題に直面しました。

Vagrant 1.8.1を使用しています。また、ubuntu / trusty64ボックスを使用しても問題なく機能しましたが、ubuntu / xenial64ボックスを使用しようとすると、同じ問題に直面しました。この問題スレッドのコメント解決策をもたらしましたが、解決したようです。

行を変更しました

config.vm.network "private_network", ip: "192.168.33.10"

Vagrantfileで

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.