Administración de ACL de puertos en VMMManage port ACLs in VMM

Se aplica a: System Center 2016 - Virtual Machine ManagerApplies To: System Center 2016 - Virtual Machine Manager

En System Center 2016 Virtual Machine Manager (VMM), puede configurar y administrar de manera centralizada las listas de control de acceso (ACL) a puertos de Hyper-V.In System Center 2016 - Virtual Machine Manager (VMM), you can centrally configure and manage Hyper-V port access control lists (ACLs). Las ACL de puerto se pueden configurar tanto para un tejido administrado por controladora de red como para redes que no estén administradas por controladora de red.Port ACLs can be configured for both a Network Controller- managed fabric, and for networks that aren't managed by Network Controller.

  • Una ACL de puerto es un conjunto de reglas que filtran el tráfico en el nivel de puerto de capa 2.A port ACL is a set of rules that filter traffic at the layer 2 port level. Una ACL de puerto en VMM filtra el acceso a un determinado objeto VMM.A port ACL in VMM filters access to a particular VMM object. Un objeto de red no puede tener más de una ACL de puerto conectada.A network object can have no more than one port ACL attached.
  • Una ACL contiene reglas y se puede adjuntar a cualquier número de objetos de red.An ACL contains rules, and can be attached to any number of network objects. Puede crear una ACL sin reglas y luego agregarlas posteriormente.You can create an ACL without rules, and then add rules at a later time. Cada regla de ACL corresponde solo a una ACL de puerto.Each ACL rule corresponds to a only one port ACL
  • Si una ACL tiene varias reglas, estas se aplican en función de la prioridad.If an ACL has multiple rules, they are applied based on priority. Después de que una regla coincida con los criterios y se aplique, no se procesa ninguna otra.After a rule matches criteria and is applied, no other rules are processed.
  • Se aplica una ACL de puerto de configuración global a todos los adaptadores de red virtual de máquinas virtuales en una infraestructura.A global settings port ACL is applied to all VM virtual network adapters in an infrastructure. No hay ningún tipo de objeto independiente para la configuración global.There's no separate object type for global settings. En su lugar, la ACL de puerto de configuración global se adjunta al servidor de administración de VMM.Instead, the global settings port ACL is attached to the VMM management server.
  • La configuración de ACL de puerto solo se expone a través de los cmdlets de PowerShell en VMM y no se puede configurar en la consola VMM.Port ACL settings are exposed only through PowerShell cmdlets in VMM, and can't be configured in the VMM console.
  • Las ACL de puerto se pueden aplicar a:Port ACLs can be applied to:
    • Los adaptadores y subredes virtuales en una implementación de controladora de red.Virtual subnets and adapters in a Network Controller deployment.
    • Las subredes virtuales, adaptadores de red, redes de máquinas virtuales y el servidor de administración de VMM en redes que no estén administradas por controladora de red.Virtual subnets, network adapters, VM networks, and the VMM management server in networks that aren't managed by Network Controller.

Antes de empezarBefore you start

  • Para aplicar una ACL a objetos administrados por controladora de red, use la marca ManagedByNC y establézcala en True.To apply an ACL to objects managed by Network Controller, you use the ManagedByNC flag, and set it to True. Si no se establece en True, la ACL solo se aplica a los objetos de red que no estén administrados por controladora de red.If it's not set to True, the ACL only applies to network objects that aren't managed by Network Controller.
  • Los tipos de ACL no son intercambiables.ACL types aren't interchangeable. No se puede aplicar una ACL con ManagedByNC establecido como false a objetos administrados por controladora de red y viceversa.You can’t apply an ACL with ManagedByNC set to false, to objects managed by Network Controller, and vice versa.
  • La principal diferencia entre estos dos tipos de ACL es que debe corregir cada adaptador de red después de aplicar las ACL en los objetos que no estén administrados por controladora de red.The key difference between these two kinds of ACLs is that you need to remediate each network adapter, after applying ACL on objects that aren't managed by Network Controller.
  • También hay una diferencia en los intervalos de prioridad:There's also a difference in priority ranges:
    • ACL de puerto de Hyper-V (no administradas por controladora de red): 1-65535Hyper-V port ACLs (not managed by Network Controller): 1 - 65535
    • ACL de puerto de SDN (administradas por controladora de red): 1-64500SDN port ACLs (managed by Network Controller): 1 - 64500
  • Necesita permisos de administrador de VMM completos para adjuntar una ACL de puerto a la configuración global.You need full VMM admin permissions to attach a port ACL to global settings. Para adjuntar la ACL a objetos VMM (redes de máquinas virtuales, subredes, adaptadores de red virtual), debe ser un administrador de VMM, un administrador de inquilinos o un usuario de autoservicio.To attach the ACL to VMM objects (VM networks, subnets, virtual network adapters), you need to be a VMM admin or tenant admin, or a self-service user.

