mirror of
https://github.com/hashicorp/vagrant.git
synced 2026-02-03 20:39:27 -05:00
78 lines
2.6 KiB
Text
78 lines
2.6 KiB
Text
---
|
|
layout: docs
|
|
page_title: Basic Usage - Networking
|
|
description: |-
|
|
Vagrant offers multiple options for how you are able to connect your
|
|
guest machines to the network, but there is a standard usage pattern as
|
|
well as some points common to all network configurations that
|
|
are important to know.
|
|
---
|
|
|
|
# Basic Usage of Networking
|
|
|
|
Vagrant offers multiple options for how you are able to connect your
|
|
guest machines to the network, but there is a standard usage pattern as
|
|
well as some points common to all network configurations that
|
|
are important to know.
|
|
|
|
## Configuration
|
|
|
|
All networks are configured within your [Vagrantfile](/vagrant/docs/vagrantfile/)
|
|
using the `config.vm.network` method call. For example, the Vagrantfile
|
|
below defines some port forwarding:
|
|
|
|
```ruby
|
|
Vagrant.configure("2") do |config|
|
|
# ...
|
|
config.vm.network "forwarded_port", guest: 80, host: 8080
|
|
end
|
|
```
|
|
|
|
Every network type has an identifier such as `"forwarded_port"` in the above
|
|
example. Following this is a set of configuration arguments that can differ
|
|
for each network type. In the case of forwarded ports, two numeric arguments
|
|
are expected: the port on the guest followed by the port on the host that
|
|
the guest port can be accessed by.
|
|
|
|
## Multiple Networks
|
|
|
|
Multiple networks can be defined by having multiple `config.vm.network`
|
|
calls within the Vagrantfile. The exact meaning of this can differ for
|
|
each [provider](/vagrant/docs/providers/), but in general the order specifies
|
|
the order in which the networks are enabled.
|
|
|
|
## Enabling Networks
|
|
|
|
Networks are automatically configured and enabled after they've been defined
|
|
in the Vagrantfile as part of the `vagrant up` or `vagrant reload` process.
|
|
|
|
## Setting Hostname
|
|
|
|
A hostname may be defined for a Vagrant VM using the `config.vm.hostname`
|
|
setting. By default, this will modify `/etc/hosts`, adding the hostname
|
|
on a loopback interface that is not in use. For example:
|
|
|
|
```ruby
|
|
Vagrant.configure("2") do |config|
|
|
# ...
|
|
config.vm.hostname = "myhost.local"
|
|
end
|
|
```
|
|
|
|
will add the entry `127.0.X.1 myhost myhost.local` to `/etc/hosts`.
|
|
|
|
A public or private network with an assigned IP may be flagged for hostname.
|
|
In this case, the hostname will be added to the flagged network. Note, that
|
|
if there are multiple networks only one may be flagged for hostname. For
|
|
example:
|
|
|
|
```ruby
|
|
Vagrant.configure("2") do |config|
|
|
# ...
|
|
config.vm.hostname = "myhost.local"
|
|
config.vm.network "public_network", ip: "192.168.0.1", hostname: true
|
|
config.vm.network "public_network", ip: "192.168.0.2"
|
|
end
|
|
```
|
|
|
|
will add the entry `192.168.0.1 myhost myhost.local` to `/etc/hosts`.
|