Windows 10 1709(Fall Creators Update/RS3) Hyper-V で待望の NAPT 仮想スイッチが標準サポートされました。
Windows Server の Hyper-V は、VM 専用の NIC を準備するのがセオリーなので、Hyper-V ネットワーク アーキテクチャーを理解していればさして悩むことは無いのですが、Client OS である Windows 10 で Hyper-V を構成した場合、VM 専用の NIC を搭載する事は稀なので、VM とホストで NIC を共有しなくてはいけません。
その際に Hyper-V ネットワーク アーキテクチャーをちゃんと理解していないと何かとトラブルの原因になるんですよね。
Hyper-V とかネットワークにあまり詳しくない方が検証用の仮想環境を作ってみようとすると... これがかなりハードルが高かったのです。
更に、NAPT を実装しようとした場合は、PowerShell を使って仮想スイッチを構成する必要がありましたし、VM の IP アドレスは手動設定する必要がありました。
これが、標準サポートされた「既定のスイッチ」を選択するだけで全てが解決されるのです。素晴らしい !!
VM に割り当てられるネットワークは 172.16.0.0/12 のプライベートアドレス空間から
/28(255.255.255.240)が切り出されます。
(割り当てルールは現状不明)
DHCP が提供されているので、手動で IP アドレスを割り当てる必要もありません。
Hyper-V マネージャーを見ると、「既定のスイッチ」が何もしていないのに出来ています。
Host OS から「既定のスイッチ」を見ると、vEthernet (既定のスイッチ) が追加されているのがわかります。
割り当てられいる IP アドレスを見ると、VM に割り当てられているデフォルトゲートウェイ IP アドレスを持っていますね。
VM から外部をアクセスすると、ホストが持っている IP アドレスでアクセスしていることがわかります。
つまり、NAPT の実装位置はホスト OS 内にあります。
内部ネットワークとして仮想スイッチが実装されているので、Host から VM に対しての通信もできます。
と言う事は、Add-NetNatStaticMapping でポートフォワードすれば... (試していませんけど)
「既定のスイッチ」のアーキテクチャこのようになっています。
このような構成になっているので、Host に複数の NIC が存在するマルチプラットフォーム環境になっていても、最適な物理 NIC が選択された通信ができます。
Hyper-Vネットワークの基本
http://www.vwnet.jp/Windows/WS12R2/Hyper-V/Hyper-V_Network.htm
TP5 NAPT 仮想スイッチ
http://www.vwnet.jp/Windows/WS16TP5/2016050502/TP5NAPTvSW.htm
Copyright © MURA All rights reserved.