vagrant/docs/host_only_networking.md

2.1 KiB

layout title
documentation Documentation - Host-Only Networking

Host-Only Networking

Host-Only networking is a feature of VirtualBox which allows multiple virtual machines to communicate with each other through a network via the host machine. The network created by host-only networking is private to the VMs involved and the host machine. The outside world cannot join this network.

Vagrant allows users to assign a static IP to a VM, which is then setup using host-only networking.

Debian/Ubuntu Only!

Since setting up host-only networking requires configuring the OS to use the new interface, this is a system behavior. Currently, Vagrant only supports Ubuntu/Debian out of the box.

If you'd like another OS supported, you can add it yourself using a custom system or you can get in touch with a Vagrant developer and assist us in adding it to the core.

Assigning an IP

Assigning an IP to a virtual machine using Vagrant is simple enough, using a single function within the Vagrantfile:

{% highlight ruby %} Vagrant::Config.run do |config| config.vm.network("192.168.10.10") end {% endhighlight %}

The above will setup the VM with that specific IP. It is up to the user to make sure that no static IPs will collide with other virtual machines.

Multiple Networks

By default, Vagrant uses a netmask of 255.255.255.0. This means that as long as the first three parts of the IP are equivalent, VMs will join the same network. So if two VMs are created with IPs 192.168.10.10 and 192.168.10.11, they will be networked together. However, if a VM is created with an IP of 192.168.11.10, it will be on a separate network and will not be able to communicate with the other VMs.

A custom netmask can also be used, although a netmask of 255.255.255.0 should be sufficient in most cases. An example of using a custom netmask is shown below:

{% highlight ruby %} Vagrant::Config.run do |config| config.vm.network("192.168.11.10", :netmask => "255.255.0.0") end {% endhighlight %}