4

我使用 Vagrant 安装了一个精确的 32 VM,我正在尝试使用 devstack 进行 openstack 开发。为了从主机访问服务,我在配置文件中设置了一些转发端口,但它不起作用。那就是我无法连接到 devstack 提示我连接的 10.0.2.15。我试图将 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
4

2 回答 2

3

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

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

config.vm.network "public_network"

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

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

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

于 2014-01-15T05:29:22.203 回答
2

我使用带有精确32 vm的Vagrant版本2并成功使用端口转发,如他们的文档所示

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

然后我使用localhost:1234

希望这可以帮助。

于 2014-01-15T03:07:27.163 回答