我使用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
答案 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
希望这有帮助。