Как получить доступ к Vagrant Box в общедоступной сети

Я создал электронную коробку внутри vagrant. В Vagrantfile я дал сеть как

     Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network :private_network, ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
   config.vm.network :public_network

Я не могу получить доступ к VagrantBox вне VLAN. Мне нужно получить доступ к Vagrant Box в общедоступной сети. Как настроить vagrantfile таким образом, чтобы мне был нужен доступ в общедоступной сети?


person user2439278    schedule 05.08.2013    source источник


Ответы (5)


Раскомментируйте строку в Vagrantfile

config.vm.network :public_network

Файл будет выглядеть следующим образом

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "box_name"
  config.vm.network :public_network
end

Сохраните его, перезапустите виртуальную машину с помощью vagrant reload.

Для VirtualBox он будет использовать режим моста для работы в сети. Это означает, что виртуальная машина получит IP-адрес от DHCP-сервера для VLAN.

Вы также можете установить IP-адрес VLAN с помощью: config.vm.network :public_network, ip: "192.168.0.160"

См. => общедоступную сеть.

person Terry Wang    schedule 05.08.2013
comment
Любой в локальной сети может получить доступ к моей виртуальной машине? с бродячим пользователем и паролем? - person Robert; 29.01.2014
comment
Да, с ssh vagrant@<guest_ip> - person Ricardo García; 27.05.2014
comment
Для меня это работало только с config.vm.network "public_network", :bridge => "eth0", auto_config: false, а затем с помощью shell провайдеров вручную добавлял настройки для eth1. Любая комбинация, включающая «ip» в config.vm.network, здесь не работает. ? - person Nikos Alexandris; 19.12.2015

По умолчанию vagrant удаляет стандартный (рабочий) маршрут в дополнительных мостовых сетях внутри виртуальных машин. Моя проблема, связанная с DHCP, могла быть решена только путем настройки мостовой сети следующим образом:

config.vm.network :public_network, :bridge => 'em1',:use_dhcp_assigned_default_route => true

Предоставлено https://groups.google.com/forum/#!msg/vagrant-up/yNhWV42pcgk/NbOck1xqtFQJ Может быть эквивалент для статических IP-адресов.

person gs_za    schedule 27.10.2015

Я не смог понять это, используя что-либо, что я читал (это были часы и часы исследований). Вместо этого я понял это так:

Ниже мой Vagrantfile. Важная часть для меня была config.vm.network :public_network. После перезагрузки vagrant с помощью vagrant reload я выбрал первый вариант из 4 доступных мостовых сетевых интерфейсов (я не уверен, что выбрал правильный по счастливой случайности, или если бы какой-либо из них сработал, я буду экспериментировать), затем sshed в vagrant box с vagrant ssh, сделал ifconfig, выбрал один из 3 IP-адресов, которые он выдал, вставил его в свой браузер, и все заработало.

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

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "bahmni-team/bahmni"
  config.vm.box_check_update = true
  config.ssh.insert_key = false
  config.vm.network :public_network

  config.vm.synced_folder "..", "/bahmni", :owner => "vagrant"
  config.vm.provider "virtualbox" do |v|
     v.customize ["modifyvm", :id, "--memory", 4092, "--cpus", 2, "--name", "Bahmni-RPM"]
  end
end
person Jason Fry    schedule 24.07.2019

Окончательно! Это годы спустя, но я не смог найти более актуальной информации. Для меня проблема заключалась в том, что у меня была определена не только частная сеть, но и перенаправленный порт, и все это работало хорошо. Затем я закомментировал private_network, заменил его на public_network и ничего не смог достичь. Перепробовал все, что нашел здесь и в других местах, не идет. Только когда я прокомментировал переадресацию портов, все снова заработало, без какой-либо ручной настройки моста/dhcp.

person George M Reinstate Monica    schedule 17.09.2018

  1. Среда с одной виртуальной машиной

    вы можете использовать команду: vagrant ssh

  2. Среда с несколькими виртуальными машинами

    вы можете использовать команду: vagrant ssh {hostname}

person Dan Du    schedule 20.10.2015