Escenarios no admitidosUnsupported scenarios

Esta es una lista de los escenarios no admitidos:Here is a list of unsupported scenarios:

  • Administrar reglas individuales para una sola instancia cuando la ACL se comparte con varias instancias.Manage individual rules for a single instance, when the ACL is shared with multiple instances. Todas las reglas se administran de manera centralizada dentro de sus ACL principales y se aplican dondequiera que se adjunte la ACL.All rules are managed centrally within their parent ACLs, and apply wherever the ACL is attached.
  • Adjuntar más de una ACL a una entidad.Attach more than one ACL to an entity.
  • Aplicar las ACL de puerto a adaptadores de red virtual en la partición principal de Hyper-V (sistema operativo de administración).Apply port ACLs to virtual network adapters n the Hyper-V parent partition (management operating system).
  • Crear reglas de ACL de puerto en VMM que incluyan protocolos a nivel de dirección IP (distintos de TCP o UDP).Create port ACL rules in VMM that include IP-level protocols (other than TCP or UDP). Hyper-V sigue admitiendo otros protocolos de manera nativa.Other protocols are still supported natively by Hyper-V.
  • Aplicar ACL de puerto a redes lógicas, sitios de red (definiciones de red lógica), VLAN de subred y otros objetos de redes de VMM que no se han indicado como admitidos de forma específica.Apply port ACLs to logical networks, network sites (logical network definitions), subnet VLANs, and other VMM networking objects that aren't mentioned as specifically supported.

Pasos de implementaciónDeployment steps

Use la interfaz de PowerShell para VMM para hacer lo siguiente:Use the VMM PowerShell interface to do the following:

  1. Definir las reglas y las ACL de puerto.Define port ACLs and rules.
    • Las reglas se aplican a puertos de conmutador virtual en servidores de Hyper-V como "ACL extendidas de puerto" (VMNetworkAdapterExtendedAcl).The rules are applied to virtual switch ports on Hyper-V servers as "extended port ACLs" (VMNetworkAdapterExtendedAcl). Esto significa que pueden aplicarse únicamente a los hosts que ejecutan Windows Server 2012 R2 o posterior, ya que VMM no crea ACL de puerto de Hyper-V heredadas (VMNetworkAdapterAcl) para las versiones anteriores.This means that they can apply only to hosts running Windows Server 2012 R2 or later, because VMM doesn't create legacy Hyper-V port ACLs (VMNetworkAdapterAcl) for earlier versions.
    • Todas las reglas de ACL de puerto definidas en VMM están con estado para TCP.All port ACL rules defined in VMM are stateful for TCP. No puede crear reglas de ACL de TCP sin estado.You can't create stateless TCP ACL rules.
  2. Adjunte una ACL de puerto a la configuración global.Attach a port ACL to global settings. Esto aplica la ACL a todos los adaptadores de red virtual de máquina virtual.This applies the ACL to all VM virtual network adapters.
  3. Adjunte las ACL de puerto a las redes de máquina virtual, subredes de máquina virtual o adaptadores de red virtual de máquina virtual.Attach the port ACLs to VM networks, VM subnets, or VM virtual network adapters.
  4. Administre las reglas de ACL de puerto.Manage port ACL rules.

Crear ACL de puertoCreate port ACLs

  1. Abra PowerShell en VMM.Open PowerShell in VMM.
  2. Cree una ACL de puerto con el cmdlet New-SCPortACL.Create a port ACL with the New-SCPortACL cmdlet.

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

ParámetrosParameters

ParámetroParameter DetallesDetails
Nombre; DescripciónName; Description Nombre y descripción de la ACL de puertoPort ACL name and description
JobVariableJobVariable Almacena el progreso de trabajoStores job progress
ManagedByNCManagedByNC Especifica si los objetos están administrados por controladora de redSpecifies whether objects are managed by Network Controller
OnBehalfOfUser/OnBehalfOfRoleOnBehalfOfUser/OnBehalfOfRole Ejecuta el trabajo con el rol o el nombre de usuarioRun job with user name or role
PropietarioOwner Especifica el propietario de un objeto de VMM en forma de cuenta de usuario de dominio válida.Specifies the owner of a VMM object in the form of a valid domain user account. Ejemplo: Contoso\PattiFuller o PattiFuller@Contoso</span><span class="sxs-lookup">Example: Contoso\PattiFuller or PattiFuller@Contoso</span></span>
ProTipIDProTipID Id. de ProTip que ha desencadenado la acciónID of ProTip that triggered action
RunAsychronouslyRunAsychronously Indica si el trabajo se ejecuta de forma asincrónicaIndicates whether job runs asynchronously
UserRoleUserRole Especifica el rol de usuarioSpecifies user role
VMMServerVMMServer Especifica el servidor VMMSpecifies VMM server
CommonParametersCommonParameters Más información.Learn more

