Správa seznamů ACL portů ve VMM

Důležité

Tato verze nástroje Virtual Machine Manager (VMM) dosáhla konce podpory. Doporučujeme upgradovat na VMM 2022.

V nástroji System Center – Virtual Machine Manager (VMM) můžete centrálně konfigurovat a spravovat seznamy řízení přístupu (ACL) portů Hyper-V. Seznamy ACL portu je možné nakonfigurovat pro prostředky infrastruktury spravované síťovým adaptérem i pro sítě, které nespravuje síťový adaptér.

  • Seznam ACL portu je sada pravidel, která filtrují přenos na úrovni portu vrstvy 2. Seznam ACL portu v nástroji VMM filtruje přístup ke konkrétnímu objektu VMM. K objektu sítě může být připojený maximálně jeden seznam ACL portu.
  • Seznam ACL obsahuje pravidla a je možné ho připojit k libovolnému počtu síťových objektů. Seznam ACL si můžete vytvořit bez pravidel, která můžete přidat později. Každé pravidlo seznamu ACL odpovídá pouze jednomu seznamu ACL portu.
  • Pokud seznam ACL obsahuje více pravidel, použijí se na základě priority. Jakmile se najde shoda pravidla s kritérii a pravidlo se použije, nezpracují se už žádná další pravidla.
  • Seznam ACL portu pro globální nastavení se použije u všech virtuálních síťových adaptérů virtuálních počítačů v infrastruktuře. Pro globální nastavení neexistuje žádný samostatný typ objektu. Místo toho se seznam ACL portu pro globální nastavení připojí přímo k serveru pro správu VMM.
  • Nastavení seznamu ACL portu se zveřejňují jenom prostřednictvím rutin PowerShellu v nástroji VMM a není možné je nakonfigurovat v konzole VMM.
  • Seznam ACL portu můžete použít:
    • U virtuálních podsítí a adaptérů v nasazení síťového adaptéru
    • U virtuálních podsítí, síťových adaptérů, sítí virtuálních počítačů a serveru pro správu VMM v sítích, které nespravuje síťový adaptér

Než začnete

  • Pokud chcete seznam ACL použít u objektů spravovaných síťovým adaptérem, použijte příznak ManagedByNC a nastavte ho na hodnotu True. Pokud není nastavená hodnota True, vztahuje se seznam ACL jenom na síťové objekty, které nespravuje síťový adaptér.
  • Typy seznamů ACL nejsou vzájemně zaměnitelné. Seznam ACL s managedByNC nastaveným na false nemůžete použít u objektů spravovaných síťovým adaptérem a naopak.
  • Hlavní rozdíl mezi těmito dvěma typy seznamů ACL spočívá v tom, že po použití seznamu ACL u objektů, které nespravuje síťový adaptér, je potřeba opravit každý síťový adaptér.
  • Existuje také rozdíl v rozsazích priority:
    • Seznamy ACL portu Hyper-V (nespravované síťovým adaptérem): 1–65535
    • Seznamy ACL portu SDN (spravované síťovým adaptérem): 1–64500
  • Pro připojení seznamu ACL portu ke globálnímu nastavení potřebujete úplná oprávnění správce VMM. Pokud chcete seznam ACL připojit k objektům VMM (sítě virtuálních počítačů, podsítě, virtuální síťové adaptéry), musíte být správceM VMM, správcem tenanta nebo uživatelem samoobslužných služeb.

Nepodporované scénáře

Tady je seznam nepodporovaných scénářů:

  • Správa a aktualizace jednotlivých pravidel pro jednu instanci, pokud se seznam ACL sdílí s více instancemi. Všechna pravidla se spravují centrálně v rámci nadřazených seznamů ACL a používají se při každém připojení seznamu ACL.
  • Připojení více než jednoho seznamu ACL k jedné entitě.
  • Použití seznamů ACL portu u virtuálních síťových adaptérů v nadřazeném oddílu Hyper-V (operačním systému pro správu)
  • Vytvoření pravidel seznamu ACL portu ve VMM, které obsahují protokoly na úrovni IP (jiné než TCP a UDP). Ostatní protokoly podporuje nativně i nadále technologie Hyper-V.
  • Použít seznamy ACL portu pro logické sítě, síťové lokality (definice logické sítě), sítě VLAN podsítě a další síťové objekty VMM, které nejsou uvedené jako podporované.

