Delen via


Poort-ACLs beheren in VMM

In System Center Virtual Machine Manager (VMM) kunt u centraal Hyper-V toegangsbeheerlijsten (ACL's) voor poorttoegang configureren en beheren. Poort-ACL's kunnen worden geconfigureerd voor zowel een netwerkcontroller-beheerde infrastructuur als voor netwerken die niet worden beheerd door de netwerkcontroller.

  • Een poort-ACL is een set regels waarmee verkeer op poortniveau van laag 2 wordt gefilterd. Een poort-ACL in VMM filtert de toegang tot een bepaald VMM-object. Een netwerkobject mag niet meer dan één poort-ACL hebben gekoppeld.
  • Een ACL bevat regels en kan worden gekoppeld aan een willekeurig aantal netwerkobjecten. U kunt een ACL zonder regels maken en later regels toevoegen. Elke ACL-regel komt overeen met slechts één poort-ACL.
  • Als een ACL meerdere regels heeft, worden deze toegepast op basis van prioriteit. Nadat een regel voldoet aan criteria en wordt toegepast, worden er geen andere regels verwerkt.
  • Een globale instellingen poort-ACL wordt toegepast op alle virtuele netwerkadapters van VM's in een infrastructuur. Er is geen afzonderlijk objecttype voor globale instellingen. In plaats daarvan wordt de poort-ACL voor globale instellingen gekoppeld aan de VMM-beheerserver.
  • Poort-ACL-instellingen worden alleen weergegeven via PowerShell-cmdlets in VMM en kunnen niet worden geconfigureerd in de VMM-console.
  • Poort-ACLs kunnen worden toegepast op:
    • Virtuele subnetten en adapters in een netwerkcontroller-implementatie.
    • Virtuele subnetten, netwerkadapters, VM-netwerken en de VMM-beheerserver in netwerken die niet worden beheerd door netwerkcontroller.

Voordat u begint

  • Als u een ACL wilt toepassen op objecten die worden beheerd door de netwerkcontroller, gebruikt u de vlag ManagedByNC- en stelt u deze in op True. Als deze niet is ingesteld op True, is de ACL alleen van toepassing op netwerkobjecten die niet worden beheerd door de netwerkcontroller.
  • ACL-typen zijn niet uitwisselbaar. U kunt geen ACL toepassen met ManagedByNC- ingesteld op false, op objecten die worden beheerd door Netwerkcontroller en vice versa.
  • Het belangrijkste verschil tussen deze twee soorten ACL's is dat u elke netwerkadapter moet herstellen nadat u ACL hebt toegepast op objecten die niet worden beheerd door de netwerkcontroller.
  • Er is ook een verschil in prioriteitsbereiken:
    • Hyper-V poort-ACL's (niet beheerd door netwerkcontroller): 1 - 65535
    • SDN-poort-ACL's (beheerd door netwerkcontroller): 1 - 64500
  • U hebt volledige VMM-beheerdersmachtigingen nodig om een poort-ACL te koppelen aan algemene instellingen. Als u de ACL wilt koppelen aan VMM-objecten (VM-netwerken, subnetten, virtuele netwerkadapters), moet u een VMM-beheerder of tenantbeheerder of selfservicegebruiker zijn.

Niet-ondersteunde scenario's

Hier volgt een lijst met niet-ondersteunde scenario's:

  • Afzonderlijke regels voor één exemplaar beheren wanneer de ACL wordt gedeeld met meerdere exemplaren. Alle regels worden centraal beheerd binnen hun overkoepelende ACL's en worden overal toegepast waar de ACL is gekoppeld.
  • Voeg meer dan één ACL toe aan een entiteit.
  • Pas poort-ACL's toe op virtuele netwerkadapters in de Hyper-V moederpartitie (beheeromgeving).
  • Maak poort-ACL-regels in VMM die protocollen op IP-niveau bevatten (behalve TCP of UDP). Andere protocollen worden nog steeds systeemeigen ondersteund door Hyper-V.
  • Pas poort-ACL's toe op logische netwerken, netwerksites (logische netwerkdefinities), subnet-VLAN's en andere VMM-netwerkobjecten die niet worden vermeld als ondersteund.

Implementatiestappen

Gebruik de VMM PowerShell-interface om het volgende te doen:

  1. Definieer poort-ACL's en regels.

    • De regels worden toegepast op virtuele switchpoorten op Hyper-V servers als uitgebreide poort-ACL's (VMNetworkAdapterExtendedAcl). Dit betekent dat ze alleen van toepassing kunnen zijn op hosts met Windows Server 2012 R2 of hoger, omdat VMM geen verouderde Hyper-V poort-ACL's (VMNetworkAdapterAcl) voor eerdere versies maakt.
    • De regels worden toegepast op virtuele switchpoorten op Hyper-V servers als 'uitgebreide poort-ACL's' (VMNetworkAdapterExtendedAcl). Dit betekent dat ze alleen kunnen worden toegepast op hosts met Windows Server 2016 of hoger, omdat VMM geen verouderde Hyper-V poort-ACL's (VMNetworkAdapterAcl) voor eerdere versies maakt.
    • De regels worden toegepast op virtuele switchpoorten op Hyper-V servers als uitgebreide poort-ACL's (VMNetworkAdapterExtendedAcl). Dit betekent dat ze alleen van toepassing kunnen zijn op hosts met Windows Server 2019 of hoger, omdat VMM geen verouderde Hyper-V poort-ACL's (VMNetworkAdapterAcl) voor eerdere versies maakt.
    • Alle poort-ACL-regels die in VMM zijn gedefinieerd, zijn toestandsvol voor TCP. U kunt geen stateless TCP ACL-regels maken.
  2. Een poort-ACL koppelen aan algemene instellingen. Hiermee wordt de ACL toegepast op alle virtuele netwerkadapters van de virtuele machine.

  3. Koppel de poort-ACL's aan VM-netwerken, VM-subnetten of VIRTUELE-netwerkadapters van vm's.

  4. Poort-ACL-regels beheren.

Poort-ACLs creëren

  1. Open PowerShell in VMM.

  2. Maak een poort-ACL met de 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>]
    

