Udostępnij za pośrednictwem


Zarządzanie listami ACL portów w programie VMM

W programie System Center Virtual Machine Manager (VMM) można centralnie skonfigurować listy kontroli dostępu (ACL) portów funkcji Hyper-V i zarządzać nimi. Listy ACL portów można skonfigurować zarówno dla sieci szkieletowej zarządzanej przez kontroler sieci, jak i sieci, które nie są zarządzane przez kontroler sieci.

  • Lista ACL portów to zestaw reguł filtrujących ruch na poziomie portu warstwy 2. Lista ACL portów w programie VMM filtruje dostęp do określonego obiektu programu VMM. Obiekt sieciowy nie może mieć więcej niż jednej listy ACL portów.
  • Lista ACL zawiera reguły i może być dołączona do dowolnej liczby obiektów sieciowych. Listę ACL można utworzyć bez reguł, a następnie dodać reguły później. Każda reguła listy ACL odpowiada tylko jednej liście ACL portów.
  • Jeśli lista ACL ma wiele reguł, są one stosowane na podstawie priorytetu. Po dopasowaniu reguły do kryteriów i zastosowaniu żadne inne reguły nie są przetwarzane.
  • Lista ACL portów ustawień globalnych jest stosowana do wszystkich wirtualnych kart sieciowych maszyn wirtualnych w infrastrukturze. Nie ma oddzielnego typu obiektu dla ustawień globalnych. Zamiast tego lista ACL portów ustawień globalnych jest dołączona do serwera zarządzania programu VMM.
  • Ustawienia listy ACL portów są widoczne tylko za pośrednictwem poleceń cmdlet programu PowerShell w programie VMM i nie można ich skonfigurować w konsoli programu VMM.
  • Listy ACL portów można zastosować do:
    • Podsieci wirtualne i karty sieciowe we wdrożeniu kontrolera sieci.
    • Podsieci wirtualne, karty sieciowe, sieci maszyn wirtualnych i serwer zarządzania programu VMM w sieciach, które nie są zarządzane przez kontroler sieci.

Przed rozpoczęciem

  • Aby zastosować listę ACL do obiektów zarządzanych przez kontroler sieci, należy użyć flagi ManagedByNC i ustawić ją na true. Jeśli nie ustawiono wartości True, lista ACL ma zastosowanie tylko do obiektów sieciowych, które nie są zarządzane przez kontroler sieci.
  • Typy list ACL nie są wymienne. Nie można zastosować listy ACL z wartością ManagedByNC ustawioną na false, do obiektów zarządzanych przez kontroler sieci i odwrotnie.
  • Kluczową różnicą między tymi dwoma rodzajami list ACL jest to, że należy skorygować każdą kartę sieciową po zastosowaniu listy ACL na obiektach, które nie są zarządzane przez kontroler sieci.
  • Istnieje również różnica w zakresach priorytetów:
    • Listy ACL portów funkcji Hyper-V (niezarządzane przez kontroler sieci): 1 – 65535
    • Listy ACL portów sieci SDN (zarządzane przez kontroler sieci): 1– 64500
  • Aby dołączyć listę ACL portów do ustawień globalnych, musisz mieć pełne uprawnienia administratora programu VMM. Aby dołączyć listę ACL do obiektów programu VMM (sieci maszyn wirtualnych, podsieci, wirtualnych kart sieciowych), musisz być administratorem programu VMM lub administratorem dzierżawy lub użytkownikiem samoobsługi.

Nieobsługiwane scenariusze

Oto lista nieobsługiwanych scenariuszy:

  • Zarządzaj poszczególnymi regułami dla pojedynczego wystąpienia, gdy lista ACL jest współużytkowany z wieloma wystąpieniami. Wszystkie reguły są zarządzane centralnie w ramach ich nadrzędnych list ACL i mają zastosowanie wszędzie tam, gdzie jest dołączona lista ACL.
  • Dołącz więcej niż jedną listę ACL do jednostki.
  • Zastosuj listy ACL portów do wirtualnych kart sieciowych w partycji nadrzędnej funkcji Hyper-V (system operacyjny zarządzania).
  • Utwórz reguły listy ACL portów w programie VMM, które obejmują protokoły na poziomie ip (inne niż TCP lub UDP). Inne protokoły są nadal obsługiwane natywnie przez funkcję Hyper-V.
  • Zastosuj listy ACL portów do sieci logicznych, lokacji sieciowych (definicji sieci logicznych), sieci VLAN podsieci i innych obiektów sieciowych programu VMM, które nie są wymienione jako obsługiwane.

