Aracılığıyla paylaş


VMM'de bağlantı noktası ACL'lerini yönetme

System Center - Virtual Machine Manager'da (VMM), Hyper-V bağlantı noktası erişim denetim listelerini (ACL' ler) merkezi olarak yapılandırabilir ve yönetebilirsiniz. Bağlantı noktası ACL'leri hem Ağ Denetleyicisi tarafından yönetilen yapı hem de Ağ Denetleyicisi tarafından yönetilmeyen ağlar için yapılandırılabilir.

  • Bağlantı noktası ACL'i, 2. katman bağlantı noktası düzeyinde trafiği filtreleyen bir kural kümesidir. VMM'deki bir bağlantı noktası ACL'si, belirli bir VMM nesnesine erişimi filtreler. Bir ağ nesnesinin bağlı birden fazla bağlantı noktası ACL'si olamaz.
  • ACL kurallar içerir ve herhangi bir sayıda ağ nesnesine eklenebilir. Kuralları olmayan bir ACL oluşturabilir ve daha sonra kurallar ekleyebilirsiniz. Her ACL kuralı yalnızca bir bağlantı noktası ACL'sine karşılık gelir.
  • Bir ACL'nin birden çok kuralı varsa, bunlar önceliğe göre uygulanır. Bir kural ölçütlerle eşleşip uygulandıktan sonra başka hiçbir kural işlenmez.
  • Bir altyapıdaki tüm VM sanal ağ bağdaştırıcılarına genel ayarlar bağlantı noktası ACL'si uygulanır. Genel ayarlar için ayrı nesne türü yoktur. Bunun yerine, genel ayarlar bağlantı noktası ACL'si VMM yönetim sunucusuna eklenir.
  • Bağlantı noktası ACL ayarları yalnızca VMM'deki PowerShell cmdlet'leri aracılığıyla sunulur ve VMM konsolunda yapılandırılamaz.
  • Bağlantı noktası ACL'leri şu adrese uygulanabilir:
    • Ağ Denetleyicisi dağıtımındaki sanal alt ağlar ve bağdaştırıcılar.
    • Ağ Denetleyicisi tarafından yönetilmeyen ağlarda sanal alt ağlar, ağ bağdaştırıcıları, VM ağları ve VMM yönetim sunucusu.

Başlamadan önce

  • Ağ Denetleyicisi tarafından yönetilen nesnelere ACL uygulamak için ManagedByNC bayrağını kullanır ve True olarak ayarlarsınız. True olarak ayarlanmamışsa, ACL yalnızca Ağ Denetleyicisi tarafından yönetilmeyen ağ nesneleri için geçerlidir.
  • ACL türleri birbirinin yerine kullanılamaz. ManagedByNC değeri false olarak ayarlanmış bir ACL'yi Ağ Denetleyicisi tarafından yönetilen nesnelere uygulayamazsınız ve bunun tersi de geçerlidir.
  • Bu iki ACL türü arasındaki temel fark, Ağ Denetleyicisi tarafından yönetilmeyen nesnelere ACL uyguladıktan sonra her ağ bağdaştırıcısını düzeltmeniz gerektiğidir.
  • Öncelik aralıklarında da bir fark vardır:
    • Hyper-V bağlantı noktası ACL'leri (Ağ Denetleyicisi tarafından yönetilmiyor): 1 - 65535
    • SDN bağlantı noktası ACL'leri (Ağ Denetleyicisi tarafından yönetilir): 1 - 64500
  • Genel ayarlara bağlantı noktası ACL'sini eklemek için tam VMM yönetici izinlerine sahip olmanız gerekir. ACL'yi VMM nesnelerine (VM ağları, alt ağlar, sanal ağ bağdaştırıcıları) eklemek için VMM yöneticisi, kiracı yöneticisi veya self servis kullanıcı olmanız gerekir.

Desteklenmeyen senaryolar

Desteklenmeyen senaryoların listesi aşağıdadır:

  • ACL birden çok örnekle paylaşıldığında tek bir örnek için tek tek kuralları yönetin. Tüm kurallar üst ACL'leri içinde merkezi olarak yönetilir ve ACL'nin eklendiği her yere uygulanır.
  • Bir varlığa birden fazla ACL ekleyin.
  • Hyper-V üst bölümü (yönetim işletim sistemi) n sanal ağ bağdaştırıcılarına bağlantı noktası ACL'leri uygulayın.
  • VMM'de IP düzeyi protokolleri (TCP veya UDP dışında) içeren bağlantı noktası ACL kuralları oluşturun. Diğer protokoller hala Hyper-V tarafından yerel olarak desteklenmektedir.
  • Mantıksal ağlara, ağ sitelerine (mantıksal ağ tanımları), alt ağ VLAN'larına ve desteklendiği belirtilmeyen diğer VMM ağ nesnelerine bağlantı noktası ACL'leri uygulayın.

