Hyper-Vポートアクセスリストはゲートウェイを通過するトラフィックを許可しません

Hyper-Vポートアクセスリストはゲートウェイを通過するトラフィックを許可しません

状況: 192.168.0.0/16 のローカル ネットワークは多数のサブネットに分割され、ルーターが設置されています。Hyper-V でホストされている仮想マシンは、192.168.X.0/24 サブネットにあります。タスクは、指定されたリストを除くすべてのホストからのこの VM へのアクセスを制限することです。このリストには、192.168.Y.0/24 サブネットの IP アドレスが含まれます。ここで、Y は X とは異なり、192.168.Y.0/24 サブネットへのネットワーク アクセスはルーティングされます。VM のネットワークの構成は次のとおりです。

IPv4 Address: 192.168.X.10
Subnet mask: 255.255.255.0
Default gateway: 192.168.X.1

そこで、Hyper-V ポート ACL に対して次の変更を実行します。

Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress 192.168.Y.Z -action allow -direction both
Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress any -action deny -direction both

驚いたことに、ping 192.168.Y.ZVM から「宛先ホストに到達できません」と表示され、そのホストから VM に ping を実行しても同じ結果が返されました。一方、192.168.X.Z同じ VM に ACL エントリを追加すると、変更によって VM が問題なくホストを参照できるようになります。

答え1

解決策は、VM のデフォルト ゲートウェイの ACL エントリを追加するか、192.168.Y サブネットへのカスタム ルートの場合はルートの宛先の IP アドレスを追加して、パケットがリモート ホストにルーティングされるようにすることです。

Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress 192.168.X.1 -action allow -direction both

残念ながら、Hyper-V の ACL を構成するためのチュートリアルではこれについて言及されていません。これは、これらのチュートリアルの LAN が可能な限り単純化されており、ルーティングされたセグメントが含まれていないためと考えられます。

関連情報