Kroki wdrażania

Użyj interfejsu programu PowerShell programu VMM, aby wykonać następujące czynności:

  1. Zdefiniuj listy ACL portów i reguły.

    • Reguły są stosowane do portów przełącznika wirtualnego na serwerach funkcji Hyper-V jako rozszerzonych list ACL portów (VMNetworkAdapterExtendedAcl). Oznacza to, że mogą one dotyczyć tylko hostów z systemem Windows Server 2012 R2 lub nowszym, ponieważ program VMM nie tworzy starszych list ACL portów funkcji Hyper-V (VMNetworkAdapterAcl) dla wcześniejszych wersji.
    • Reguły są stosowane do portów przełącznika wirtualnego na serwerach funkcji Hyper-V jako "rozszerzone listy ACL portów" (VMNetworkAdapterExtendedAcl). Oznacza to, że mogą one dotyczyć tylko hostów z systemem Windows Server 2016 lub nowszym, ponieważ program VMM nie tworzy starszych list ACL portów funkcji Hyper-V (VMNetworkAdapterAcl) dla wcześniejszych wersji.
    • Reguły są stosowane do portów przełącznika wirtualnego na serwerach funkcji Hyper-V jako rozszerzonych list ACL portów (VMNetworkAdapterExtendedAcl). Oznacza to, że mogą one dotyczyć tylko hostów z systemem Windows Server 2019 lub nowszym, ponieważ program VMM nie tworzy starszych list ACL portów funkcji Hyper-V (VMNetworkAdapterAcl) dla wcześniejszych wersji.
    • Wszystkie reguły listy ACL portów zdefiniowane w programie VMM są stanowe dla protokołu TCP. Nie można utworzyć bezstanowych reguł listy ACL protokołu TCP.
  2. Dołącz listę ACL portów do ustawień globalnych. Dotyczy to listy ACL wszystkich wirtualnych kart sieciowych maszyn wirtualnych.

  3. Dołącz listy ACL portów do sieci maszyn wirtualnych, podsieci maszyn wirtualnych lub wirtualnych kart sieciowych maszyn wirtualnych.

  4. Zarządzanie regułami listy ACL portów.

Tworzenie list ACL portów

  1. Otwórz program PowerShell w programie VMM.

  2. Utwórz listę ACL portów za pomocą polecenia 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>]
    

Parametry

Parametr Szczegóły
Nazwa; Opis Nazwa i opis listy ACL portów
Zmienna zadania Przechowuje postęp zadania
ManagedByNC Określa, czy obiekty są zarządzane przez kontroler sieci
OnBehalfOfUser/OnBehalfOfRole Uruchamianie zadania z nazwą użytkownika lub rolą
Właściciel Określa właściciela obiektu programu VMM w postaci prawidłowego konta użytkownika domeny. Przykład: Contoso\PattiFuller lub PattiFuller@Contoso
Identyfikator ProTipID Identyfikator protip wyzwalanej akcji
RunAsychroniczne Wskazuje, czy zadanie jest uruchamiane asynchronicznie
UserRole Określa rolę użytkownika
VMMServer Określa serwer programu VMM
Typowe parametry Dowiedz się więcej

Przykłady

Utwórz listę ACL portów dla obiektów zarządzanych przez kontroler sieci "DemoACLManagedByNC":

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

Utwórz listę ACL portów dla obiektów, które nie są zarządzane przez kontroler sieci "DemPortACL":

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

Definiowanie reguł listy ACL portów dla listy ACL portów

  1. Otwórz program PowerShell w programie VMM.

  2. Utwórz co najmniej jedną regułę za pomocą polecenia 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>]
    

Parametry

Parametr Szczegóły
Nazwa, opis Nazwa i opis reguły
Typ Określa kierunek ruchu, dla którego jest stosowana lista ACL (ruch przychodzący lub wychodzący)
Akcja Określa, czy lista ACL zezwala na ruch lub blokuje ruch (Zezwalaj lub Odmawiaj)
LocalAddressPrefix Określa źródłowy adres IP lub podsieć używaną do identyfikowania ruchu, który musi być filtrowany
LocalPortRange Określa zakres portów źródłowych używany do identyfikowania ruchu
RemoteAddressPrefix Określa docelowy adres IP lub podsieć, która jest używana do identyfikowania ruchu do filtrowania
RemotePortRange Określa docelowy zakres portów używany do identyfikowania ruchu.
Protokół Określa protokół, dla którego jest stosowana reguła
Priorytet Określ priorytet reguły na liście ACL portów. Reguły są stosowane zgodnie z kolejnością. Ustaw priorytet z zakresu od 1 do 65535, gdzie najniższa liczba ma najwyższy priorytet. Reguły list ACL portów dla obiektów zarządzanych przez kontroler sieci muszą być ustawione na równe lub większe niż 100. Kontroler sieci nie obsługuje priorytetu poniżej 100.