Parameterwaarden

parameter details
Naam; Beschrijving Naam en beschrijving van poort-ACL
Taakvariabele De voortgang van de taak wordt opgeslagen
ManagedByNC Hiermee geeft u op of objecten worden beheerd door netwerkcontroller
NamensGebruiker/NamensRol Taak uitvoeren met gebruikersnaam of rol
Eigenaar Specificeert de eigenaar van een VMM-object in de vorm van een geldig domeingebruikersaccount. Voorbeeld: Contoso\PattiFuller of PattiFuller@Contoso
ProTipID Id van ProTip die actie heeft geactiveerd
RunAsynchronously Geeft aan of de taak asynchroon wordt uitgevoerd
Gebruikersrol Geeft de gebruikersrol op
VMMServer Geeft de VMM-server op
AlgemeneParameters Meer informatie

Voorbeelden

Maak een poort-ACL voor objecten die worden beheerd door netwerkcontroller 'DemoACLManagedByNC':

PS: C:\> New-SCPortACL -Name "DemoACLManagedByNC" -Description "PortACL Example Managed by NC" -ManagedByN

Maak een poort-ACL voor objecten die niet worden beheerd door netwerkcontroller 'DemPortACL':

PS: C:\> New-SCPortACL -Name "DemoPortACL" -Description "Port ACL Example Non Managed by NC"

Poort-ACL-regels definiëren voor een poort-ACL

  1. Open PowerShell in VMM.

  2. Maak een of meer regels met de 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>]
    

Parameterwaarden

parameter details
Naam, beschrijving Regelnaam en beschrijving
Typologie Hiermee geeft u de verkeersrichting op waarvoor de ACL wordt toegepast (inkomend of uitgaand)
Actie Hiermee geeft u op of de ACL verkeer toestaat of blokkeert (toestaan of weigeren)
LokaalAdresPrefix Hiermee geeft u het bron-IP-adres of subnet dat wordt gebruikt om verkeer te identificeren dat moet worden gefilterd
LocalPortRange Hiermee geeft u het bronpoortbereik op dat wordt gebruikt om verkeer te identificeren
Afstandsadresprefix Hiermee geeft u het doel-IP-adres of subnet dat wordt gebruikt om verkeer te identificeren voor filteren
RemotePortRange Hiermee geeft u het doelpoortbereik op dat wordt gebruikt om verkeer te identificeren.
protocol Hiermee geeft u het protocol waarvoor de regel wordt toegepast
Voorrang Specificeer de prioriteit van de regel in poort-ACL. Regels worden toegepast op volgorde. Stel een prioriteit in tussen 1 en 65535, waarbij het laagste getal de hoogste prioriteit heeft. Poort-ACL-regels voor objecten die worden beheerd door de netwerkcontroller moeten worden ingesteld op of groter zijn dan 100. Netwerkcontroller biedt geen ondersteuning voor prioriteit onder de 100.

Voorbeelden

Maak een poort-ACL en sla het object op in $portACL:

PS: C:\> $portACL = New-SCPortACL -Name "RDP ACL" -Description "Acl on RDP access"

