Hyper-Vで既定のスイッチに接続している仮想マシンに外部からアクセスする方法

Hyper-Vで既定のスイッチに接続している仮想マシンに外部からアクセスする方法

Windows 10のHyper-Vで、既定のスイッチ(Default Switch)に接続した仮想マシン(NAT接続の仮想マシン)は、通常はホストマシン以外の外部のマシンからアクセスすることができませんが、ポートフォワードを設定すれば、外部のマシンからアクセスできるようになります。

そこでここでは、netshコマンドでポートフォワードを設定して、ホストマシン以外の外部のマシンから既定のスイッチ(Default Switch)に接続している仮想マシン(NAT接続の仮想マシン)に接続できるようにする手順を紹介します。

ポートフォワードの設定手順

netshコマンドで、既定のスイッチ(Default Switch)に接続した仮想マシン(NAT接続の仮想マシン)にポートフォワードする手順は、次のとおりです。

なお、ここでは以下のような環境で、外部のマシンから既定のスイッチ(Default Switch)に接続した仮想マシン(NAT接続の仮想マシン)のTCP8080番ポートにアクセスできるようにする手順を例示します。

  • ホストのIPアドレスは192.168.1.1
  • ホストの待受ポート番号はhttp(tcp/80)
  • 仮想マシンのIPアドレスは192.168.2.2
  • 仮想マシンの待受ポート番号はhttp(tcp/8080)

手順は簡単で、管理者権限でコマンドプロンプトを起動して、以下のコマンドを実行するだけです。

    C:¥> netsh interface portproxy add v4tov4 listenport=80 listenaddress=192.168.1.1 connectport=8080 connectaddress=192.168.2.1

    以上で、外部のマシンからホストマシンのHTTPポート(TCP80番)にアクセスすると、仮想マシンにTCP8080番にフォワーディングされるようになります。

    現在の設定状況を確認するときは

    現在の設定状況を確認するには、以下のコマンドを実行します。

    C:¥> netsh interface portproxy show v4tov4

    設定を削除するときは

    設定を削除するには、次のようにコマンドを実行します。

    C:\> netsh interface portproxy delete v4tov4 listenport=80 connectaddress=192.168.2.1

    全ての設定を削除したいときは、次のようにコマンドを実行します。

    C:\> netsh interface portproxy reset

    あとがき

    最近では、Hyper-Vで仮想マシンを作成する場合、既定のスイッチ(Default Switch)に接続することが多くなったので、そのような仮想マシンに外部からアクセスしたいときに役立つでしょう。