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:
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.
Dołącz listę ACL portów do ustawień globalnych. Dotyczy to listy ACL wszystkich wirtualnych kart sieciowych maszyn wirtualnych.
Dołącz listy ACL portów do sieci maszyn wirtualnych, podsieci maszyn wirtualnych lub wirtualnych kart sieciowych maszyn wirtualnych.
Zarządzanie regułami listy ACL portów.
Tworzenie list ACL portów
Otwórz program PowerShell w programie VMM.
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
Otwórz program PowerShell w programie VMM.
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.
Otwórz program PowerShell w programie VMM.
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ł
Otwórz program PowerShell w programie VMM.
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>]
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ł
Otwórz program PowerShell w programie VMM.
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>]
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.