35

我应该在 Vagrant 文件中添加什么以防止询问(在 vagrant up 命令之后)

网桥应该连接到哪个接口?

Available bridged network interfaces:
1) Intel(R) 82579LM Gigabit Network Connection
2) VMware Virtual Ethernet Adapter for VMnet1
3) VMware Virtual Ethernet Adapter for VMnet8

我想选择#1 选项。当前我需要手动输入“1”。请帮忙!

4

4 回答 4

46

在您的 Vagrantfile 中,您应该添加

config.vm.network "public_network", bridge: "Intel(R) 82579LM Gigabit Network Connection"

然后它应该让 vagrant 高兴(实际上在这种情况下它更高兴的是 VirtualBox)并为 VM 选择正确的网络适配器

于 2015-10-21T07:20:12.070 回答
8

实际上,您可以提供一个网桥列表,Virtualbox 将在它们之间循环,直到找到可以使用的网桥。按照您希望如何尝试它们的顺序排列它们:

例如在我的 OSX Macbook 上:

  config.vm.network "public_network", bridge: [
      "en0: Wi-Fi (AirPort)",    
      "en1: Wi-Fi (AirPort)",
  ]

所以在你的情况下:

config.vm.network "public_network", bridge: [
    "Intel(R) 82579LM Gigabit Network Connection",
    "VMware Virtual Ethernet Adapter for VMnet1",
    "VMware Virtual Ethernet Adapter for VMnet8",
]
于 2018-07-13T19:36:12.190 回答
7

对于 Linux,我使用该文件是 Ruby 脚本这一事实来检测默认路由并使用该接口的名称。这允许我们整个团队按原样使用 Vagrantfile,而无需硬编码接口名称或不断更新列表。我想你可以在 Windows 或 Mac 上做类似的事情(猜测 Mac 可能实际上是相同的,因为它是 *​​nix)。

请注意,如果未检测到默认网络接口,系统仍会提示您选择一个。

# Grab the name of the default interface
$default_network_interface = `ip route | awk '/^default/ {printf "%s", $5; exit 0}'`
...
Vagrant.configure("2") do |config|
    # Specify the interface when creating the public network
    config.vm.network "public_network", bridge: "#$default_network_interface"
    ...
end
于 2019-11-21T13:42:19.477 回答
1

我只是从 vagrant 配置文件中取出 config.vm.network :public_network 。

vagrant 启动时没有问我关于连接互联网的桥接接口的奇怪问题。

于 2020-06-25T22:32:14.220 回答