2013-09-22 41 views

回答

8

在主機端,流浪什麼都不做。據我所知,Vagrant從不接觸主機網絡配置。

在來賓側,當前的provider實現網絡配置邏輯。這裏是VirtualBox的供應商做什麼:

https://github.com/mitchellh/vagrant/blob/master/plugins/providers/virtualbox/action/network.rb

基本上實現由兩個連續的步驟:

  1. 啓用所有的虛擬機上所需的網絡適配器,使用虛擬機管理程序的命令;
  2. 在訪客操作系統上配置IP地址,使用guest capabilities,在這種情況下爲configure_networks功能。

作爲一個例子,這裏是基於Debian的Linux OS的configure_networks能力的實現:

https://github.com/mitchellh/vagrant/blob/master/plugins/guests/debian/cap/configure_networks.rb

+5

「在主機方面,Vagrant什麼都不做」部分肯定是錯誤的。根據配置,Vagrant在VirtualBox中創建新的網絡...... – mmey

+0

在Linux中,如果您在託管虛擬機VM時在終端中運行「ifconfig」,您將看到提供程序創建的「vboxnet0」接口。 – skedastik

9

回到流浪1.0.x中它被稱爲Host-only Networking,它是VirtualBox的的特徵,它允許多個虛擬機經由所述主機的網絡彼此通信。由主機專用網絡創建的網絡對涉及的虛擬機和主機是私有的。外部世界不能加入這個網絡。

在現場後面,VirtualBox在主機上創建一個新的虛擬接口(「回送」),該接口顯示在現有網絡接口旁邊。

如果沒有分配靜態IP,VirtualBox甚至會爲主機專用網絡(專用網絡)提供內置DHCP服務器。它可以在文件 - 首選項 - 網絡中配置。

多見於=>

+0

如果我在路由器後面。是否將私有IP分配爲路由器的一部分?或者它對我自己的機器是私人的?我如何確保專用網絡未分配給路由器,即它不使用路由器的DHCP? – CMCDragonkai

+3

@CMCDragonkai您的路由器不參與VirtualBox的專用網絡。您可以從局域網拔出/斷開連接,並且仍然可以使用專用網絡(內部網絡)。 –