Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Verwalten von Port-ACLs in VMM

Rayne Wiselman|Zuletzt aktualisiert: 18.04.2017
|
1 Mitwirkender

Gilt für: System Center 2016 – Virtual Machine Manager

In System Center 2016 Virtual Machine Manager (VMM) können Sie die Port-Zugriffssteuerungslisten (ACLs) für Hyper-V zentral verwalten. Port-ACLs können jeweils für ein vom Netzwerkcontroller verwaltetes Fabric und 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 genau einer Port-ACL.
  • Wenn eine ACL über mehrere Regeln verfügt, werden sie basierend auf die 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.
  • Die Einstellungen für Port-ACLs können in VMM über PowerShell-Cmdlets festgelegt werden 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 eine ACL nicht auf TRUE festgelegt wird, gilt Sie nur für Netzwerkobjekte, die nicht vom Netzwerkcontroller verwaltet werden.
  • ACL-Typen sind nicht austauschbar. Sie können keine ACL auf vom Netzwerkcontroller verwaltete Objekte anwenden, bei der ManagedByNC auf FALSE festgelegt wurde.
  • Der Hauptunterschied zwischen diesen beiden Arten von ACLs ist, dass Sie jeden Netzwerkadapter korrigieren müssen, nachdem Sie ACLs 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. Um die ACL zu VMM-Objekten (VM-Netzwerke, Subnetze, virtuelle Netzwerkadapter) hinzuzufügen, müssen Sie ein VMM-Administrator oder ein Self-Service-Benutzer sein.

Nicht unterstützte Szenarien

Folgendes ist derzeit nicht möglich:

  • 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.
  • Anwenden von Port-ACLs auf logische Netzwerke, Netzwerkstandorte (logische Netzwerkdefinitionen), Subnetz-vLANs und andere grundlegende VMM-Netzwerkelemente, die als nicht besonders unterstützt genannt werden.

Bereitstellungsschritte

Verwenden Sie die VMM-PowerShell-Schnittstelle, um Folgendes zu tun:

  1. 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.
    • Für das TCP-Protokoll sind alle in VMM definierten Port-ACL-Regeln statusbehaftet. Sie können keine statusfreie TCP-ACL-Regeln erstellen.
  2. Zuordnen einer Port-ACL zu den globalen Einstellungen. Dies gilt für die ACL für alle virtuellen VM-Netzwerkadapter.
  3. Zuordnen der Port-ACLs zu VM-Netzwerken, VM-Subnetzen oder virtuellen VM-Netzwerkadaptern.
  4. Verwalten von Port-ACL-Regeln.

Erstellen von Port-ACLs

  1. Öffnen Sie PowerShell in VMM.
  2. 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

ParameterDetails
Name, BeschreibungName und Beschreibung der Port-ACL
JobVariableSpeichert den Fortschritt des Auftrags
ManagedByNCGibt an, ob Objekte vom Netzwerkcontroller verwaltet werden
OnBehalfOfUser/OnBehalfOfRoleAusführen des Auftrags mit Benutzername oder Rolle
BesitzerGibt den Besitzer eines VMM-Objekts in Form eines gültigen Domänenbenutzerkontos an Beispiel: Contoso\PattiFuller oder PattiFuller@Contoso
ProTipIDID von ProTip, die die Aktion ausgelöst hat
RunAsychronouslyGibt an, ob der Auftrag asynchron ausgeführt wird
UserRoleGibt die Benutzerrolle an
VMMServerGibt den VMM-Server an
CommonParametersWeitere Informationen

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

  1. Öffnen Sie PowerShell in VMM.
  2. 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

ParameterDetails
Name, BeschreibungRegelname und Beschreibung
TypGibt die Richtung des Datenverkehrs an, für die die ACL angewendet wird (eingehend oder ausgehend)
AktionGibt an, ob die ACL Datenverkehr zulässt oder blockiert (Zulassen oder Verweigern)
LocalAddressPrefixGibt die Quell-IP-Adresse oder das Subnetz an, die bzw. das zur Identifizierung von Datenverkehr verwendet wird, der gefiltert werden muss.
LocalPortRangeGibt den Quellportbereich an, der verwendet wird, um Datenverkehr zu identifizieren
RemoteAddressPrefixGibt die Ziel-IP-Adresse oder das Subnetz an, die bzw. das zum Identifizieren von Datenverkehr für das Filtern verwendet wird
RemotePortRangeGibt den Zielportbereich an, der zum Identifizieren von Datenverkehr verwendet wird
ProtokollGibt das Protokoll an, für das die Regel angewendet wird
PrioritätGeben Sie die Priorität der Regel in der 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.

  1. Öffnen Sie PowerShell in VMM.
  2. Fügen Sie eine Port-ACL mithilfe des Set-SCVMMServer-Cmdlet an.

     Set-SCVMMServer –VMMServer <VMMServer> [-PortACL <NetworkAccessControlList> | -RemovePortACL ]
    

Parameter

ParameterDetails
VMM-ServerDer Name des VMM-Servers, auf dem die Port-ACL angewendet wird
PortACLFü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

  1. Öffnen Sie PowerShell in VMM.
  2. 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>]
    
  3. 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

ParameterDetails
Keine ParameterRuft alle ACLs auf
Name/IDNach Name oder GUID abrufen
OnBehalfOfUser/OnBehalfOfUserRoleOhne Benutzername oder Rolle ausführen
VMMServerACLs auf bestimmten VMM-Servern abrufen
CommonParametersWeitere Informationen

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

  1. Öffnen Sie PowerShell in VMM.
  2. 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>]
    
  3. 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

ParameterDetails
Name/BeschreibungName und Beschreibung der Port-ACL
JobVariableSpeichert den Fortschritt des Auftrags
OnBehalfOfUser/OnBehalfOfUserRoleMit Benutzernamen oder Rolle ausführen
ProTipIDID von ProTip, die die Aktion ausgelöst hat
RunAsynchronouslyGibt an, ob der Auftrag asynchron ausgeführt wird
BestätigenDazu werden Sie vor der Ausführung des Auftrags aufgefordert
WhatIfZeigt, 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.

© 2017 Microsoft