Maak een poort-ACL-regel om RDP-toegang vanuit een extern subnet toe te staan:

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

Wijzig de prioriteit van een ACL-regel:

PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -Priority 220

De eerste opdracht haalt de poort-ACL-regel AllowRDPAccess op. Met de tweede opdracht wordt de prioriteit van de regel gewijzigd in 220.

Wijzig de poort-ACL-regel voor het doeladresbereik en protocol voor een regel:

PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -RemoteAddressPrefix 172.185.21.0/24 -Protocol Udp

De eerste opdracht haalt regel AllowRDPAccessop. De tweede wijzigt het protocol in UDP en stelt de bestemming in op subnet 172.185.21.0/24.

Poort-ACL's koppelen en loskoppelen

Een poort-ACL kan worden gekoppeld aan globale instellingen, VM-netwerken, VM-subnetten en virtuele netwerkadapters. Een poort-ACL die is gekoppeld aan algemene instellingen, is standaard van toepassing op alle virtuele NETWERKadapters van virtuele machines.

  1. Open PowerShell in VMM.

  2. Voeg een portal-ACL toe met behulp van de Set-SCVMMServer-cmdlet.

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

Parameterwaarden

parameter details
VMM-server Naam van de VMM-server waarop de poort-ACL wordt toegepast
PoortACL De opgegeven poort-ACL optioneel koppelen aan algemene instellingen

Voorbeelden

Een ACL koppelen aan algemene instellingen:

Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl`` <br/><br/> ExampleL: `` Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl

Een ACL loskoppelen van algemene instellingen:

Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -RemovePortACL

Koppel een ACL aan een VM-netwerk tijdens het maken:

New-SCVMNetwork [–PortACL <NetworkAccessControlList>] [rest of the parameters]

Een ACL koppelen aan een bestaand VM-netwerk:

Set-SCVMNetwork -PortACL $acl`

Koppel een ACL aan een VM-subnet tijdens het maken:

New-SCVMSubnet [–PortACL <NetworkAccessControlList>] [rest of the parameters]

Een ACL koppelen aan een bestaand VM-subnet:

Set-SCVMSubnet [–PortACL <NetworkAccessControlList> | -RemovePortACL] [rest of the parameters]

Poort-ACL's en -regels ophalen en weergeven

  1. Open PowerShell in VMM.

  2. Voer de cmdlet Get-SCPortACL uit om een poort-ACL op te halen en weer te geven:

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Voer de Get-SCPortACLRule- uit om een regel op te halen en weer te geven:

    Get-SCPortACLRule [-Name <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-PortACL <PortACL> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    

Parameterwaarden

parameter details
Geen parameters Haalt alle ACL's op
Naam/id Ophalen op naam of GUID
NamensGebruiker/NamensGebruikersrol Uitvoeren met gebruikersnaam of rol
VMMServer ACL's ophalen op specifieke VMM-server
AlgemeneParameters Meer informatie

Voorbeelden

Een specifieke ACL ophalen:

    PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"

Regels ophalen voor een specifieke ACL:

    PS: C:> Get-SCPortACLRule -Name "AllowRDPAccess"

Haal alle regels voor ACL op.

    PS: C:> Get-SCPortACLRule -PortACL $portACL

Wijzig ACL's en poortregels

  1. Open PowerShell in VMM.

  2. Voer de cmdlet Set-SCPortACL uit om een poort-ACL te wijzigen:

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Voer de Remove-SCPortACL- uit om een ACL te verwijderen:

    Remove-SCPortACL [-PortACL] <PortACL> [-Confirm] [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [-WhatIf] [<CommonParameters>]
    

    Parameterwaarden

parameter details
Naam/beschrijving Naam en beschrijving van poort-ACL
Taakvariabele De voortgang van de taak wordt opgeslagen
NamensGebruiker/NamensGebruikersrol Uitvoeren met gebruikersnaam of rol
ProTipID Id van ProTip die actie heeft geactiveerd
UitvoerenAsynchroon Geeft aan of de taak asynchroon wordt uitgevoerd
Bevestigen Instructies voordat de taak wordt uitgevoerd
WhatIf Toont wat er gebeurt zonder de opdracht uit te voeren

Voorbeelden

Een ACL-beschrijving instellen:

PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Set-SCPortACL -PortACL $portACL -Description "Port ACL Example Non Managed by Network Controller"

De eerste cmdlet haalt de ACL op, en de tweede stelt de beschrijving van de ACL in.

Een ACL verwijderen:

PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Remove-SCPortACL -PortACL $portACL

De eerste cmdlet haalt de ACL op; de tweede verwijdert deze.