бродячая переадресация портов не работает

Я установил виртуальную машину точного 32 с помощью Vagrant, в которой я пытаюсь использовать devstack для разработки openstack. Чтобы получить доступ к сервису с хоста, я настроил несколько портов переадресации в файле конфигурации, но это не работает. То есть я не могу подключиться к 10.0.2.15, к которому мне подсказал подключиться devstack. Я попытался переключить сетевой режим в VirtualBox с NAT на Bridge, затем выскочила ошибка, говорящая что-то вроде «имя NAT уже существует». Я проверил документацию VirtualBox, но не очень понял. Кто-нибудь, помогите мне, пожалуйста...

Я добавляю следующее в бродячий файл конфигурации:

Vagrant::Config.run do |config|
config.vm.forward_port 80, 9090
config.vm.forward_port 5000, 5000
config.vm.forward_port 5672, 5672
config.vm.forward_port 3333, 3333
config.vm.forward_port 8773, 8773
config.vm.forward_port 8774, 8774
config.vm.forward_port 8776, 8776
config.vm.forward_port 8777, 8777
config.vm.forward_port 9191, 9191
config.vm.forward_port 9292, 9292
config.vm.forward_port 35357, 35357
config.vm.forward_port 40529, 40529
config.vm.forward_port 47117, 47117
config.vm.forward_port 55977, 55977
config.vm.customize ["modifyvm", :id, "--memory", 8192]
end

person Lamian    schedule 15.01.2014    source источник


Ответы (2)


Если у вас есть несколько открытых портов (переадресация портов), лучше использовать мост.

В основном вам нужно включить общедоступную сеть в Vagrantfile, добавьте следующее в блок конфигурации

config.vm.network "public_network"

См. документ: http://docs.vagrantup.com/v2/networking/public_network.html< /а>

ПРИМЕЧАНИЕ: вы можете оставить NAT по умолчанию, vagrant добавит второй виртуальный сетевой адаптер.

После завершения vagrant up введите vagrant ssh в поле и выполните ifconfig -a, чтобы получить IP-адрес 2-го интерфейса, вы сможете получить доступ к службам с хоста (поскольку они находятся в одной сети / локальной сети), если они не привязаны. только на петлю.

person Terry Wang    schedule 15.01.2014
comment
Все еще не работает... Однако я попытался включить частную сеть. Это работает, если я ввожу 192.168.33.xx, который является назначенным статическим IP-адресом. Но перенаправление портов по-прежнему не работает. Я ввел 127.0.0.1:9090 в свой браузер и получил недоступную страницу. - person Lamian; 15.01.2014
comment
Вы смешиваете сетевые режимы. Перенаправление портов ТОЛЬКО для NAT. Частный в Vagrant доступен только для хоста, хост должен получить к нему доступ, используя IP-адрес 192.168.33.xx в вашем случае. - person Terry Wang; 15.01.2014