2014-01-15 210 views
2

我使用Vagrant安装了一个精确的32虚拟机,我正尝试使用devstack进行openstack开发。为了从主机访问服务,我在配置文件中设置了一些转发端口,但它不起作用。这是我无法连接到10.0.2.15,devstack促使我连接。我试图将VirtualBox中的网络模式从NAT切换到网桥,然后出现一条类似“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 

回答

1

我用流浪第2版与precise32 VM和使用端口转发成功通过他们的documentation

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

然后我访问使用localhost:1234

希望这会有所帮助。

+1

它适合我,谢谢。 – Robert

3

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

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

config.vm.network "public_network" 

见文件:http://docs.vagrantup.com/v2/networking/public_network.html

注意:您可以将默认的NAT那里,无业游民将添加第二个虚拟网络适配器。

一旦vagrant up完成,vagrant ssh入禁区,并做了ifconfig -a拿到第2个接口的IP地址,你应该能够从主机访问服务(因为它们是在同一网络内/ LAN)只要它们不仅绑定到回送。

+0

仍然无法正常工作......但是,我尝试启用专用网络。如果我输入192.168.33.xx这是分配的静态IP,它将起作用。但端口转发仍然不起作用。我在浏览器中输入了127.0.0.1:9090,出现了“不可用”页面。 – Lamian

+1

您正在混合网络模式。端口转发仅适用于NAT。 Vagrant中的Private是Host-Only,主机应该使用您的IP地址192.168.33.xx来访问它。 –