SDN ポート ACL を使用して VM トラフィックを許可およびブロックする
System Center Virtual Machine Manager (VMM) では、ソフトウェア定義ネットワーク (SDN) ポート アクセス制御リスト (ACL) を一元的に構成および管理できます。
- ポート ACL は、レイヤー 2 のポート レベルでトラフィックをフィルター処理するポート ACL 規則のセットです。
- VMM のポート ACL は、特定の VMM ネットワーク オブジェクトへのアクセスをフィルター処理します。
- 各 VMM ネットワーク オブジェクトに接続できるポート ACL は 1 つだけです。
- ACL にはルールが含まれており、任意の数の VMM ネットワーク オブジェクトにアタッチできます。 ルールなしで ACL を作成し、後でルールを追加できます。
- ACL に複数のルールがある場合は、優先順位に基づいて適用されます。 ルールが条件に一致し、適用された後、他のルールは処理されません。
- SDN ポート ACL は、仮想サブネットと仮想ネットワーク アダプターに適用できます。
注意
ポート ACL の設定は、VMM の PowerShell コマンドレットを介してのみ公開され、VMM コンソールで構成することはできません。
VMM PowerShell を使用して、Hyper-V ポート ACL を構成することもできます。 詳細については、「 Hyper-V ポート ACLを参照してください。
この記事では、VMM PowerShell コマンドレットを使用して SDN ポート ACL を作成および管理する方法について説明します。
開始する前に
SDN ネットワーク コントローラーがデプロイされていることを確認します。
ポート ACL を作成する
VMM で PowerShell を開きます。
ポート ACL を作成します。
PS C:\> New-SCPortACL -Name "RDPAccess" -Description "PortACL to control RDP access" -ManagedByNC
メモ
パラメーター -ManagedByNC は、ポート ACL がネットワーク コントローラー (NC) によって管理され、NC マネージド オブジェクトにのみアタッチできることを保証します。 ここで示すコマンドレットでは、値の例を使用します。
ポート ACL 規則を作成する
既存のポート ACL を取得します。
PS C:\> $portACL = Get-SCPortACL -Name "RDPAccess"
ポート ACL 規則を作成します。
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
注意
- SDN ポート ACL ルールの優先順位範囲: 1 から 64500。
- ACL ルールの作成では、TCP/UDP/任意のプロトコル パラメーターのみがサポートされます。
ACL を仮想ネットワーク アダプターに接続する
仮想ネットワーク アダプターを取得します。
PS C:\> $vm = Get-SCVirtualMachine -Name “TenantVM” PS C:\> $adapter = Get-SCvirtualNetworkAdapter -VM $vm"
既存のポート ACL を仮想ネットワーク アダプターに接続します。
PS C:\> $portACL = Get-SCPortACL -Name "RDPAccess" PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $adapter -PortACL $portACL
注
New-SCVirtualNetworkAdapter コマンドレットを使用して、仮想ネットワーク アダプターの作成時にポート ACL をアタッチすることもできます。 詳細情報。
仮想ネットワーク アダプターからポート ACL をデタッチする
ポート ACL をデタッチする仮想ネットワーク アダプターを取得します。
PS C:\> $vm = Get-SCVirtualMachine -Name “TenantVM” PS C:\> $adapter = Get-SCvirtualNetworkAdapter -VM $vm
仮想ネットワーク アダプターからポート ACL をデタッチします。
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $adapter -RemovePortACL
VM サブネットに ACL をアタッチする
ACL をアタッチする VM サブネットを取得します。
PS C:\> $vmSubnet = Get-SCVMSubnet -Name “Tenant Subnet”
既存のポート ACL を VM サブネットにアタッチします。
PS C:\> Set-SCVMSubnet -VMSubnet $vmSubnet -PortACL $portACL
注釈
また、 New-SCVMSubnet コマンドレットを使用して VM サブネットを作成するときにポート ACL をアタッチすることもできます。 詳細情報。
VM サブネットからポート ACL をデタッチする
ポート ACL をデタッチする VM サブネットを取得します。
PS C:\> $vmSubnet = Get-SCVMSubnet -Name “Tenant Subnet”
VM サブネットからポート ACL をデタッチします。
PS C:\> Set-SCVMSubnet –VMSubnet $vmSubnet -RemovePortACL
ポート ACL 規則を削除する
削除するポート ACL 規則を取得します。
PS C:\> $portACLRule = Get-SCPortACLRule –Name “AllowRDPAccess”
ポート ACL 規則を削除します。
PS C:\> Remove-SCPortACLRule -PortACLRule $portACLRule
ポート ACL の削除
削除するポート ACL を取得します。
PS C:\> $portACL = Get-SCPortACL -Name “RDPAccess”
ポート ACL を削除します。
PS C:\> Remove-SCPortACL -PortACL $portACL