Vagrant で仮想マシンを構築する(4) 仮想マシンのネットワーク

仮想マシンで使用できるネットワークは、以下の3つがあります。

  1. フォワードされたネットワーク
  2. プライベートネットワーク(ホストのみのネットワーク)
  3. パブリックネットワーク(ブリッジネットワーク)

フォワードされたネットワーク

ホストの特定ポートへのアクセスを仮想マシンへ転送するネットワーク構成です。
以下のように転送したいポートを Vagrantfile へ設定します。

Vagrant.configure(2) do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8888
end

デフォルトのプロトコルtcp ですが、udp も転送できます。

Vagrant.configure(2) do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8888, protocol: 'udp'
end

プライベートネットワーク(ホストのみのネットワーク)

ホストと仮想マシンだけ、また仮想マシン同士を接続するプライベートなネットワーク構成です。
仮想マシンへ割り当てるスタティック ip アドレスを設定します。

Vagrant.configure(2) do |config|
  config.vm.network "private_network", ip: "192.168.56.10"
end

VirtualBox のホストオンリーネットワークアダプタ vboxnet も設定してくれます。

パブリックネットワーク(ブリッジネットワーク)

仮想マシンがホストと同じネットワークに接続される構成です。
ブリッジに使用するホスト側のネットワークインタフェースを設定します。

Vagrant.configure(2) do |config|
  config.vm.network "public_network", bridge: 'en0: Wi-Fi (AirPort)'
end

まとめ

Vagrant のネットワーク設定は、複数の構成を組み合わせることができるので、柔軟なネットワーク構成を簡単に作成することができます。
Networking - Vagrant Documentation