タイトルだけでは何をやりたいのか分からないので詳しく説明する。

まず、一つのマシン上に複数の開発環境がある。

それぞれの開発環境のルートディレクトリにVagrantfileがあり、それぞれ「vagrant up」コマンドで仮想環境を立ち上げる。

Webサーバーにはそれぞれの仮想環境が持つIPアドレスを用いてアクセスするのだが、同一LAN内の別PCからでもアクセスできるようにしたい。

つまりイメージする構成は以下のとおりとなる。

以前、似たような記事を紹介したが、この設定方法だと複数のVagrant仮想サーバーにアクセスすることができなかったので今回の記事を書くに至った。

設定方法

設定は簡単でVagrantfileを書き換えるだけ。

config.vm.network "private_network", ip: "192.168.33.10"

↓

config.vm.network "public_network", type: "dhcp"

「config.vm.network」の設定を上記のとおり書き換える。

「dhcp」の指定がポイントで、これで複数の仮想環境でもVagrant起動時に自動的に公開用ipアドレスがそれぞれの環境に割り振られる。

それぞれのVagrantを起動したら割り振られたIPアドレスを確認しよう。

# Vagrant起動
vagrant up

# SSH接続
vagrant ssh

# IPアドレス確認
hostname -I

「192.168」で始まるアドレスが表示されるはずなので、このIPに別のマシンからアクセスする。

問題なくページが表示されればOKだ。