107
110

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vagrant 事始め 04 - Vagrant のネットワーク設定

Last updated at Posted at 2018-04-11

前回からの続きです。

Vagrantfile で設定できるネットーワークは、大まかに 5 種類あります。

  • NAT
  • ホストオンリーアダプター
  • 内部ネットワーク
  • ブリッジアダプター
  • ポートフォワーディング

1. NAT

Vagrantfile の初期設定です。同ファイルにネットワークの設定を記述しない場合は、NAT が設定されます。NAT の設定がされた場合、SSH の接続はできず、Virtualbox のターミナルで仮想マシンを操作することになります。

2. ホストオンリーアダプター

ホスト (ローカルマシン) から仮想マシンへ接続ができるようになります。この設定で、仮想マシンの IP を固定 IP にするか、動的 (DHCP) に指定するか選択できます。

Vagrantfile
  # 固定 IP を指定するときは、下記の行を記述する
  config.vm.network "private_network", ip: "192.168.33.10"
Vagrantfile
  # 動的に IP を指定するときは、下記の行を記述する
  config.vm.network "private_network", type: "dhcp"

3. 内部ネットワーク

  1. NAT 接続と同じですが、Vagrantfile に同じネットワーク名が指定されている場合、仮想マシン同士で通信ができるようになります。
Vagrantfile
  # ネットワーク名を virtualbox__intnet で指定する
  config.vm.network "private_network", ip: "192.168.33.10", virtualbox__intnet: "mynetwork"

内部ネットワークの使用を設定するが、名称を指定しない場合は初期設定で「intnet」名が割り当てられます。

Vagrantfile
  # virtualbox__intnet: true だと、ネットワーク名に intnet が割り当てられる
  config.vm.network "private_network", ip: "192.168.33.10", virtualbox__intnet: true

4. ブリッジアダプター

ローカルマシンが所属するネットワーク内の IP を仮想マシンに割り当てます。同一のネットワーク内の IP を割り当てることで、ローカル・仮想マシン以外のクライアントが接続できるようになります。

Vagrantfile
  # 固定 IP を割り当てる場合
  config.vm.network "public_network", ip: "192.168.0.10"
Vagrantfile
  # DHCP で動的に IP を割り当てる場合
  config.vm.network "public_network"
Vagrantfile
  # 複数のネットワークインターフェースがある場合、vagrant up 時に使用するネットワークインターフェースを尋ねられるので、
  # その場合は Vagrantfile に使用するネットワークインターフェースを記述してしまう
  # 例えば、有線LAN と無線 LAN 接続ができるノート PC など
  config.vm.network "public_network", bridge: "en0: Ethernet"

5. ポートフォワード

ローカルマシンの特定のポートに届く接続を、仮想マシンに指定したポートへ転送します。

Vagrantfile
  # ローカルマシン 80 番ポートへの接続を仮想マシンの 8080 番ポートへ転送する
  config.vm.network "forwarded_port", guest: 80, host: 8080

ネットワーク設定の一覧表

種類 VM
-> ローカル
ローカル
-> VM
VM
-> 外部
外部
-> VM
VM <-> VM
NAT × × ×
ホストオンリーアダプター × ×
内部ネットワーク × ×
ブリッジアダプター
ポートフォワーディング × ×
  • 外部とはローカルマシン以外を指します
    (ローカルネットワークのPCや仮想マシンの他インターネット等)
  • 「VM <-> VM」は同じネットワーク内に存在する仮想マシン同士の通信を指します

107
110
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
107
110

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?