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:
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.
Genel ayarlara bağlantı noktası ACL'sini ekleyin. Bu, ACL'yi tüm VM sanal ağ bağdaştırıcılarına uygular.
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.
Bağlantı noktası ACL kurallarını yönetin.
Bağlantı noktası ACL'leri oluşturma
POWERShell'i VMM'de açın.
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
POWERShell'i VMM'de açın.
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.
POWERShell'i VMM'de açın.
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
POWERShell'i VMM'de açın.
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>]
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
POWERShell'i VMM'de açın.
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>]
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.