Verwalten von Port-ACLs in VMM
Wichtig
Diese Version von Virtual Machine Manager (VMM) hat das Ende des Supports erreicht. Es wird empfohlen, ein Upgrade auf VMM 2022 durchzuführen.
In System Center – Virtual Machine Manager (VMM) können Sie die Port-Zugriffssteuerungslisten (ACLs) für Hyper-V zentral verwalten. Port-ACLs können sowohl für ein verwaltetes Netzwerkcontroller-Fabric als auch für Netzwerke konfiguriert werden, die nicht vom Netzwerkcontroller verwaltet werden.
- Eine Port-ACL ist ein Satz von Regeln, die Datenverkehr auf der Portebene 2 filtern. Eine Port-ACL in VMM filtert den Zugriff auf ein bestimmtes VMM-Objekt. Eine Netzwerkobjekt kann nicht mehr als einen Port haben, den die ACL angefügt hat.
- Eine ACL enthält Regeln und kann an eine beliebige Anzahl von Netzwerkobjekten angefügt werden. Sie können eine ACL ohne Regeln erstellen und dann die Regeln zu einem späteren Zeitpunkt hinzufügen. Jede ACL-Regel entspricht nur einer Port-ACL.
- Wenn eine ACL über mehrere Regeln verfügt, werden sie basierend auf der Priorität angewendet. Wenn eine Regel einem Kriterium entspricht und angewendet wird, werden keinen anderen Regeln verarbeitet.
- Eine globale Einstellungsport-ACL wird für alle virtuellen VM-Netzwerkadapter in einer Infrastruktur angewendet. Für die globalen Einstellungen ist kein eigener Objekttyp festgelegt. Somit ist die Port-ACL der globalen Einstellungen dem VMM-Verwaltungsserver zugeordnet.
- Port-ACL-Einstellungen werden nur über PowerShell-Cmdlets in VMM verfügbar gemacht und können nicht in der VMM-Konsole konfiguriert werden.
- Port-ACLs können Folgendem zugewiesen werden:
- Virtuelle Subnetze und Adapter in einer Netzwerkcontroller-Bereitstellung.
- Virtuelle Subnetze, Netzwerkadapter, VM-Netzwerken und dem VMM-Verwaltungsserver in Netzwerken, die nicht vom Netzwerkcontroller verwaltet werden.
Vorbereitung
- Wenn eine ACL für Objekte angewendet wird, die vom Netzwerkcontroller verwaltet werden, müssen Sie das Flag ManagedByNC verwenden und es auf TRUE festlegen. Wenn sie nicht auf True festgelegt ist, gilt die ACL nur für Netzwerkobjekte, die nicht vom Netzwerkcontroller verwaltet werden.
- ACL-Typen sind nicht austauschbar. Sie können keine ACL anwenden, bei der ManagedByNC auf false festgelegt ist, auf Objekte, die vom Netzwerkcontroller verwaltet werden und umgekehrt.
- Der Hauptunterschied zwischen diesen beiden Arten von ACLs besteht darin, dass Sie jeden Netzwerkadapter korrigieren müssen, nachdem Sie ACL auf Objekte angewendet haben, die nicht vom Netzwerkcontroller verwaltet werden.
- Es gibt auch ein Unterschied in den Prioritätsbereichen:
- Hyper-V-Port-ACLs (nicht vom Netzwerkcontroller verwaltet) : 1–65535.
- SDN-Port-ACLs (vom Netzwerkcontroller verwaltet) : 1–64500
- Sie benötigen vollständige VMM Administratorberechtigungen, um eine Port-ACL zu globalen Einstellungen hinzuzufügen. Zum Anfügen der ACL an VMM-Objekte (VM-Netzwerke, Subnetze, virtuelle Netzwerkadapter) müssen Sie VMM-Administrator oder Mandantenadministrator oder Self-Service-Benutzer sein.
Nicht unterstützte Szenarien
Hier sehen Sie eine Liste der nicht unterstützten Szenarien:
- Verwalten einzelner Regeln einzelner Instanzen, wenn die ACL von mehreren Instanzen verwendet wird. Alle Regeln werden zentral in der ihnen übergeordneten ACL verwaltet und gelten für alle Objekte, denen die ACL zugeordnet ist.
- Hinzufügen mehrerer ACLs zu einer Entität.
- Anwenden von Port-ACLs auf die virtuellen Netzwerkadapter der übergeordneten Hyper-V-Partition (Verwaltungsbetriebssystem).
- Erstellen von Port-ACL-Regeln in VMM mit Protokollen auf IP-Ebene (mit Ausnahme von TCP und UDP). Jedoch werden andere Protokolle nach wie vor nativ durch Hyper-V unterstützt.
- Wenden Sie Port-ACLs auf logische Netzwerke, Netzwerkstandorte (logische Netzwerkdefinitionen), Subnetz-VLANs und andere VMM-Netzwerkobjekte an, die nicht als unterstützt erwähnt werden.
Bereitstellungsschritte
Verwenden Sie die VMM-PowerShell-Schnittstelle, um Folgendes zu tun:
Definieren von Port-ACLs und -Regeln
- Die Regeln werden auf die Ports virtueller Switches auf Hyper-V-Servern als „erweiterte Port-ACLs“ (VMNetworkAdapterExtendedAcl) angewendet. Das bedeutet, dass sie nur für Hosts gelten können, die Windows Server 2012 R2 oder höher ausführen, da VMM keine Lecacy-Hyper-V-Port-ACLs (VMNetworkAdapterAcl) für frühere Versionen erstellt.
- Die Regeln werden auf die Ports virtueller Switches auf Hyper-V-Servern als „erweiterte Port-ACLs“ (VMNetworkAdapterExtendedAcl) angewendet. Dies bedeutet, dass sie nur auf Hosts angewendet werden können, die Windows Server 2016 oder höher ausgeführt werden, da VMM keine Legacy-Hyper-V-Port-ACLs (VMNetworkAdapterAcl) für frühere Versionen erstellt.
- Für das TCP-Protokoll sind alle in VMM definierten Port-ACL-Regeln statusbehaftet. Sie können keine statusfreie TCP-ACL-Regeln erstellen.
Zuordnen einer Port-ACL zu den globalen Einstellungen. Dies gilt für die ACL für alle virtuellen VM-Netzwerkadapter.
Zuordnen der Port-ACLs zu VM-Netzwerken, VM-Subnetzen oder virtuellen VM-Netzwerkadaptern.
Verwalten von Port-ACL-Regeln.
Erstellen von Port-ACLs
Öffnen Sie PowerShell in VMM.
Erstellen Sie eine Port-ACL mit dem Cmdlet New-SCPortACL.
New-SCPortACL [-Name] <String> [-Description <String>] [-JobVariable <String>] [-ManagedByNC] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-Owner <String>] [-PROTipID <Guid>] [-RunAsynchronously] [-UserRole <UserRole>] [-VMMServer <ServerConnection>] [<CommonParameters>]
Parameter
Parameter | Details |
---|---|
Name, Beschreibung | Name und Beschreibung der Port-ACL |
JobVariable | Speichert den Fortschritt des Auftrags |
ManagedByNC | Gibt an, ob Objekte vom Netzwerkcontroller verwaltet werden |
OnBehalfOfUser/OnBehalfOfRole | Ausführen des Auftrags mit Benutzername oder Rolle |
Besitzer | Gibt den Besitzer eines VMM-Objekts in Form eines gültigen Domänenbenutzerkontos an Beispiel: Contoso\PattiFuller oder PattiFuller@Contoso |
ProTipID | ID von ProTip, die die Aktion ausgelöst hat |
RunAsychronously | Gibt an, ob der Auftrag asynchron ausgeführt wird |
UserRole | Gibt die Benutzerrolle an |
VMMServer | Gibt den VMM-Server an |
CommonParameters | Erfahren Sie mehr |
Beispiele
Erstellen Sie eine Port-ACL für Objekte, die vom „DemoACLManagedByNC“-Netzwerkcontroller verwaltet werden:
PS: C:\> New-SCPortACL -Name "DemoACLManagedByNC" -Description "PortACL Example Managed by NC" -ManagedByN
Erstellen Sie eine Port-ACL für Objekte, die nicht vom Netzwerkcontroller „DemPortACL“ verwaltet werden:
PS: C:\> New-SCPortACL -Name "DemoPortACL" -Description "Port ACL Example Non Managed by NC"
Definieren von Port-ACL-Regeln für eine Port-ACL
Öffnen Sie PowerShell in VMM.
Erstellen Sie eine oder mehrere Regeln mit dem Cmdlet New-SCPortACLRule.
New-SCPortACLrule -PortACL <PortACL> -Name <string> [-Description <string>] -Type <Inbound | Outbound> -Action <Allow | Deny> -Priority <uint16> -Protocol <Tcp | Udp | Any> [-LocalAddressPrefix <string: IPAddress | IPSubnet>] [-LocalPortRange <string:X|X-Y|Any>] [-RemoteAddressPrefix <string: IPAddress | IPSubnet>] [-RemotePortRange <string:X|X-Y|Any>]
Parameter
Parameter | Details |
---|---|
Name, Beschreibung | Regelname und Beschreibung |
Typ | Gibt die Richtung des Datenverkehrs an, für die die ACL angewendet wird (eingehend oder ausgehend) |
Aktion | Gibt an, ob die ACL Datenverkehr zulässt oder blockiert (Zulassen oder Verweigern) |
LocalAddressPrefix | Gibt die Quell-IP-Adresse oder das Subnetz an, die bzw. das zur Identifizierung von Datenverkehr verwendet wird, der gefiltert werden muss. |
LocalPortRange | Gibt den Quellportbereich an, der verwendet wird, um Datenverkehr zu identifizieren |
RemoteAddressPrefix | Hiermit wird die Ziel-IP-Adresse oder das Subnetz angegeben, die bzw. das zum Identifizieren von Datenverkehr für das Filtern verwendet wird. |
RemotePortRange | Gibt den Zielportbereich an, der zum Identifizieren von Datenverkehr verwendet wird |
Protokoll | Gibt das Protokoll an, für das die Regel angewendet wird |
Priorität | Geben Sie die Priorität der Regel in Port-ACL an. Regeln werden nach Reihenfolge angewendet. Legen Sie eine Priorität zwischen 1 und 65535 fest, wobei die niedrigste Nummer höchsten Priorität hat. Regeln von Port-ACLs für Objekte, die von Netzwerkcontrollern verwaltet werden, müssen gleich oder größer 100 festgelegt werden. Der Netzwerkcontroller unterstützt keine Priorität unter 100. |
Beispiele
Erstellen Sie eine Port-ACL, und speichern Sie das Objekt in „$portACL“:
PS: C:\> $portACL = New-SCPortACL -Name "RDP ACL" -Description "Acl on RDP access"
Erstellen Sie eine Port-ACL-Regel, um den RDP-Zugriff von einem Remotesubnetz aus zuzulassen:
PS: C:\> New-SCPortACLRule -Name "AllowRDPAccess" -PortACL $portACL -Description "Allow RDP Rule from a subnet" -Action Allow -Type Inbound -Priority 110 -Protocol Tcp -LocalPortRange 3389 -RemoteAddressPrefix 10.184.20.0/24
Ändern Sie die Priorität einer ACL-Regel:
PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -Priority 220
Der erste Befehl ruft die Port-ACL-Regel „AllowRDPAccess“ auf. Der zweite Befehl ändert die Priorität der Regel in 220.
Ändern Sie die Port-ACL-Regel für den Zieladressbereich und ein Protokoll für eine Regel:
PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -RemoteAddressPrefix 172.185.21.0/24 -Protocol Udp
Der erste Befehl ruft die Regel „AllowRDPAccess“ ab. Der zweite ändert das Protokoll zu UDP und legt das Ziel auf das Subnetz 172.185.21.0/24 fest
Anfügen und Trennen von Port-ACLs
Eine Port-ACL kann an globale Einstellungen, VM-Netzwerke, VM-Subnetze und virtuelle Netzwerkadapter hinzugefügt werden. Eine Port-ACL, die an globale Einstellungen hinzugefügt ist, gilt standardmäßig für alle virtuellen VM-Netzwerkadapter.
Öffnen Sie PowerShell in VMM.
Fügen Sie eine Port-ACL mithilfe des Set-SCVMMServer-Cmdlet an.
Set-SCVMMServer –VMMServer <VMMServer> [-PortACL <NetworkAccessControlList> | -RemovePortACL ]
Parameter
Parameter | Details |
---|---|
VMM-Server | Der Name des VMM-Servers, auf dem die Port-ACL angewendet wird |
PortACL | Fügt optional die angegebene Port-ACL an globale Einstellungen an |
Beispiele
Ordnen Sie eine ACL den globalen Einstellungen hinzu:
Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl`` <br/><br/> ExampleL: `` Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl
Trennen Sie eine ACL von den globalen Einstellungen:
Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -RemovePortACL
Fügen Sie eine ACL einem VM-Netzwerk während der Erstellung hinzu:
New-SCVMNetwork [–PortACL <NetworkAccessControlList>] [rest of the parameters]
Fügen Sie eine ACL einem vorhandenen VM-Netzwerk hinzu:
Set-SCVMNetwork -PortACL $acl`
Fügen Sie eine ACL einem VM-Subnetz während der Erstellung hinzu:
New-SCVMSubnet [–PortACL <NetworkAccessControlList>] [rest of the parameters]
Fügen Sie eine ACL einem vorhandenen VM-Subnetz hinzu:
Set-SCVMSubnet [–PortACL <NetworkAccessControlList> | -RemovePortACL] [rest of the parameters]
Abrufen und Anzeigen von Port-ACLs und Regeln
Öffnen Sie PowerShell in VMM.
Führen Sie das Get-SCPortACL-Cmdlet zum Abrufen und Anzeigen einer Ports-ACL aus:
Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
Führen Sie Get-SCPortACLRule aus, um eine Regel abzurufen und anzuzeigen:
Get-SCPortACLRule [-Name <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-PortACL <PortACL> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
Parameter
Parameter | Details |
---|---|
Keine Parameter | Ruft alle ACLs auf |
Name/ID | Nach Name oder GUID abrufen |
OnBehalfOfUser/OnBehalfOfUserRole | Ohne Benutzername oder Rolle ausführen |
VMMServer | ACLs auf bestimmten VMM-Servern abrufen |
CommonParameters | Erfahren Sie mehr |
Beispiele
Rufen Sie eine bestimmte ACL ab:
PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
Rufen Sie Regeln für eine bestimmte ACL auf:
PS: C:> Get-SCPortACLRule -Name "AllowRDPAccess"
Rufen Sie alle Regeln für die ACL ab:
PS: C:> Get-SCPortACLRule -PortACL $portACL
Ändern von Port-ACLs und Regeln
Öffnen Sie PowerShell in VMM.
Führen Sie das Cmdlet Set-SCPortACL aus, um die Port-ACL zu ändern:
Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
Führen Sie Remove-SCPortACL aus, um eine ACL zu entfernen:
Remove-SCPortACL [-PortACL] <PortACL> [-Confirm] [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [-WhatIf] [<CommonParameters>]
Parameter
Parameter | Details |
---|---|
Name/Beschreibung | Name und Beschreibung der Port-ACL |
JobVariable | Speichert den Fortschritt des Auftrags |
OnBehalfOfUser/OnBehalfOfUserRole | Mit Benutzernamen oder Rolle ausführen |
ProTipID | ID von ProTip, die die Aktion ausgelöst hat |
RunAsynchronously | Gibt an, ob der Auftrag asynchron ausgeführt wird |
Bestätigen | Dazu werden Sie vor der Ausführung des Auftrags aufgefordert |
WhatIf | Zeigt, was geschieht, wenn der Befehl nicht ausgeführt wird |
Beispiele
Legen Sie eine ACL-Beschreibung fest:
PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Set-SCPortACL -PortACL $portACL -Description "Port ACL Example Non Managed by Network Controller"
Das erste Cmdlet ruft die ACL ab, das zweite legt die Beschreibung auf der ACL fest.
Entfernen Sie eine ACL:
PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Remove-SCPortACL -PortACL $portACL
Das erste Cmdlet ruft die ACL ab, das zweite entfernt sie.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für