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

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

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

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

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit21H2

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

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)に接続することが多くなったので、そのような仮想マシンに外部からアクセスしたいときに役立つでしょう。