當Vagrant建立一個固定IP的私人網絡(http://docs.vagrantup.com/v2/networking/private_network.html)時,它在幕後對主機和訪客機器做些什麼?Vagrant如何創建一個私人網絡?
Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4"
end
當Vagrant建立一個固定IP的私人網絡(http://docs.vagrantup.com/v2/networking/private_network.html)時,它在幕後對主機和訪客機器做些什麼?Vagrant如何創建一個私人網絡?
Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4"
end
在主機端,流浪什麼都不做。據我所知,Vagrant從不接觸主機網絡配置。
在來賓側,當前的provider實現網絡配置邏輯。這裏是VirtualBox的供應商做什麼:
https://github.com/mitchellh/vagrant/blob/master/plugins/providers/virtualbox/action/network.rb
基本上實現由兩個連續的步驟:
configure_networks
功能。作爲一個例子,這裏是基於Debian的Linux OS的configure_networks
能力的實現:
https://github.com/mitchellh/vagrant/blob/master/plugins/guests/debian/cap/configure_networks.rb
回到流浪1.0.x中它被稱爲Host-only Networking,它是VirtualBox的的特徵,它允許多個虛擬機經由所述主機的網絡彼此通信。由主機專用網絡創建的網絡對涉及的虛擬機和主機是私有的。外部世界不能加入這個網絡。
在現場後面,VirtualBox在主機上創建一個新的虛擬接口(「回送」),該接口顯示在現有網絡接口旁邊。
如果沒有分配靜態IP,VirtualBox甚至會爲主機專用網絡(專用網絡)提供內置DHCP服務器。它可以在文件 - 首選項 - 網絡中配置。
多見於=>
如果我在路由器後面。是否將私有IP分配爲路由器的一部分?或者它對我自己的機器是私人的?我如何確保專用網絡未分配給路由器,即它不使用路由器的DHCP? – CMCDragonkai
@CMCDragonkai您的路由器不參與VirtualBox的專用網絡。您可以從局域網拔出/斷開連接,並且仍然可以使用專用網絡(內部網絡)。 –
「在主機方面,Vagrant什麼都不做」部分肯定是錯誤的。根據配置,Vagrant在VirtualBox中創建新的網絡...... – mmey
在Linux中,如果您在託管虛擬機VM時在終端中運行「ifconfig」,您將看到提供程序創建的「vboxnet0」接口。 – skedastik