Udostępnij za pośrednictwem


Zarządzanie listami ACL portów w programie VMM

Ważne

Ta wersja programu Virtual Machine Manager (VMM) osiągnęła koniec wsparcia technicznego. Zalecamy uaktualnienie do programu VMM 2022.

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ł, które służą do filtrowania ruchu na poziomie warstwy 2 portu. Lista ACL portów w programie VMM filtruje dostęp do określonego obiektu programu VMM. Do obiektu sieciowego może być dołączona tylko jedna lista ACL portów.
  • Lista ACL zawiera reguły i może być dołączona do dowolnej liczby obiektów sieciowych. Można utworzyć listę ACL bez reguł, a następnie dodawać reguły w późniejszym czasie. 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. W przypadku odnalezienia i zastosowania reguły zgodnej z kryteriami pozostałe reguły nie są przetwarzane.
  • Lista ACL portów ustawień globalnych jest stosowana do wszystkich wirtualnych kart sieciowych maszyn wirtualnych w infrastrukturze. Nie istnieje oddzielny typ obiektu przeznaczony dla ustawień globalnych. Zamiast tego lista ACL portów ustawień globalnych jest dołączana do serwera zarządzania programu VMM.
  • Ustawienia listy ACL portów są udostępniane 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 mogą być stosowane do:
    • Podsieci wirtualnych i kart we wdrożeniu kontrolera sieci.
    • Podsieci wirtualnych, kart sieciowych, sieci maszyn wirtualnych i serwera zarządzania programu VMM w sieciach, które nie są zarządzane przy użyciu kontrolera sieci.

Przed rozpoczęciem

  • Aby zastosować listę ACL do obiektów zarządzanych przez kontroler sieci, należy użyć flagi ManagedByNC i przypisać jej wartość True. Jeśli nie jest ustawiona wartość 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 wartość false, do obiektów zarządzanych przez kontroler sieci i na odwrót.
  • 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 dotycząca zakresów priorytetu:
    • Listy ACL portów funkcji Hyper-V (niezarządzane przez kontrolera sieci): 1–65535
    • Listy ACL portów sieci SDN (zarządzane przez kontrolera sieci): 1–64500
  • Do dołączania listy ACL portów do ustawień globalnych wymagane są 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ądzanie poszczególnymi regułami dla jednego wystąpienia w przypadku, gdy lista ACL jest udostępniana wielu wystąpieniom. Wszystkie reguły są zarządzane centralnie w ramach ich nadrzędnych list ACL oraz są stosowane wszędzie tam, gdzie lista ACL jest dołączona.
  • Dołączanie więcej niż jednej listy ACL do obiektu.
  • Stosowanie list ACL portów do wirtualnych kart sieciowych w partycji nadrzędnej funkcji Hyper-V (systemu operacyjnego zarządzania).
  • Tworzenie reguł listy ACL portów w programie VMM obejmujących protokoły poziomu IP (inne niż TCP lub UDP). Pozostałe 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

Korzystając z interfejsu programu PowerShell programu VMM, można wykonać następujące czynności:

  1. Definiowanie list ACL portów i reguł.

    • Reguły są stosowane do portów przełączników wirtualnych na serwerach funkcji Hyper-V jako „rozszerzone listy ACL portów” (VMNetworkAdapterExtendedAcl). Oznacza to, że mogą być stosowane wyłącznie do hostów z systemem Windows Server 2012 R2 lub nowszym, ponieważ program VMM nie tworzy starszych wersji list ACL portów funkcji Hyper-V (VMNetworkAdapterAcl) dla wcześniejszych wersji.
    • Reguły są stosowane do portów przełączników wirtualnych na serwerach funkcji Hyper-V jako „rozszerzone listy ACL portów” (VMNetworkAdapterExtendedAcl). Oznacza to, że mogą być stosowane tylko do 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.
    • Wszystkie reguły listy ACL portów zdefiniowane w programie VMM są elementem stanowym w odniesieniu do protokołu TCP. Nie można tworzyć bezstanowych reguł listy ACL dla protokołu TCP.
  2. Dołączanie listy ACL portów do ustawień globalnych. Powoduje to zastosowanie listy ACL do wszystkich wirtualnych kart sieciowych maszyny wirtualnej.

  3. Dołączanie listy ACL portów do sieci maszyny wirtualnej, podsieci maszyny wirtualnej 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 przy użyciu 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
