这个 Vagrant 错误是什么意思,如何解决?对于“public_network”和“private_network”在一起

问题描述 投票:0回答:4

我的 Vagrantfile 里有这个

Vagrant.configure("2") do |config|
  config.vm.network "public_network"
  config.vm.network "private_network", type: "dhcp"

当我尝试时它给了我这个错误

vagrant up

==> 默认值:清除任何先前设置的网络接口...
您尝试通过 DHCP 配置的仅主机网络接口 已经有一个启用了 DHCP 的冲突主机适配器。这 此适配器上的 DHCP 与 DHCP 设置不兼容。二 仅主机网络接口不允许重叠,并且每个 仅主机网络接口只能有一个 DHCP 服务器。请 重新配置主机专用网络或删除虚拟机 使用其他仅主机网络。

用了很多词,我还是没看懂。我所有的虚拟机都已关闭。为什么网络上不能有一个以上的 DHCP 客户端呢?同一个网络上经常有多个 DHCP 客户端!除了一台使用桥接适配器之外,我所有的机器都使用 NAT 适配器。

VirtualBox 5.2.4
流浪者 2.0.1

networking vagrant virtualbox
4个回答
2
投票

在 Vagrant 中,公共网络就像一个带有 dhcp 的私有网络(在纯网络意义上),隐式桥接到您的主机,因此可以从您的机器外部访问它,它作为 documentation 状态有点含糊。

所以你试图在同一台机器的同一个管理程序上使用 DHCP 创建两个网络,这不能与 Virtualbox 一起使用,因为 Virtualbox 只能通过 DHCP 将一个 IP 分配给一台机器。

如果您不需要“外部世界”来访问您的机器,那么公共网络是无用的,只需使用通过 DHCP 的专用网络即可。

或者尝试使用具有静态 IP 的私有网络的公共网络。


0
投票

我有同样的错误,在我的例子中,我做了以下事情: 1) 在 virtualbox 中启用了一个新的“仅主机”适配器:只需选择您的盒子,单击“设置”,单击“网络”并启用与其他盒子不同的适配器。

2) 通过在 Windows 的 powershell 或命令行中运行“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”


0
投票

这个问题可能由于不同的原因而发生。在我的例子中,当 vagrant 启动虚拟机时,它会启动另一个网络适配器 vboxnet2,而我已经创建并附加了一个适配器 vboxnet1。因此,这两个适配器是重叠的。 这个帖子在这里输入链接描述帮助我解决了我的问题


0
投票

而不是这个:

 config.vm.network "private_network", type: "dhcp", netmask: "255.255.0.0", name: "vboxnet3", dhcp_ip:"10.101.0.2", dhcp_lower: "10.101.4.3", :dhcp_upper=>"10.101.4.254"

添加这个:

 config.vm.network "private_network", type: "dhcp", netmask: "255.255.0.0", dhcp_ip:"10.101.0.2", dhcp_lower: "10.101.4.3", :dhcp_upper=>"10.101.4.254"

对于 netmask、dhcp_ip 等字段。转到 VirtualBox > Tools 并查找 Host-only Networks。

单击DCHP 服务器 标签。 在那里你会找到要映射的字段:

  • 服务器地址 -> dhcp_ip
  • 服务器掩码 -> 网络掩码
  • 下层和上层很明显
© www.soinside.com 2019 - 2024. All rights reserved.