Vagrant
Networking
VirtualBox Host-Only Networks
By default, private networks are host-only networks,
because those are the easiest to work with. In VirtualBox, since you can
create multiple host-only networks, it is also possible to specify which
host-only network you want the Vagrant VirtualBox provider to use for
a given interface. To do this, use the name
argument with the name of
the host-only interface to use.
Vagrant.configure("2") do |config|
config.vm.network "private_network", type: "dhcp",
name: "vboxnet3"
end
VirtualBox Internal Network
The Vagrant VirtualBox provider supports using the private network as a VirtualBox internal network. By default, private networks are host-only networks, because those are the easiest to work with. However, internal networks can be enabled as well.
To specify a private network as an internal network for VirtualBox
use the virtualbox__intnet
option with the network. The virtualbox__
(double underscore) prefix tells Vagrant that this option is only for the
VirtualBox provider.
Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4",
virtualbox__intnet: true
end
Additionally, if you want to specify that the VirtualBox provider join a specific internal network, specify the name of the internal network:
Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4",
virtualbox__intnet: "mynetwork"
end
VirtualBox NIC Type
You can specify a specific NIC type for the created network interface
by using the nic_type
parameter. This is not prefixed by virtualbox__
for legacy reasons, but is VirtualBox-specific.
This is an advanced option and should only be used if you know what you are using, since it can cause the network device to not work at all.
Example:
Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4",
nic_type: "virtio"
end