Vagrant如何创建专用网络?

时间:2013-09-22 19:57:18

标签: networking virtual-machine vagrant

Vagrant在设置具有固定IP(http://docs.vagrantup.com/v2/networking/private_network.html)的专用网络时,在主机和客户机后面做什么?

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "192.168.50.4"
end

2 个答案:

答案 0 :(得分:11)

回到Vagrant 1.0.x,它被称为Host-only Networking,它是VirtualBox的一项功能,它允许多个虚拟机通过主机通过网络相互通信。由仅主机网络创建的网络对于所涉及的VM和主机是私有的。外面的世界无法加入这个网络。

在幕后,VirtualBox在主机上创建一个新的虚拟接口(“loopback”),它出现在现有网络接口旁边。

如果没有分配静态IP,VirtualBox甚至为仅主机网络(专用网络)提供内置DHCP服务器。它可以在文件 - 首选项 - 网络中配置。

查看更多内容=>

答案 1 :(得分:10)

在主持人方面,Vagrant什么都不做。据我所知,Vagrant从不接触主机网络配置。

在客户端,当前provider实现网络配置逻辑。以下是VirtualBox提供程序的作用:

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

基本上,实现由两个连续的步骤组成:

  1. 使用管理程序命令启用虚拟机上所有需要的网络适配器;
  2. 使用guest capabilities在来宾操作系统上配置IP地址,在这种情况下使用configure_networks功能。
  3. 举个例子,这里是基于debian的linux操作系统configure_networks功能的实现:

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