Windows 10のHyper-VでNAT接続の仮想マシンに外部からアクセスする方法(netsh版)

Windows 10のHyper-VでNAT接続の仮想マシンに外部からアクセスする方法(netsh版)

Windows 10のHyper-Vで、既定のスイッチ(Default Switch)に接続した仮想マシン(NAT接続の仮想マシン)は、そのままではホストマシン以外の外部のマシンからは接続できず、接続できるようにするにはポートフォワード設定が必要になります。

そこでここでは、netshコマンドを使って外部のマシンから既定のスイッチ(Default Switch)に接続した仮想マシン(NAT接続の仮想マシン)に接続できるようにする手順を紹介します。

動作環境

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

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

仮想マシンにポートフォワードする

既定のスイッチ(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://192.168.1.1」へ接続してみてください。フォワーディングされていることを確認できます。

    設定を確認する

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

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