流浪汉端口转发不起作用

时间:2014-01-15 00:29:23

标签: virtualbox vagrant openstack devstack

我使用Vagrant安装了一个精确的32 VM,我正在尝试使用devstack进行openstack开发。为了从主机访问服务,我在配置文件中设置了一些转发端口,但它不起作用。那是我无法连接到10.0.2.15 devstack促使我连接。我试图将VirtualBox中的网络模式从NAT切换到Bridge,然后弹出一个错误,说“NAT名称已经存在”。我检查了VirtualBox文档,但没有真正理解。有人帮帮我...

我将以下内容添加到vagrant配置文件中:

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

2 个答案:

答案 0 :(得分:3)

如果要暴露多个端口(端口转发),最好使用桥接端。

基本上您需要在Vagrantfile中启用公共网络,将以下内容添加到配置块

config.vm.network "public_network"

请参阅doc:http://docs.vagrantup.com/v2/networking/public_network.html

  

注意:您可以在此处保留默认NAT,vagrant将添加第二个虚拟网络适配器。

vagrant up完成后,vagrant ssh进入框并执行ifconfig -a以获取第二个接口的IP地址,您应该能够从主机访问服务(如只要它们不仅绑定到环回,它们就在同一个网络/局域网内。

答案 1 :(得分:2)

我使用精确32 vm的Vagrant版本2并成功使用端口转发,如documentation所示

Vagrant.configure("2") do |config|
   config.vm.box = "precise32"
   config.vm.network "forwarded_port", guest: 8080, host: 1234
end

然后我使用localhost:1234

进行访问

希望这有帮助。