Eine Situation: Das lokale Netzwerk von 192.168.0.0/16 ist in viele Subnetze aufgeteilt und es sind Router vorhanden. Eine auf Hyper-V gehostete virtuelle Maschine befindet sich in einem Subnetz 192.168.X.0/24. Die Aufgabe bestand darin, den Zugriff auf diese VM von allen Hosts aus zu beschränken, mit Ausnahme einer bestimmten Liste, die IP-Adressen aus den Subnetzen 192.168.Y.0/24 enthält, wobei Y sich von X unterscheidet und der Netzwerkzugriff auf das Subnetz 192.168.Y.0/24 geroutet wird. Die Konfiguration des VM-Netzwerks ist wie folgt:
IPv4 Address: 192.168.X.10
Subnet mask: 255.255.255.0
Default gateway: 192.168.X.1
Daher führe ich die folgenden Änderungen an der Hyper-V-Port-ACL durch:
Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress 192.168.Y.Z -action allow -direction both
Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress any -action deny -direction both
Zu meiner Überraschung ping 192.168.Y.Z
wurde von der VM aus „Zielhost nicht erreichbar“ angezeigt, und auch ein Ping von diesem Host an die VM ergab die gleiche Meldung. Wenn ich andererseits derselben 192.168.X.Z
VM einen ACL-Eintrag hinzufüge, kann die VM den Host problemlos sehen.
Antwort1
Die Lösung bestand darin, einen ACL-Eintrag für das Standard-Gateway der VM oder, im Fall einer benutzerdefinierten Route zum Subnetz 192.168.Y, die IP-Adresse des Routenziels hinzuzufügen, um die Weiterleitung von Paketen an den Remote-Host zu ermöglichen.
Add-VMNetworkAdapterAcl -vm $vm -RemoteIPAddress 192.168.X.1 -action allow -direction both
Dies wird leider in keinem Tutorial zum Konfigurieren der ACLs für Hyper-V erwähnt, wahrscheinlich weil die LANs in diesen Tutorials so einfach wie möglich sind und keine gerouteten Segmente enthalten.