2015-01-08 28 views
6

分配在顛沛流離了IP地址,客戶盒得到分配了錯誤的IP地址,並引起以下錯誤:VirtualBox的客人沒有得到通過Vagrantfile

... 
... 
SSH address: 127.0.0.1:2222 
serverbox: SSH username: vagrant 
serverbox: SSH auth method: private key 
serverbox: Warning: Connection timeout. Retrying... 
serverbox: Warning: Connection timeout. Retrying... 
serverbox: Warning: Connection timeout. Retrying... 
... 

我在家裏,在辦公室,所以必須做的工作總是重新配置Vagrantfile中的IP地址分配,這取決於我在哪裏,因爲子網是不同的。 (192.168.x.x與10.80.x.x)

直到昨天,這一直奏效。我不知道是什麼原因導致這些問題,因爲我沒有做任何調整。

Vagrantfile:

Vagrant.configure("2") do |config|                              
    config.vm.provider "virtualbox" do |vb|                             
    vb.customize ["modifyvm", :id, "--memory", "512"]                          
    end                                      
    config.vm.network "public_network", ip: '10.80.2.144' 
    #config.vm.network "public_netowrk", ip: '192.168.1.144'                       
end 

... 

的Vagrantfile應該把我的guestbox上10.80.x.x地址,但netstat顯示的是,我的盒子仍然在192.168.x.x地址往上走。這意味着我無法與guestbox一起工作,因爲它將進入越界子網。

我已經完成了停止和再次以及完全重新啓動我的CPU和檢查,以確保虛擬化在BIOS中。

我看了here並嘗試this方法無濟於事。

我也嘗試過vb.gui = true,但是我的機器正在無頭運行。 Virtualbox的預覽日誌屏幕可能會提供一些有用的信息,但它非常小,我無法做出任何事情。如果有人對如何做出更大的建議可能會有很大的幫助。

UPDATE:

所以我的解決辦法是不希望的解決方案,但我的工作日已經魚雷需要前進,所以我只是毀了我的箱子和重新up'ed。

顯然,我的鑰匙變得不安全。不知道這是怎麼發生的,但新箱子取代了我的鑰匙。

+1

我猜如果你冷靜下來,至少應該留下一個迴應,說明爲什麼不明確。 – earth2jason

+0

這種情況可能是因爲VirtualBox無法重定向端口,儘管稱爲 '** ==>默認值:轉發端口... 默認:22 => 2222(適配器1)**' 你可能看看我的問題在這裏的完整描述[鏈接](http://stackoverflow.com/questions/36529651/virtualbox-nat-failed-to -redirect-TCP-127-0-0-12222-10-0-2-1522)。 我仍然不知道如何解決重定向失敗( 請在我的帖子中放下一個筆記,如果你如何成功! – WebComer

回答

6

我對你的問題的建議。

在更改IP後,在該實例上運行vagrant reloadvagrant provision

如果沒有得到您的問題固定,嘗試第二個:

變化public_network到private_network

config.vm.network "private_network", ip: '10.80.2.144' 
#config.vm.network "private_network", ip: '192.168.1.144' 
+0

試圖通過SSH進行連接後,流浪超時。 。然後,我嘗試更改爲private_network,但收到以下內容:指定的主機網絡與非主機網絡發生衝突! 這會導致您的指定IP無法訪問.... – earth2jason

+0

如果您通過配置命令出現超時錯誤, – BMW

+0

在另一個箱子上,我摧毀了它,並且在它上面運行了一段時間,但它的工作原理卻是一樣的。「遠程連接斷開連接。重試..」然後它繼續找到鑰匙是不安全的,取而代之的是盒子的創建,我能夠進入並運行,我不想這樣做到我的另一個盒子,但看起來像這是唯一的選擇。 – earth2jason

0

NOTE
This answer is not the problem solution. It might be helpful while debugging problems when you can't ssh in into your vagrant box

我使用的問題:1.8.1

  • 流浪
  • VirtualBox 5.0.12r104815
  • Vagrantfile選項config.vm.network "private_network", ip: "10.50.50.3"

以下步驟幫我解決我的問題:

  • 啓用在Vagrantfile的GUI加入vb.gui = true
  • 啓動虛擬機與vagrant up
  • 使用VirtualBox終端登錄(用戶:vagrant,密碼:vagrant)
  • 檢查接口IP在devbox

    $ sudo ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' 
    10.0.2.15 
    
  • 檢查本地VirtualBox的界面(與ifconfig):

    vboxnet8 Link encap:Ethernet HWaddr 0a:00:27:00:00:08 
          inet addr:10.50.50.1 Bcast:10.50.50.255 Mask:255.255.255.0 
          inet6 addr: fe80::800:27ff:fe00:8/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:258 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B) TX bytes:39147 (39.1 KB) 
    

我看到虛擬機的IP不適合主機vboxnet8接口ip範圍。

我試圖用vagrant reload重新加載虛擬機,但沒有成功。唯一幫助我的是將虛擬機重置爲vagrant destroy -f,vagrant up(請參閱下面的其他評論)。


這是怎麼發生的?在第一次啓動虛擬機之後,我的一個配置腳本更改了後來無效的/etc/ssh/sshd_config。然後腳本重新啓動了導致連接問題的ssh。

Vagrant啓動了虛擬機,但我無法ssh進入它。

然後我一定改變了private_network ip造成了這個奇怪的情況。

最後使/etc/ssh/sshd_config再次有效解決了我的問題。

1

只需添加在Vagrantfile這兩條線和流浪漢重裝

config.vm.network "forwarded_port", guest: 80, host: 8080, 
    auto_correct: true 

config.vm.network "private_network", ip: "192.168.100.1", 
    auto_config: false 

希望問題將得到解決。

相關問題