2014-01-15 212 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來訪問它。 –