Name; Description Nazwa i opis listy ACL portów
JobVariable Zapisuje postęp zadania
ManagedByNC Określa, czy obiekty są zarządzane przez kontrolera sieci
OnBehalfOfUser/OnBehalfOfRole Uruchamia zadanie przy użyciu roli lub nazwy użytkownika
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
ProTipID Identyfikator elementu ProTip, który wyzwolił akcję
RunAsychronously 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

Tworzenie listy ACL portów „DemoACLManagedByNC” dla obiektów zarządzanych przez kontrolera sieci:

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

Tworzenie listy ACL portów „DemPortACL” dla obiektów, które nie są zarządzane przez kontrolera sieci:

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łę przy użyciu 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
Name, Description Nazwa i opis reguły.
Typ Określa kierunek ruchu, do którego stosowana jest lista ACL (przychodzący lub wychodzący).
Akcja Określa, czy lista ACL umożliwia lub blokuje ruch (Zezwalaj lub Odmów).
LocalAddressPrefix Określa źródłowy adres IP lub podsieć używaną do identyfikacji ruchu, który ma być filtrowany.
LocalPortRange Określa źródłowy zakres portów 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 w 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 powinny być ustawione na wartość równą lub większą niż 100. Kontroler sieci nie obsługuje priorytetów niższych niż 100.

Przykłady

Tworzenie listy ACL portów i zapisanie obiektu w zmiennej $portACL:

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

Tworzenie reguły listy ACL portów, aby umożliwić 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

Modyfikowanie priorytetu 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.

Modyfikowanie reguły 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”. Drugie polecenie 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 stosowana domyślnie do wszystkich wirtualnych kart sieciowych maszyny wirtualnej.

  1. Otwórz program PowerShell w programie VMM.

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

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

Parametry

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

Przykłady

Dołączanie listy ACL do ustawień globalnych:

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

Odłączanie listy ACL od ustawień globalnych:

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

Dołączanie listy ACL do sieci maszyn wirtualnych podczas jej tworzenia:

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

Dołączanie listy ACL do istniejącej sieci maszyn wirtualnych:

Set-SCVMNetwork -PortACL $acl`

Dołączanie listy ACL do podsieci maszyn wirtualnych podczas jej tworzenia:

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

Dołączanie listy ACL do istniejącej podsieci maszyn wirtualnych:

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 cmdlet 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 Pobieranie wszystkich list ACL
Name/ID Pobieranie przy użyciu nazwy lub identyfikatora GUID
OnBehalfOfUser/OnBehalfOfUserRole Uruchamianie polecenia przy użyciu roli lub nazwy użytkownika
VMMServer Pobieranie listy ACL na określonym serwerze programu VMM
Typowe parametry Dowiedz się więcej

Przykłady

Pobieranie określonej listy ACL:

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

Pobieranie reguł dla określonej listy ACL:

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

Pobieranie wszystkich reguł 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 polecenie cmdlet 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
Name/Description Nazwa i opis listy ACL portów
JobVariable Zapisuje postęp zadania
OnBehalfOfUser/OnBehalfOfUserRole Uruchamia polecenie przy użyciu nazwy użytkownika lub roli.
ProTipID Identyfikator elementu ProTip, który wyzwolił akcję
RunAsynchronously Wskazuje, czy zadanie jest uruchamiane asynchronicznie.
Confirm Wyświetla monit przed uruchomieniem zadania.
Instrukcja WhatIf Wyświetla wynik polecenia bez jego uruchamiania.

Przykłady

Ustawianie opisu 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, a drugie ustawia opis listy ACL.

Usuwanie listy ACL:

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

Pierwsze polecenie cmdlet pobiera listę ACL, a drugie ją usuwa.