Delen via


Poort-ACL's in VMM beheren

Belangrijk

Deze versie van Virtual Machine Manager (VMM) heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar VMM 2022.

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

  • Een poort-ACL is een reeks regels die verkeer op het niveau van de poort voor laag 2 filtert. Een poort-ACL in VMM filtert de toegang tot een bepaald VMM-object. Aan een netwerkobject kan niet meer dan één poort-ACL zijn gekoppeld.
  • Een ACL bevat regels en kan worden gekoppeld aan een willekeurig aantal netwerkobjecten. U kunt een ACL zonder regels maken en regels op een later tijdstip toevoegen. Elke ACL-regel komt overeen met slechts één poort-ACL.
  • Als een ACL meerdere regels heeft, worden deze toegepast op basis van prioriteit. Wanneer een regel voldoet aan criteria en wordt toegepast, worden er geen andere regels verwerkt.
  • Een poort-ACL voor algemene instellingen wordt toegepast op alle virtuele netwerkadapters voor virtuele machines in een infrastructuur. Er is geen afzonderlijk objecttype voor algemene instellingen. In plaats daarvan wordt de poort-ALC voor algemene instellingen aan de VMM-beheerserver gekoppeld.
  • Poort-ACL-instellingen worden alleen weergegeven via PowerShell-cmdlets in VMM en kunnen niet worden geconfigureerd in de VMM-console.
  • Poort-ACL's kunnen worden toegepast op:
    • Virtuele subnetten en netwerkadapters 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 Netwerkcontroller, gebruikt u de markering ManagedByNC, die u instelt op True. Als deze niet is ingesteld op Waar, is de ACL alleen van toepassing op netwerkobjecten die niet worden beheerd door netwerkcontroller.
  • ACL-typen zijn niet uitwisselbaar. U kunt geen ACL toepassen waarbij ManagedByNC is 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 netwerkcontroller.
  • Bovendien is er 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, 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 met meerdere exemplaren wordt gedeeld. Alle regels worden centraal beheerd binnen hun bovenliggende ACL's en overal toegepast waar de ACL is gekoppeld.
  • Koppel meer dan één ACL aan een entiteit.
  • Poort-ACL's toepassen op virtuele netwerkadapters in de bovenliggende Hyper-V-partitie (beheerbesturingssysteem).
  • Poort-ACL-regels maken in VMM die protocollen op IP-niveau bevatten (met uitzondering van TCP of UDP). Andere protocollen worden wel systeemeigen ondersteund door Hyper-V.
  • Pas poort-ACL's toe op logische netwerken, netwerksites (definities van logische netwerken), subnet-VLAN's en andere VMM-netwerkobjecten die niet worden vermeld als ondersteund.

Implementatiestappen

U kunt de VMM PowerShell-interface gebruiken om het volgende te doen:

  1. Poort-ACL's en poort-ACL-regels definiëren.

    • De regels worden toegepast op virtuele switchpoorten van Hyper-V-servers als 'uitgebreide poort-ACL's' (VMNetworkAdapterExtendedAcl). Dit betekent dat ze alleen kunnen worden toegepast 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 van Hyper-V-servers als 'uitgebreide poort-ACL's' (VMNetworkAdapterExtendedAcl). Dit betekent dat ze alleen kunnen worden toegepast op hosts die Windows Server 2016 of hoger worden uitgevoerd, omdat VMM geen verouderde Hyper-V-poort-ACL's (VMNetworkAdapterAcl) voor eerdere versies maakt.
    • Alle poort-ACL-regels die in VMM zijn gedefinieerd, zijn stateful voor TCP. U kunt geen stateless TCP ACL-regels maken.
  2. Een poort-ACL aan algemene instellingen koppelen. Daardoor wordt de ACL toegepast op alle virtuele VM-netwerkadapters.

  3. De poort-ACL's koppelen aan VM-netwerken, VM-subnetten of virtuele netwerkadapters voor VM’s.

  4. Poort-ACL-regels beheren.

Poort-ACL's maken

  1. Open PowerShell in VMM.

  2. Maak een poort-ACL met de New-SCPortACL-cmdlet.

    New-SCPortACL [-Name] <String> [-Description <String>] [-JobVariable <String>] [-ManagedByNC] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-Owner <String>] [-PROTipID <Guid>] [-RunAsynchronously] [-UserRole <UserRole>] [-VMMServer <ServerConnection>] [<CommonParameters>]
    

Parameters

