Vagrant:在 virtualbox 上的来宾(Host-Only 适配器和 NAT)上配置两个 NIC

Vagrant: Configure two NICs on guest (Host-Only adapter and NAT) on virtualbox

我需要在 virtualbox 上使用带有两个网络接口卡的 vagrant 创建一个虚拟机。我已经手动配置了它们,但从现在开始,我需要它们由 vagrant 提供。

所以我需要:

  1. 192.168.56.* 上的 Host-Only Adapter,启用了 DHCP。
  2. 一个 NAT 适配器,以便访客能够获得主机以外的访问权限。

有什么想法吗?

目前,我的主机专用网络适配器是:

vagrant 将始终配置 NAT(第一个接口),以便 vagrant 可以通过 ssh 从主机到 VM 进行通信(您可以阅读 了解更多信息)

如果你想启用另一个网络接口,vagrant 将支持创建接口(检查 vagrant network doc),如果你指定接口,类似这样的东西应该可以工作

config.vm.provider "virtualbox" do |vb|
    config.vm.network "private_network", :type => 'dhcp', :name => 'vboxnet0', :adapter => 2
end
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", type: "dhcp"
end

对我有用,虽然我已经默认配置了 'vboxnet0',但它创建了一个新的仅主机网络 'vboxnet1'。

我无法进一步使用 vboxnet0,它引发了网络冲突错误。默认情况下,使用 vboxnet1 使用上述配置创建多个虚拟机对我有用。

就我而言,我执行了以下操作: 1) 在 vi​​rtualbox 中启用一个新的 'host-only' 适配器:只是 select 你的盒子,单击 'settings',单击 'network' 并启用与其他盒子不同的适配器。

2) 在 powershell 或 Windows 中的命令行中检查由 运行 'ipconfig' 创建的适配器的 ip。

3) 最后,在您的 vagrant 配置文件中,指定适配器网络内的 ip:config.vm.network "private_network",ip:"place_ip_here"。

例如,如果您的适配器的 ipv4 是“172.28.128.1”,子网掩码是“255.255.255.0”,那么您 IP 中的前三个数字将保持不变“172.28.128.another_number_here”