우분투 / xenial64 Vagrant 상자에 대한 네트워크 설정 실패


15

공식 우분투 16.04 LTS (주객 관계의 Xerus) 나는 기본 네트워크 설정에 문제가있는 (버추얼 박스)에 방랑 상자 이미지 :

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

다음 버전의 방랑자에서 문제가 해결 된 것 같습니다 : https://github.com/mitchellh/vagrant/issues/7155

Jeff Geerling https://twitter.com/geerlingguy/status/723571293174427648?lang=fr 에서 다른 상자를 사용해 보았는데 완벽하게 작동했습니다. Jeff는 Vagrant / Ansible에 대해 많은 노력을 기울여 왔으므로 다음 버전의 Vagrant가 출시되기 전에 최상의 솔루션이라고 생각합니다.


공식 우분투 16.04 상자와 같은 문제가있었습니다. 몇 시간의 시행 착오 끝에 geerlingguy의 상자를 시험해 보니 매력처럼 작동했습니다. 공식 우분투 14.04 LTS 상자도 괜찮 았습니다.
Jabba

2

ubuntu/xenial64공식 우분투 상자 에도 불구하고 네트워크 구성과 관련하여 몇 가지 문제 가 있으며 @Maxime의 답변에 설명 된 바와 같이 Vagrant 문제는 ​​아닙니다.
따라서 문제가 언급 된 것처럼 도시락 상자 (커뮤니티가 제공하고 프로젝트 리더로 Opscode Chef와 함께 제공)를 사용하는 것이 bento/ubuntu-16.04좋습니다.


"벤토"박스는 Vagrant의 관리자가 추천했습니다 : github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi

1

이 문제는 새로운 Ubuntu 버전의 네트워크 인터페이스 명명 규칙으로 인해 발생합니다. Vagrant VM을 프로비저닝하지 못했지만 여전히 VM에 ssh 할 수 있습니다 ( vagrant ssh). 당신은라는 이름의 인터페이스가 없음이 나타납니다 eth1(당신이 사용할 수있는 ifconfig -a또는 ip link). 제 경우에는 인터페이스 enp0s3와가 보입니다 enp0s8.

6871 호에 언급 된 바와 같이

... 정적 할당 대신 인터페이스를 감지하는 방법이 필요합니다 ...

... 또는 우분투가 클라우드 이미지를 변경하도록 설득하십시오.

현재로서는 깨끗한 해결책이 없습니다.


1

실제로 Maximes 답변에 추가하여 새 버전이 전파 될 때까지 상자에서 GRUB 명령 줄을 변경할 수 있습니다.

/etc/default/grub올바른 줄로 이동하여 설정하십시오 . 올바른 이름 (eth0 ...)을 반영하도록를 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" 변경해야 /etc/network/interfaces합니다.

자세한 정보는 certdepot문서를 참조하십시오 .


1

원래 질문에서 설명한 것과 비슷한 문제에 직면했습니다.

Vagrant 1.8.1을 사용하고 있습니다. 그리고 우분투 / trusty64 상자를 사용하면 정상적으로 작동했지만 우분투 / 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.