Windows10:Hyper-VでNAT接続の仮想マシンにポートフォワーディングする方法(netsh版)

Windows10のHyper-Vで、NAT接続な仮想マシンに対して外部マシンから接続したい場合、netshコマンドを使って簡単にポートフォワード設定ができます。

netsh によるポートフォワーディングの利点は、ホスト側でファイアウォールのルール変更が不要という点があります。

ここでは、netshコマンドをポートフォワードを設定する手順をご紹介します。

手順

※ 管理者権限でコマンドプロンプトを起動し、以降の手順を実施してください。

設定

外部マシンから、NATネットワーク上の仮想マシンで動いているTCP8080番ポートへアクセスするには、以下のコマンドを実行します。

  • ホストのIPアドレスは192.168.1.1
  • ホストの待受ポートはhttp(80/tcp)
  • 仮想マシンのIPアドレスは192.168.2.1
  • 仮想マシンの待受ポートはhttp(tcp/8080)
netsh interface portproxy add v4tov4 listenport=80 listenaddress=192.168.1.1 connectport=8080 connectaddress=192.168.2.1

便利な使い方としては、以下のコマンドを実行すると、リモートデスクトップ接続で接続先コンピューター名に「192.168.1.1:33890」を指定することで、外部のマシンからNATネットワーク上の仮想マシンにリモートデスクトップ接続できるようになります。

netsh interface portproxy add v4tov4 listenport=33890 listenaddress=192.168.1.1 connectport=3389 connectaddress=192.168.2.1

設定の確認

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

netsh interface portproxy show v4tov4

設定の削除

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

netsh interface portproxy delete v4tov4 listenport=80 connectaddress=192.168.2.1

全ての設定を削除するには

netsh interface portproxy reset

まとめ

Hyper-VでNATネットワークを手軽に作れるようになりましたし、便利に使えそうです。

ちなみに上記のポートフォワーディング設定はPowerShellコマンドレットでも実現できるようです。気が向いたら別記事で紹介したいと思います。