Dağıtım adımları

Aşağıdakileri yapmak için VMM PowerShell arabirimini kullanın:

  1. Bağlantı noktası ACL'lerini ve kurallarını tanımlayın.

    • Kurallar Hyper-V sunucularında sanal anahtar bağlantı noktalarına "genişletilmiş bağlantı noktası ACL'leri" (VMNetworkAdapterExtendedAcl) olarak uygulanır. Bu, VMM önceki sürümler için eski Hyper-V bağlantı noktası ACL'leri (VMNetworkAdapterAcl) oluşturmadığından yalnızca Windows Server 2012 R2 veya üzerini çalıştıran konaklara uygulanabilecekleri anlamına gelir.
    • Kurallar Hyper-V sunucularında sanal anahtar bağlantı noktalarına "genişletilmiş bağlantı noktası ACL'leri" (VMNetworkAdapterExtendedAcl) olarak uygulanır. Bu, VMM önceki sürümler için eski Hyper-V bağlantı noktası ACL'leri (VMNetworkAdapterAcl) oluşturmadığından yalnızca Windows Server 2016 veya üzerini çalıştıran konaklara uygulanabilecekleri anlamına gelir.
    • VMM'de tanımlanan tüm bağlantı noktası ACL kuralları TCP için durum bilgisi vardır. Durum bilgisi olmayan TCP ACL kuralları oluşturamazsınız.
  2. Genel ayarlara bağlantı noktası ACL'sini ekleyin. Bu, ACL'yi tüm VM sanal ağ bağdaştırıcılarına uygular.

  3. Bağlantı noktası ACL'lerini VM ağlarına, VM alt ağlarına veya VM sanal ağ bağdaştırıcılarına ekleyin.

  4. Bağlantı noktası ACL kurallarını yönetin.

Bağlantı noktası ACL'leri oluşturma

  1. POWERShell'i VMM'de açın.

  2. New-SCPortACL cmdlet'i ile bir bağlantı noktası ACL'sini oluşturun.

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

Parametreler

Parametre Ayrıntılar
Ad; Tarif Bağlantı noktası ACL adı ve açıklaması
jobvariable İş ilerleme durumunu depolar
ManagedByNC Nesnelerin Ağ Denetleyicisi tarafından yönetilip yönetilmeyeceğini belirtir
OnBehalfOfUser/OnBehalfOfRole İşi kullanıcı adı veya rolüyle çalıştırma
Sahip Geçerli bir etki alanı kullanıcı hesabı biçiminde bir VMM nesnesinin sahibini belirtir. Örnek: Contoso\PattiFuller veya PattiFuller@Contoso
ProTipID Eylemi tetikleyen Protip kimliği
RunAsychronously İşin zaman uyumsuz olarak çalıştırılıp çalıştırılmadığını gösterir
UserRole Kullanıcı rolünü belirtir
VMMServer VMM sunucusunu belirtir
CommonParameters Daha fazla bilgi edinin

Örnekler

"DemoACLManagedByNC" Ağ Denetleyicisi tarafından yönetilen nesneler için bir bağlantı noktası ACL'si oluşturun:

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

Yönetilmeyen nesneler için bir bağlantı noktası ACL'i oluşturun Ağ Denetleyicisi "DemPortACL":

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

Bağlantı noktası ACL'si için bağlantı noktası ACL kuralları tanımlama

  1. POWERShell'i VMM'de açın.

  2. New-SCPortACLRule cmdlet'iyle bir veya daha fazla kural oluşturun.

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

Parametreler

Parametre Ayrıntılar
Ad, Açıklama Kural adı ve açıklaması
Tür ACL'nin uygulandığı trafik yönünü belirtir (Gelen veya Giden)
Eylem ACL'nin trafiğe izin verip vermediğini veya trafiği engelleyip engellemediğini belirtir (İzin Ver veya Reddet)
LocalAddressPrefix Filtrelenmesi gereken trafiği tanımlamak için kullanılan kaynak IP adresini veya alt ağı belirtir.
LocalPortRange Trafiği tanımlamak için kullanılan kaynak bağlantı noktası aralığını belirtir.
RemoteAddressPrefix Filtreleme trafiğini tanımlamak için kullanılan hedef IP adresini veya alt ağı belirtir.
RemotePortRange Trafiği tanımlamak için kullanılan hedef bağlantı noktası aralığını belirtir.
Protokol Kuralın uygulandığı protokolü belirtir.
Öncelik Bağlantı noktası ACL'sinde kuralın önceliğini belirtin. Kurallar sıralamaya göre uygulanır. En düşük sayinin en yüksek önceliğe sahip olduğu 1 ile 65535 arasında bir öncelik ayarlayın. Ağ Denetleyicisi tarafından yönetilen nesneler için bağlantı noktası ACL'leri kuralları 100'e eşit veya daha büyük olarak ayarlanmalıdır. Ağ Denetleyicisi 100'in altındaki önceliği desteklemez.

