Administración de ACL de puertos en VMM
Importante
Esta versión de Virtual Machine Manager (VMM) ha llegado al final del soporte técnico. Se recomienda actualizar a VMM 2022.
En System Center - Virtual Machine Manager (VMM), puede configurar y administrar de manera centralizada las listas de control de acceso (ACL) a puertos de Hyper-V. Las ACL de puerto se pueden configurar para un tejido administrado por controladora de red y para redes que no están administradas por controladora de red.
- Una ACL de puerto es un conjunto de reglas que filtran el tráfico en el nivel de puerto de capa 2. Una ACL de puerto en VMM filtra el acceso a un objeto VMM determinado. Un objeto de red no puede tener más de una ACL de puerto conectada.
- Una ACL contiene reglas y se puede adjuntar a cualquier número de objetos de red. Puede crear una ACL sin reglas y luego agregarlas posteriormente. Cada regla de ACL corresponde solo a una ACL de puerto.
- Si una ACL tiene varias reglas, se aplican en función de la prioridad. Después de que una regla coincida con los criterios y se aplique, no se procesa ninguna otra.
- Se aplica una ACL de puerto de configuración global a todos los adaptadores de red virtual de máquinas virtuales en una infraestructura. No hay ningún tipo de objeto independiente para la configuración global. En su lugar, la ACL de puerto de configuración global se adjunta al servidor de administración de VMM.
- La configuración de ACL de puerto solo se expone a través de cmdlets de PowerShell en VMM y no se puede configurar en la consola VMM.
- Las ACL de puerto se pueden aplicar a:
- Los adaptadores y subredes virtuales en una implementación de controladora de red.
- 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.
Antes de empezar
- Para aplicar una ACL a objetos administrados por controladora de red, use la marca ManagedByNC y establézcala en 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.
- Los tipos de ACL no son intercambiables. No se puede aplicar una ACL con ManagedByNC establecido en false, a objetos administrados por controladora de red y viceversa.
- La diferencia clave entre estos dos tipos de ACL es que es necesario corregir cada adaptador de red después de aplicar la ACL en los objetos que no administra la controladora de red.
- También hay una diferencia en los intervalos de prioridad:
- ACL de puerto de Hyper-V (no administradas por controladora de red) : 1-65535
- ACL de puerto de SDN (administradas por controladora de red) : 1-64500
- Necesita permisos de administrador de VMM completos para adjuntar una ACL de puerto a la configuración global. Para asociar la ACL a objetos VMM (redes de VM, subredes, adaptadores de red virtual), debe ser un administrador de VMM o un administrador de inquilinos o un usuario de autoservicio.
Escenarios no admitidos
Esta es una lista de escenarios no admitidos:
- Administrar reglas individuales para una sola instancia cuando la ACL se comparte con varias instancias. Todas las reglas se administran de manera centralizada dentro de sus ACL principales y se aplican dondequiera que se adjunte la ACL.
- Adjuntar más de una ACL a una entidad.
- Aplicar las ACL de puerto a adaptadores de red virtual en la partición principal de Hyper-V (sistema operativo de administración).
- Crear reglas de ACL de puerto en VMM que incluyan protocolos a nivel de dirección IP (distintos de TCP o UDP). Hyper-V sigue admitiendo otros protocolos de manera nativa.
- Aplique ACL de puerto a redes lógicas, sitios de red (definiciones de red lógicas), VLAN de subred y otros objetos de red VMM que no se mencionan como compatibles.
Pasos de implementación
Use la interfaz de PowerShell para VMM para hacer lo siguiente:
Definir las reglas y las ACL de puerto.
- Las reglas se aplican a puertos de conmutador virtual en servidores de Hyper-V como "ACL extendidas de puerto" (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.
- Las reglas se aplican a puertos de conmutador virtual en servidores de Hyper-V como "ACL extendidas de puerto" (VMNetworkAdapterExtendedAcl). Esto significa que solo se pueden aplicar a los hosts que ejecutan Windows Server 2016 o versiones posteriores, ya que VMM no crea ACL de puerto de Hyper-V heredadas (VMNetworkAdapterAcl) para versiones anteriores.
- Todas las reglas de ACL de puerto definidas en VMM están con estado para TCP. No puede crear reglas de ACL de TCP sin estado.
Adjunte una ACL de puerto a la configuración global. Esto aplica la ACL a todos los adaptadores de red virtual de máquina virtual.
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.
Administre las reglas de ACL de puerto.
Crear ACL de puerto
Abra PowerShell en VMM.
Cree una ACL de puerto con el 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>]
Parámetros
Parámetro | Detalles |
---|---|
Nombre; Descripción | Nombre y descripción de la ACL de puerto |
JobVariable | Almacena el progreso de trabajo |
ManagedByNC | Especifica si los objetos están administrados por controladora de red |
OnBehalfOfUser/OnBehalfOfRole | Ejecuta el trabajo con el rol o el nombre de usuario |
Propietario | Especifica el propietario de un objeto de VMM en forma de cuenta de usuario de dominio válida. Ejemplo: Contoso\PattiFuller o PattiFuller@Contoso |
ProTipID | Id. de ProTip que ha desencadenado la acción |
RunAsychronously | Indica si el trabajo se ejecuta de forma asincrónica |
UserRole | Especifica el rol de usuario |
VMMServer | Especifica el servidor VMM |
CommonParameters | Más información |
Ejemplos
Cree una ACL de puerto para los objetos administrados por controladora de red "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":
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 puerto
Abra PowerShell en VMM.
Cree una o varias reglas con el 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>]
Parámetros
Parámetro | Detalles |
---|---|
Nombre, Descripción | Nombre y descripción de la regla |
Tipo | Especifica la dirección del tráfico para la que se aplica la ACL (entrante o saliente) |
Acción | Especifica si la ACL permite o bloquea el tráfico (Permitir o Denegar) |
LocalAddressPrefix | Especifica la subred o dirección IP de origen que se usa para identificar el tráfico que se debe filtrar. |
LocalPortRange | Especifica el intervalo de puertos de origen que se usa para identificar el tráfico. |
RemoteAddressPrefix | Especifica la subred o dirección IP de destino que se usa para identificar el tráfico que se filtrará. |
RemotePortRange | Especifica el intervalo de puertos de destino que se usa para identificar el tráfico. |
Protocol | Especifica el protocolo para el que se aplica la regla. |
Prioridad | Especifique la prioridad de la regla en la ACL del puerto. Las reglas se aplican según el orden. Establezca una prioridad entre 1 y 65535, donde el número menor tiene prioridad. Las reglas de ACL de puerto para los objetos administrados por la controladora de red deben establecerse en un valor igual o mayor que 100. La controladora de red no admite una prioridad inferior a 100. |
Ejemplos
Cree una ACL de puerto y almacene el objeto en $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:
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:
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". El segundo comando cambia la prioridad de la regla a 220.
Modifique la regla de ACL de puerto para el intervalo de direcciones de destino y el protocolo de una regla:
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". El segundo cambia el protocolo a UDP y establece el destino en la subred 172.185.21.0/24.
Adjuntar y desasociar las ACL de puerto
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. 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.
Abra PowerShell en VMM.
Adjunte una ACL de portal con el cmdlet Set-SCVMMServer.
Set-SCVMMServer –VMMServer <VMMServer> [-PortACL <NetworkAccessControlList> | -RemovePortACL ]
Parámetros
Parámetro | Detalles |
---|---|
Servidor VMM | Nombre del servidor VMM en el que se aplica la ACL de puerto. |
PortACL | De manera opcional, adjunta la ACL de puerto especificada a la configuración global. |
Ejemplos
Adjunte una ACL a la configuración global:
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:
Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -RemovePortACL
Adjunte una ACL a una red de máquina virtual durante la creación:
New-SCVMNetwork [–PortACL <NetworkAccessControlList>] [rest of the parameters]
Adjunte una ACL a una red de máquina virtual existente:
Set-SCVMNetwork -PortACL $acl`
Adjunte una ACL a una subred de máquina virtual durante la creación:
New-SCVMSubnet [–PortACL <NetworkAccessControlList>] [rest of the parameters]
Adjunte una ACL a una subred de máquina virtual existente:
Set-SCVMSubnet [–PortACL <NetworkAccessControlList> | -RemovePortACL] [rest of the parameters]
Recuperar y ver las reglas y las ACL de puerto
Abra PowerShell en VMM.
Ejecute el cmdlet Get-SCPortACL para recuperar y ver una ACL de puerto:
Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
Ejecute Get-SCPortACLRule para recuperar y ver una regla:
Get-SCPortACLRule [-Name <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-PortACL <PortACL> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
Parámetros
Parámetro | Detalles |
---|---|
Sin parámetros | Recupera todas las ACL |
Nombre o Id. | Recuperar por nombre o GUID |
OnBehalfOfUser y OnBehalfOfUserRole | Ejecutar con el rol o el nombre de usuario |
VMMServer | Recuperar las ACL en el servidor VMM específico |
CommonParameters | Más información |
Ejemplos
Recupere una ACL específica:
PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
Obtenga reglas para una ACL específica:
PS: C:> Get-SCPortACLRule -Name "AllowRDPAccess"
Obtenga todas las reglas de ACL:
PS: C:> Get-SCPortACLRule -PortACL $portACL
Modificar las reglas y las ACL de puerto
Abra PowerShell en VMM.
Ejecute el cmdlet Set-SCPortACL para modificar una ACL de puerto:
Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
Ejecute Remove-SCPortACL para quitar una ACL:
Remove-SCPortACL [-PortACL] <PortACL> [-Confirm] [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [-WhatIf] [<CommonParameters>]
Parámetros
Parámetro | Detalles |
---|---|
Nombre/descripción | Nombre y descripción de la ACL de puerto |
JobVariable | Almacena el progreso de trabajo |
OnBehalfOfUser y OnBehalfOfUserRole | Ejecutar con el rol o el nombre de usuario. |
ProTipID | Id. de ProTip que ha desencadenado la acción |
RunAsynchronously | Indica si el trabajo se ejecuta de forma asincrónica. |
Confirmar | Mensajes antes de ejecutar el trabajo |
WhatIf | Muestra lo que ocurre sin ejecutar el comando |
Ejemplos
Establezca una descripción de ACL:
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.
Quite una ACL:
PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Remove-SCPortACL -PortACL $portACL
El primer cmdlet recupera la ACL, el segundo, la quita.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de