Parameter Details
Naam; Beschrijving Naam en beschrijving van de poort-ACL
JobVariable Taakvoortgang opslaan
ManagedByNC Geeft aan of objecten worden beheerd door Netwerkcontroller
OnBehalfOfUser/OnBehalfOfRole Taak uitvoeren met gebruikersnaam of -rol
Eigenaar Geeft de eigenaar van een VMM-object aan in de vorm van een geldig domeingebruikersaccount. Voorbeeld: Contoso\PattiFuller of PattiFuller@Contoso
ProTipID ID van ProTip waardoor de actie werd geactiveerd
RunAsychronously Geeft aan of taak asynchroon wordt uitgevoerd
UserRole Geeft de gebruikersrol aan
VMM-server Geeft de VMM-server aan
CommonParameters 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 voor een poort-ACL definiëren

  1. Open PowerShell in VMM.

  2. Maak een of meer regels met de New-SCPortACLRule-cmdlet.

    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>]
    

Parameters

Parameter Details
Naam; Beschrijving Naam en beschrijving van de regel
Type Geeft de richting aan van het verkeer waarop de ACL wordt toegepast (Inkomend of Uitgaand)
Actie Geeft aan of de ACL verkeer toestaat of weigert (Toestaan of Weigeren)
LocalAddressPrefix Geeft het bron-IP-adres of bronsubnet aan dat wordt gebruikt voor het identificeren van verkeer dat moet worden gefilterd.
LocalPortRange Geeft het bronpoortbereik aan dat wordt gebruikt om verkeer te identificeren.
RemoteAddressPrefix Hiermee geeft u het doel-IP-adres of subnet op dat wordt gebruikt om verkeer te identificeren voor filteren.
RemotePortRange Hiermee geeft u het doelpoortbereik op dat wordt gebruikt om verkeer te identificeren.
Protocol Geeft het protocol aan waarvoor de regel wordt toegepast.
Prioriteit Geef de prioriteit van de regel op in poort-ACL. Regels worden op volgorde toegepast. 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 netwerkcontroller moeten worden ingesteld op 100 of groter. Netwerkcontroller ondersteunt geen prioriteit lager dan 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

Met de eerste opdracht wordt de poort-ACL-regel met de naam 'AllowRDPAccess' opgehaald. Met de tweede opdracht wordt de prioriteit van de regel gewijzigd in 220.

Wijzig de poort-ACL voor het doeladresbereik en het 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 de regel 'AllowRDPAccess' op. De tweede wijzigt het protocol in UDP en stelt het doel in op subnet 172.185.21.0/24.

Koppelen en ontkoppelen van poort ACL's

Een poort-ACL kan worden gekoppeld aan algemene instellingen, VM-netwerken, VM-subnetten en virtuele netwerkadapters. Een poort-ACL die gekoppeld is aan algemene instellingen, geldt standaard voor alle virtuele VM-netwerkadapters.

  1. Open PowerShell in VMM.

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

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

Parameters

Parameter Details
VMM-server Naam van de VMM-server waarop de poort-ACL wordt toegepast.
PortACL Voegt de opgegeven poort-ACL optioneel toe aan algemene instellingen.

Voorbeelden

Een ACL aan algemene instellingen koppelen:

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

Een ACL koppelen aan een VM-netwerk tijdens het maken ervan:

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

Een ACL koppelen aan een bestaand VM-netwerk:

Set-SCVMNetwork -PortACL $acl`

Een ACL koppelen aan een VM-netwerk tijdens het maken ervan:

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

Een ACL koppelen aan een bestaand VM-netwerk:

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

Poort-ACL's en poort-ACL-regels ophalen en weergeven

  1. Open PowerShell in VMM.

  2. Voer de Get-SCPortACL-cmdlet 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 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>]
    

Parameters

Parameter Details
Geen parameters Alle ACL's ophalen
Name/ID Ophalen op naam of GUID
OnBehalfOfUser/OnBehalfOfUserRole Uitvoeren met gebruikersnaam of -rol
VMM-server ACL's op specifieke VMM-server ophalen
CommonParameters Meer informatie

Voorbeelden

Een specifieke ACL ophalen:

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

Regels voor een specifieke ACL ophalen:

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

Alle regels voor ACL ophalen:

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

Poort-ACL's en poort-ACL-regels wijzigen

  1. Open PowerShell in VMM.

  2. Voer de Set-SCPortACL-cmdlet 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 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>]
    

    Parameters

Parameter Details
Naam/beschrijving Naam en beschrijving van poort-ACL
JobVariable Taakvoortgang opslaan
OnBehalfOfUser/OnBehalfOfUserRole Uitvoeren met gebruikersnaam of -rol.
ProTipID ID van ProTip waardoor de actie werd geactiveerd
RunAsynchronously Geeft aan of de taak asynchroon wordt uitgevoerd.
Bevestigen Vraagt om bevestiging voordat de taak wordt uitgevoerd
WhatIf Laat zien 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 voor 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 en de tweede verwijdert deze.