Kroky nasazení

Powershellové rozhraní VMM umožňuje:

  1. Definovat seznam ACL portu a pravidla

    • Pravidla se použijí u portů virtuálních přepínačů na serverech Hyper-V jako rozšířené seznamy ACL portu (VMNetworkAdapterExtendedAcl). To znamená, že je možné použít je jenom u hostitelů s Windows Serverem 2012 R2 nebo novějším, protože VMM nevytváří starší verze seznamů ACL portu Hyper-V (VMNetworkAdapterAcl) pro dřívější verze.
    • Pravidla se použijí u portů virtuálních přepínačů na serverech Hyper-V jako rozšířené seznamy ACL portu (VMNetworkAdapterExtendedAcl). To znamená, že se můžou použít jenom u hostitelů se systémem Windows Server 2016 nebo novějším, protože nástroj VMM nevytáčí starší verze seznamů ACL portu Hyper-V (VMNetworkAdapterAcl) pro starší verze.
    • Všechna pravidla seznamu ACL portu definovaná ve službě VMM jsou stavová pro TCP. Není možné vytvářet bezstavová pravidla seznamu ACL portu TCP.
  2. Připojit seznam ACL portu ke globálnímu nastavení. Tím se seznam ACL použije u všech virtuálních síťových adaptérů virtuálních počítačů.

  3. Připojit seznamy ACL portu k sítím virtuálních počítačů, podsítím virtuálních počítačů nebo k virtuálním síťovým adaptérům virtuálních počítačů

  4. Spravovat pravidla seznamu ACL portu

Vytvoření seznamů ACL portu

  1. Ve VMM otevřete PowerShell.

  2. Pomocí rutiny New-SCPortACL vytvořte seznam ACL portu.

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

Parametry

Parametr Podrobnosti
Name; Description Název a popis seznamu ACL portu
JobVariable Uloží průběh úlohy.
ManagedByNC Určuje, jestli objekty spravuje síťový adaptér.
OnBehalfOfUser/OnBehalfOfRole Spustí úlohu pomocí uživatelského jména nebo role.
Vlastník Určuje vlastníka objektu VMM ve formátu platného uživatelského účtu domény. Příklad: Contoso\PattiFuller nebo PattiFuller@Contoso
ProTipID ID ProTipu, který aktivoval akci
RunAsychronously Označuje, jestli se úloha spouští asynchronně.
UserRole Určuje roli uživatele.
VMMServer Určuje server VMM.
CommonParameters Další informace

Příklady

Vytvoření seznamu ACL portu pro objekty spravované síťovým adaptérem DemoACLManagedByNC:

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

Vytvoření seznamu ACL portu pro objekty nespravované síťovým adaptérem DemPortACL:

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

Definování pravidel seznamu ACL portu pro seznam ACL portu

  1. Ve VMM otevřete PowerShell.

  2. Vytvořte aspoň jedno pravidlo pomocí rutiny 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>]
    

Parametry

Parametr Podrobnosti
Name, Description Název a popis pravidla
Typ Určuje směr přenosu, pro který se seznam ACL použije (Příchozí nebo Odchozí).
Akce Určuje, jestli seznam ACL povoluje nebo blokuje přenos (Povolit nebo Odmítnout).
LocalAddressPrefix Určuje zdrojovou IP adresu nebo podsíť sloužící k identifikaci přenosu, který se má filtrovat.
LocalPortRange Určuje rozsah zdrojových portů, který slouží k identifikaci přenosu.
RemoteAddressPrefix Určuje cílovou IP adresu nebo podsíť, která se používá k identifikaci provozu pro filtrování.
RemotePortRange Určuje cílový rozsah portů, který se používá k identifikaci provozu.
Protokol Určuje protokol, pro který se pravidlo použije.
Priorita Zadejte prioritu pravidla v seznamu ACL portu. Pravidla se použijí podle pořadí. Nastavte prioritu v rozmezí od 1 do 65 535, kde nejnižší číslo představuje nejvyšší prioritu. Pravidla seznamů ACL portu pro objekty spravované síťovým adaptérem by měla být nastavená na hodnotu 100 nebo vyšší. Síťový adaptér nepodporuje prioritu nižší než 100.