EjemplosExamples

Cree una ACL de puerto para los objetos administrados por controladora de red "DemoACLManagedByNC":Create a port ACL for objects managed by Network Controller "DemoACLManagedByNC":

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

Cree una ACL de puerto para los objetos que no están administrados por controladora de red "DemPortACL":Create a port ACL for objects not managed Network Controller "DemPortACL":

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

Definición de las reglas de ACL de puerto de una ACL de puertoDefine port ACL rules for a port ACL

  1. Abra PowerShell en VMM.Open PowerShell in VMM.
  2. Cree una o varias reglas con el cmdlet New-SCPortACLRule.Create one or more rules with the New-SCPortACLRule cmdlet.

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

ParámetrosParameters

ParámetroParameter DetallesDetails
Nombre, DescripciónName, Description Nombre y descripción de la reglaRule name and description
TipoType Especifica la dirección del tráfico para la que se aplica la ACL (entrante o saliente)Specifies the traffic direction for which the ACL is applied (Inbound or Outbound)
AcciónAction Especifica si la ACL permite o bloquea el tráfico (Permitir o Denegar)Specifies whether the ACL allows or blocks traffic (Allow or Deny)
LocalAddressPrefixLocalAddressPrefix Especifica la subred o dirección IP de origen que se usa para identificar el tráfico que se debe filtrar.Specifies the source IP address or subnet that's used to identify traffic that should be filtered.
LocalPortRangeLocalPortRange Especifica el intervalo de puertos de origen que se usa para identificar el tráfico.Specifies the source port range that's used to identify traffic.
RemoteAddressPrefixRemoteAddressPrefix Especifica la subred o dirección IP de destino que se usa para identificar el tráfico que se filtrará.Specifies the destnation IP address or subnet that's used to identify traffic for filtering.
RemotePortRangeRemotePortRange Especifica el intervalo de puertos de destino que se usa para identificar el tráfico.Specifies the destination port range that's used to identify traffic.
ProtocoloProtocol Especifica el protocolo para el que se aplica la regla.Specifies the protocol for which the rule is applied.
PrioridadPriority Especifique la prioridad de la regla en la ACL del puerto.Specify the priority of the rule in in port ACL. Las reglas se aplican según el orden.Rules are applied according to order. Establezca una prioridad entre 1 y 65535, donde el número menor tiene prioridad.Set a priority between 1 and 65535, where the lowest number has highest priority. Las reglas de ACL de puerto para los objetos administrados por controladora de red deben establecerse en un valor igual o mayor que 100.Port ACLs rules for objects managed by Network Controller should be set equal to or greater than 100. La controladora de red no admite una prioridad inferior a 100.Network Controller doesn't support priority below 100.

EjemplosExamples

Cree una ACL de puerto y almacene el objeto en $portACL:Create a port ACL and store the object in $portACL:

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

Cree una regla de ACL de puerto para permitir el acceso RDP desde una subred remota:Create a port ACL rule to allow RDP access from a remote subnet:

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

Modifique la prioridad de una regla de ACL:Modify the priority of an ACL rule:

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

El primer comando obtiene la regla de ACL de puerto "AllowRDPAccess".The first command gets the port ACL rule "AllowRDPAccess". El segundo comando cambia la prioridad de la regla a 220.The second command changes the priority of the rule to 220.

Modifique la regla de ACL de puerto para el intervalo de direcciones de destino y el protocolo de una regla:Modify the port ACL rule for the destination address range and protocol for a rule:

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

El primer comando recupera la regla "AllowRDPAccess".The first command retrieves rule "AllowRDPAccess". El segundo cambia el protocolo a UDP y establece el destino en la subred 172.185.21.0/24.The second changes the protocol to UDP, and sets the destination to subnet 172.185.21.0/24.

Adjuntar y desasociar las ACL de puertoAttach and detach port ACLs

