ポートフォワード - VirtualBox
起動中のゲストPCに、ホストPCからはアクセスできるが、他のPCやスマホなどからは通常アクセスできない。
だが、スマホ向けサイトをゲスト上で作っていて、実機から見え方をテストしたいときなど、アクセスできると便利。
その場合、スマホ→ホストPC→(自動転送)→ゲストPCとなるように設定する。自動転送はあらかじめ設定されたポートへのアクセスに対してのみ行われ、これをポートフォワードという。
以下の3通りの方法がある。
- Windowsの設定からおこなう
- CUI(コマンドプロンプト)からの操作が必要
- でも割と簡単
- VirtualBoxの設定からおこなう
- GUIでの設定が可能
- Vagrantを使っている場合
- VagrantFileの設定で行う
前提
- ホストPCに、接続機器から特定できるIPアドレス(LAN内ならローカルIP、外部ならグローバルIP)が振られている
- ゲストPCに、ホストPCから特定できるIPアドレスが振られている
Windowsの設定から行う
ポートフォワードを参照。設定に以下を用いる。
listenport
: ホストPCの待受ポートconnectaddress
: ゲストPCのIPアドレスconnectport
: ゲストPCの待受ポート
VirtualBoxの設定から行う
- VirtualBox マネージャから、目的のインスタンスの設定を開く
- [ネットワーク]を開く
- 割り当てが「NAT」となっているアダプターを見つけ、[高度]から詳細設定を開く
- [ポートフォワーディング]をクリック。「ポートフォワーディング ルール」ダイアログが出現
- 右上の「+」から新規設定を追加
- 「名前」を適当に設定
- 「ホストポート」にホストPCで待ち受けるポート
- 「ゲストポート」に仮想PCで待ち受けるポート
- [OK]→[OK]で設定が反映される
VagrantFileの設定から行う
VagrantFileに以下を追記して、立ち上げ直す。
config.vm.network "forwarded_port", host: 3000, guest: 3000
これで
スマホなどの接続機器から「(ホストPCのIPアドレス):(ホストポート)」(例: 192.168.11.22:8080)にアクセスすると、ゲストPCのゲストポートに転送される。