Przykłady

Utwórz listę ACL portów i zapisz obiekt w $portACL:

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

Utwórz regułę listy ACL portów, aby zezwolić na dostęp RDP z podsieci zdalnej:

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

Zmodyfikuj priorytet reguły listy ACL:

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

Pierwsze polecenie pobiera regułę listy ACL portów "AllowRDPAccess". Drugie polecenie zmienia priorytet reguły na 220.

Zmodyfikuj regułę listy ACL portów dla docelowego zakresu adresów i protokołu dla reguły:

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

Pierwsze polecenie pobiera regułę AllowRDPAccess. Drugi zmienia protokół na UDP i ustawia lokalizację docelową na podsieć 172.185.21.0/24.

Dołączanie i odłączanie list ACL portów

Listę ACL portów można dołączyć do ustawień globalnych, sieci maszyn wirtualnych, podsieci maszyn wirtualnych i wirtualnych kart sieciowych. Lista ACL portów dołączona do ustawień globalnych jest domyślnie stosowana do wszystkich wirtualnych kart sieciowych maszyn wirtualnych.

  1. Otwórz program PowerShell w programie VMM.

  2. Dołącz listę ACL portalu przy użyciu polecenia cmdlet Set-SCVMMServer .

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

Parametry

Parametr Szczegóły
Serwer VMM Nazwa serwera programu VMM, na którym jest stosowana lista ACL portów
Lista ACL portów Opcjonalnie dołącza określoną listę ACL portów do ustawień globalnych

Przykłady

Dołącz listę ACL do ustawień globalnych:

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

Odłącz listę ACL od ustawień globalnych:

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

Dołącz listę ACL do sieci maszyn wirtualnych podczas tworzenia:

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

Dołącz listę ACL do istniejącej sieci maszyn wirtualnych:

Set-SCVMNetwork -PortACL $acl`

Dołącz listę ACL do podsieci maszyny wirtualnej podczas tworzenia:

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

Dołącz listę ACL do istniejącej podsieci maszyny wirtualnej:

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

Pobieranie i wyświetlanie list ACL portów i reguł

  1. Otwórz program PowerShell w programie VMM.

  2. Uruchom polecenie cmdlet Get-SCPortACL, aby pobrać i wyświetlić listę ACL portów:

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Uruchom polecenie Get-SCPortACLRule , aby pobrać i wyświetlić regułę:

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

Parametry

Parametr Szczegóły
Brak parametrów Pobiera wszystkie listy ACL
Nazwa/identyfikator Pobieranie według nazwy lub identyfikatora GUID
OnBehalfOfUser/OnBehalfOfUserRole Uruchamianie przy użyciu nazwy użytkownika lub roli
VMMServer Pobieranie list ACL na określonym serwerze programu VMM
Typowe parametry Dowiedz się więcej

Przykłady

Pobierz określoną listę ACL:

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

Pobierz reguły dla określonej listy ACL:

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

Pobierz wszystkie reguły dla listy ACL:

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

Modyfikowanie list ACL portów i reguł

  1. Otwórz program PowerShell w programie VMM.

  2. Uruchom polecenie cmdlet Set-SCPortACL, aby zmodyfikować listę ACL portów:

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Uruchom listę ACL Remove-SCPortACL , aby usunąć listę ACL:

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

    Parametry

Parametr Szczegóły
Nazwa/opis Nazwa i opis listy ACL portów
Zmienna zadania Przechowuje postęp zadania
OnBehalfOfUser/OnBehalfOfUserRole Uruchamianie przy użyciu nazwy użytkownika lub roli
Identyfikator ProTipID Identyfikator protip wyzwalanej akcji
Uruchamianie asynchroniczne Wskazuje, czy zadanie jest uruchamiane asynchronicznie
Confirm Monity przed uruchomieniem zadania
Instrukcja WhatIf Pokazuje, co się stanie bez uruchamiania polecenia

Przykłady

Ustaw opis listy ACL:

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

Pierwsze polecenie cmdlet pobiera listę ACL; drugi ustawia opis listy ACL.

Usuń listę ACL:

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

Pierwsze polecenie cmdlet pobiera listę ACL; drugi usuwa go.