こんにちは。
BIG1等を当てたいサラリーマンです。
public_network(ブリッジ接続)を使って、LAN内の別マシンから仮想マシンにアクセスする方法を記事にします。
1台のマシンをホストにして、複数のクライアントマシンからのアクセスすることが可能になります。
複数人で開発したり、iPhoneなのどのモバイル端末からWebページを確認したりできれば便利だと思います。
こちらのエントリーで構築した環境に実装します。
もくじ
先ずは、簡易設定を行って、仕組みを理解して高度な設定を行います。
簡易設定
Vagrantfile編集
config.vm.networkをコメントインします。
config.vm.network "public_network"
Vagrant up
(省略)
==> default: Available bridged network interfaces:
1) en1: Wi-Fi (AirPort)
2) en0: Ethernet
3) p2p0
==> default: When choosing an interface, it is usually the one that is
==> default: being used to connect to the internet.
default: Which interface should the network bridge to? 1
どのネットワーク インターフェース(アダプター)を使用するか聞かれます。
赤字を入力して、Enterします。
仮想マシンが起動したら、vagrant sshでログインします。
IPアドレスを調べる
ifconfig | grep "inet addr" inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet addr:192.168.33.10 Bcast:192.168.33.255 Mask:255.255.255.0 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0 inet addr:127.0.0.1 Mask:255.0.0.0
僕の環境では、192.168.1.12がDHCPから割り当てられIPアドレスです。
別のマシンから接続
別のマシンからSSH接続します。
初めてアクセスするので、公開鍵指紋を尋ねられるのでyesを入力します。
ログインできたのが分かります。
高度な設定
高度な設定といっても設定は簡単です。
DHCPから割り当てられたIPアドレスは動的IPアドレスなので、接続するたびにIPアドレスが変わる可能性があります。
固定IPアドレスを割り当てます。
vagrant upした際に、アダプターも毎回聞かれるので、固定で設定します。
Vagrantfile編集
先ほどの、config.vm.networkの行を以下の様に変更します。
config.vm.network "public_network", ip: "192.168.1.151", bridge: "en1: Wi-Fi (AirPort)"
ホスト部を、151にしたのは好みです。
vagrant reloadして仮想マシンを再起動します。
別のマシンからアクセス
今度は、別のマシンからブラウザで、DocumentRootにアクセスしてみます。
192.168.1.151でアクセスします。
僕の環境はこちらのエントリーで、このブロクの開発環境を構築しているので当ブログが表示されます。
iPhoneからもアクセスしてみました。
まとめ
簡単に構築できました。
クライアント側の開発環境を随分と軽くするとこが出来ると思います。
この方法はLAN内限定です。いつでもどこでも、という訳にはいきません。
MacのどこでもMyMacは、グローバルIPアドレスを解決してくれるとの情報を目にしたことがあるので、次の機械ではWANからでもアクセスできるように構築できれば面白いかと思います。
実現できれば、記事にまとめたいと思います。