Příklady

Vytvoření seznamu ACL portu a uložení objektu v $portACL:

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

Vytvoření pravidla seznamu ACL portu, které povoluje přístup protokolu RDP ze vzdálené podsítě:

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

Změna priority pravidla seznamu ACL:

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

První příkaz načte pravidlo seznamu ACL portu s názvem AllowRDPAccess. Druhý příkaz změní prioritu pravidla na 220.

Změna pravidla seznamu ACL portu pro rozsah cílových adres a protokolu pro pravidlo:

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

První příkaz načte pravidlo AllowRDPAccess. Druhý změní protokol na UDP a nastaví cíl na podsíť 172.185.21.0/24.

Připojení a odpojení seznamů ACL portu

Seznam ACL portu je možné připojit ke globálnímu nastavení, sítím virtuálních počítačů, podsítím virtuálních počítačů a virtuálním síťovým adaptérům. Seznam ACL portu připojený ke globálnímu nastavení se ve výchozím nastavení použije u všech virtuálních síťových adaptérů virtuálních počítačů.

  1. Ve VMM otevřete PowerShell.

  2. Pomocí rutiny Set-SCVMMServer připojte seznam ACL.

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

Parametry

Parametr Podrobnosti
Server VMM Název serveru VMM, na kterém se použije seznam ACL portu
PortACL Volitelně připojí zadaný seznam ACL portu ke globálnímu nastavení.

Příklady

Připojení seznamu ACL portu ke globálnímu nastavení:

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

Odpojení seznamu ACL portu od globálního nastavení:

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

Připojení seznamu ACL k síti virtuálních počítačů při vytváření:

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

Připojení seznamu ACL k existující síti virtuálních počítačů:

Set-SCVMNetwork -PortACL $acl`

Připojení seznamu ACL k podsíti virtuálních počítačů při vytváření:

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

Připojení seznamu ACL k existující podsíti virtuálních počítačů:

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

Načtení a zobrazení seznamů ACL portu a pravidel

  1. Ve VMM otevřete PowerShell.

  2. Spusťte rutinu Get-SCPortACL, která načte a zobrazí seznam ACL portu:

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Spusťte rutinu Get-SCPortACLRule, která načte a zobrazí pravidlo:

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

Parametry

Parametr Podrobnosti
Žádné parametry Načte všechny seznamy ACL.
Name/ID Načte seznam nebo pravidlo podle názvu nebo identifikátoru GUID.
OnBehalfOfUser/OnBehalfOfUserRole Spustí seznam nebo pravidlo pomocí uživatelského jména nebo role.
VMMServer Načte seznamy ACL na konkrétním serveru VMM.
CommonParameters Další informace

Příklady

Načtení konkrétního seznamu ACL:

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

Získání pravidel pro konkrétní seznam ACL:

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

Získání všech pravidel seznamu ACL:

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

Změna seznamů ACL portu a pravidel

  1. Ve VMM otevřete PowerShell.

  2. Spusťte rutinu Set-SCPortACL pro změnu seznamu ACL portu:

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Spusťte rutinu Remove-SCPortACL pro odebrání seznamu ACL:

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

    Parametry

Parametr Podrobnosti
Name/Description Název a popis seznamu ACL portu
JobVariable Uloží průběh úlohy.
OnBehalfOfUser/OnBehalfOfUserRole Spustí se pomocí uživatelského jména nebo role.
ProTipID ID ProTipu, který aktivoval akci
RunAsynchronously Označuje, jestli se úloha spouští asynchronně.
Confirm Před spuštěním úlohy zobrazí výzvu.
WhatIf Zobrazí, co se stane, aniž by se příkaz spustil.

Příklady

Nastavení popisu seznamu ACL:

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

První rutina načte seznam ACL, druhá nastaví jeho popis.

Odebrání seznamu ACL:

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

První rutina načte seznam ACL, druhá ho odebere.