How to automatically select bridged network interfaces in Vagrant?

给你一囗甜甜゛ 提交于 2020-06-24 04:23:06

问题


What should I add in Vagrant file to prevent asking (after vagrant up command)

Which interface should the network bridge to?

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

I want to select the #1 option. Current I need to enter "1" manually. Please help!


回答1:


in your Vagrantfile, you should add

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

Then it should make vagrant happy (actually its more VirtualBox that is getting happy in this case) and select the correct network adapter for the VM




回答2:


You can actually provide a list of bridges and Virtualbox will cycle through them until it finds one that it can use. Put these in order of how you want them to be tried:

For example on my OSX Macbook:

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

So in your case:

config.vm.network "public_network", bridge: [
    "Intel(R) 82579LM Gigabit Network Connection",
    "VMware Virtual Ethernet Adapter for VMnet1",
    "VMware Virtual Ethernet Adapter for VMnet8",
]



回答3:


For Linux, I use the fact that this file is a Ruby script to detect the default route and use the name of that interface. This allows our whole team to use the Vagrantfile as is, without having to hard code interface names or constantly update a list. I would imagine that you could do something similar on Windows or Mac (guessing Mac might actually be the same, since it is *nix).

As a note, if no default network interface is detected, you will still be prompted to select one.

# Grab the name of the default interface
$default_network_interface = `ip route | grep -E "^default" | awk '{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


来源:https://stackoverflow.com/questions/33250304/how-to-automatically-select-bridged-network-interfaces-in-vagrant

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!