Örnekler

Bağlantı noktası ACL'sini oluşturun ve nesnesini $portACL içinde depolayın:

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

Uzak bir alt ağdan RDP erişimine izin vermek için bir bağlantı noktası ACL kuralı oluşturun:

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

ACL kuralının önceliğini değiştirme:

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

İlk komut, "AllowRDPAccess" bağlantı noktası ACL kuralını alır. İkinci komut, kuralın önceliğini 220 olarak değiştirir.

Bir kuralın hedef adres aralığı ve protokolü için bağlantı noktası ACL kuralını değiştirin:

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

İlk komut "AllowRDPAccess" kuralını alır. İkincisi protokolü UDP olarak değiştirir ve hedefi 172.185.21.0/24 alt ağı olarak ayarlar.

Bağlantı noktası ACL'lerini ekleme ve ayırma

Genel ayarlara, VM ağlarına, VM alt ağlarına ve sanal ağ bağdaştırıcılarına bağlantı noktası ACL'leri eklenebilir. Genel ayarlara bağlı bir bağlantı noktası ACL'i varsayılan olarak tüm VM sanal ağ bağdaştırıcılarına uygulanır.

  1. POWERShell'i VMM'de açın.

  2. Set-SCVMMServer cmdlet'ini kullanarak bir portal ACL'sini ekleyin.

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

Parametreler

Parametre Ayrıntılar
VMM sunucusu Bağlantı noktası ACL'sinin uygulandığı VMM sunucusunun adı.
PortACL İsteğe bağlı olarak, belirtilen bağlantı noktası ACL'sini genel ayarlara ekler.

Örnekler

Genel ayarlara ACL ekleyin:

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

ACL'yi genel ayarlardan ayırma:

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

Oluşturma sırasında bir VM ağına ACL ekleyin:

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

Mevcut bir VM ağına ACL ekleyin:

Set-SCVMNetwork -PortACL $acl`

Oluşturma sırasında bir VM alt a bilgisayarına ACL ekleyin:

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

Mevcut bir VM alt a bilgisayarına ACL ekleyin:

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

Bağlantı noktası ACL'lerini ve kurallarını alma ve görüntüleme

  1. POWERShell'i VMM'de açın.

  2. Get-SCPortACL cmdlet'ini çalıştırarak bir bağlantı noktası ACL'sini alın ve görüntüleyin:

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Bir kuralı almak ve görüntülemek için Get-SCPortACLRule komutunu çalıştırın:

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

Parametreler

Parametre Ayrıntılar
Parametre yok Tüm ACL'leri alır
Ad/Kimlik Ada veya GUID'ye göre alma
OnBehalfOfUser/OnBehalfOfUserRole Kullanıcı adı veya rolle çalıştırma
VMMServer Belirli VMM sunucusundaki ACL'leri alma
CommonParameters Daha fazla bilgi edinin

Örnekler

Belirli bir ACL'i alma:

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

Belirli bir ACL için kuralları alma:

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

ACL için tüm kuralları alın:

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

Bağlantı noktası ACL'lerini ve kurallarını değiştirme

  1. POWERShell'i VMM'de açın.

  2. Bağlantı noktası ACL'sini değiştirmek için Set-SCPortACL cmdlet'ini çalıştırın:

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Bir ACL'yi kaldırmak için Remove-SCPortACL'yi çalıştırın:

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

    Parametreler

Parametre Ayrıntılar
Ad/Açıklama Bağlantı noktası ACL'sinin adı ve açıklaması
jobvariable İş ilerleme durumunu depolar
OnBehalfOfUser/OnBehalfOfUserRole Kullanıcı adı veya rol ile çalıştırın.
ProTipID Eylemi tetikleyen Protip kimliği
Zaman Uyumsuz Olarak Çalıştır İşin zaman uyumsuz olarak çalışıp çalışmadığını gösterir.
Confirm İşi çalıştırmadan önce istemler
WhatIf Komutunu çalıştırmadan ne olacağını gösterir

Örnekler

ACL açıklaması ayarlayın:

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

İlk cmdlet ACL'yi alır, ikincisi ACL'de açıklamayı ayarlar.

ACL'yi kaldırma:

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

İlk cmdlet ACL'yi alır, ikinci cmdlet ise ACL'yi kaldırır.