Una ACL de puerto se puede adjuntar a la configuración global, redes de máquinas virtuales, subredes de máquinas virtuales y adaptadores de red virtual.A port ACL can be attached to global settings, VM networks, VM subnets, and virtual network adapters. Una ACL de puerto que se adjunta a la configuración global se aplica de forma predeterminada a todos los adaptadores de red virtual de máquina virtual.A port ACL attached to global settings applies by default to all VM virtual network adapters.

  1. Abra PowerShell en VMM.Open PowerShell in VMM.
  2. Adjunte una ACL de portal con el cmdlet Set-SCVMMServer.Attach a portal ACL using the Set-SCVMMServer cmdlet.

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

ParámetrosParameters

ParámetroParameter DetallesDetails
Servidor VMMVMM server Nombre del servidor VMM en el que se aplica la ACL de puerto.Name of the VMM server on which the port ACL is applied.
PortACLPortACL De manera opcional, adjunta la ACL de puerto especificada a la configuración global.Optionally attaches the specified port ACL to global settings.

EjemplosExamples

Adjunte una ACL a la configuración global:Attach an ACL to global settings:

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

Desasocie una ACL de la configuración global:Detach an ACL from global settings:

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

Adjunte una ACL a una red de máquina virtual durante la creación:Attach an ACL to a VM network during creation:

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

Adjunte una ACL a una red de máquina virtual existente:Attach an ACL to an existing VM network:

Set-SCVMNetwork -PortACL $acl`

Adjunte una ACL a una subred de máquina virtual durante la creación:Attach an ACL to a VM subnet during creation:

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

Adjunte una ACL a una subred de máquina virtual existente:Attach an ACL to an existing VM subnet:

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

Recuperar y ver las reglas y las ACL de puertoRetrieve and view port ACLs and rules

  1. Abra PowerShell en VMM.Open PowerShell in VMM.
  2. Ejecute el cmdlet Get-SCPortACL para recuperar y ver una ACL de puerto:Run the Get-SCPortACL cmdlet, to retrieve and view a port ACL:

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Ejecute Get-SCPortACLRule para recuperar y ver una regla:Run the Get-SCPortACLRule to retrieve and view a rule:

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

ParámetrosParameters

ParámetroParameter DetallesDetails
Sin parámetrosNo parameters Recupera todas las ACLRetrieves all ACLs
Nombre o Id.Name/ID Recuperar por nombre o GUIDRetrieve by name or GUID
OnBehalfOfUser y OnBehalfOfUserRoleOnBehalfOfUser/OnBehalfOfUserRole Ejecutar con el rol o el nombre de usuarioRun with user name or role
VMMServerVMMServer Recuperar las ACL en el servidor VMM específicoRetrieve ACLs on specific VMM server
CommonParametersCommonParameters Más información.Learn more

EjemplosExamples

Recupere una ACL específica:Retrieve a specific ACL:

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

Obtenga reglas para una ACL específica:Get rules for a specific ACL:

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

Obtenga todas las reglas de ACL:Get all rules for ACL:

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

Modificar las reglas y las ACL de puertoModify port ACLs and rules

  1. Abra PowerShell en VMM.Open PowerShell in VMM.
  2. Ejecute el cmdlet Set-SCPortACL para modificar una ACL de puerto:Run the Set-SCPortACL cmdlet, to modify a port ACL:

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Ejecute Remove-SCPortACL para quitar una ACL:Run the Remove-SCPortACL to remove an ACL:

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

    ParámetrosParameters

ParámetroParameter DetallesDetails
Nombre/descripciónName/Description Nombre y descripción de la ACL de puertoName and description of port ACL
JobVariableJobVariable Almacena el progreso de trabajoStores job progress
OnBehalfOfUser y OnBehalfOfUserRoleOnBehalfOfUser/OnBehalfOfUserRole Ejecutar con el rol o el nombre de usuario.Run with user name or role.
ProTipIDProTipID Id. de ProTip que ha desencadenado la acciónID of ProTip that triggered action
RunAsynchronouslyRunAsynchronously Indica si el trabajo se ejecuta de forma asincrónica.Indicates whether job runs asynchronously.
ConfirmarConfirm Mensajes antes de ejecutar el trabajoPrompts before running job
WhatIfWhatIf Muestra lo que ocurre sin ejecutar el comandoShows what happens without running command

EjemplosExamples

Establezca una descripción de ACL:Set an ACL description:

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

El primer cmdlet recupera la ACL, el segundo establece la descripción de la ACL.The first cmdlet retrieves the ACL, the second sets the description on the ACL.

Quite una ACL:Remove an ACL:

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

El primer cmdlet recupera la ACL, el segundo, la quita.The first cmdlet retrieves the ACL, the second removes it.