Habilitación de la virtualización anidada en una máquina virtual de AzureHow to enable nested virtualization in an Azure VM

La virtualización anidada es compatible con varias familias de máquinas virtuales de Azure.Nested virtualization is supported in several Azure virtual machine families. Esta funcionalidad proporciona gran flexibilidad para admitir escenarios como entornos de desarrollo, pruebas, aprendizaje y demostración.This capability provides great flexibility in supporting scenarios such as development, testing, training, and demonstration environments.

En este artículo se analiza la habilitación de Hyper-V en una máquina virtual de Azure y la configuración de la conectividad de Internet a esa máquina virtual invitada.This article steps through enabling Hyper-V on an Azure VM and configuring Internet connectivity to that guest virtual machine.

Creación de una máquina virtual de Azure compatible con el anidamientoCreate a nesting capable Azure VM

Cree una nueva máquina virtual de Azure con Windows Server 2016.Create a new Windows Server 2016 Azure VM. Como referencia rápida, todas las máquinas virtuales v3 admiten la virtualización anidada.For quick reference, all v3 virtual machines support nested virtualization. Para una lista completa de los tamaños de máquina virtual que admiten anidamiento, visite el artículo Unidad de proceso de Azure (ACU).For a complete list of virtual machine sizes that support nesting, check out the Azure Compute Unit article.

Recuerde elegir un tamaño de máquina virtual lo suficientemente grande para admitir las exigencias de una invitada.Remember to choose a VM size large enough to support the demands of a guest virtual machine. En este ejemplo, se usa una máquina virtual con tamaño D3_v3.In this example, we are using a D3_v3 size Azure VM.

Puede ver la disponibilidad regional de las máquinas virtuales de las series Dv3 o Ev3 aquí.You can view the regional availability of Dv3 or Ev3 series virtual machines here.

Nota

Para instrucciones detalladas sobre cómo crear una máquina virtual nueva, consulte Creación y administración de máquinas virtuales Windows con el módulo de Azure PowerShellFor detailed instructions on creating a new virtual machine, see Create and Manage Windows VMs with the Azure PowerShell module

Conexión a una máquina virtual de AzureConnect to your Azure VM

Cree una conexión a Escritorio remoto en la máquina virtual.Create a remote desktop connection to the virtual machine.

  1. Haga clic en el botón Conectar en las propiedades de la máquina virtual.Click the Connect button on the virtual machine properties. Se crea y se descarga un archivo de Protocolo de Escritorio remoto (archivo .rdp).A Remote Desktop Protocol file (.rdp file) is created and downloaded.

  2. Para conectarse a la máquina virtual, abra el archivo RDP descargado.To connect to your VM, open the downloaded RDP file. Cuando se le solicite, haga clic en Conectar.If prompted, click Connect. En un equipo Mac, necesita un cliente RDP como este Cliente de Escritorio remoto de Mac App Store.On a Mac, you need an RDP client such as this Remote Desktop Client from the Mac App Store.

  3. Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual y, a continuación, haga clic en Aceptar.Enter the user name and password you specified when creating the virtual machine, then click Ok.

  4. Puede recibir una advertencia de certificado durante el proceso de inicio de sesión.You may receive a certificate warning during the sign-in process. Haga clic en o Conectar para continuar con la conexión.Click Yes or Continue to proceed with the connection.

Habilitación de la característica Hyper-V en la máquina virtual de AzureEnable the Hyper-V feature on the Azure VM

Puede configurar estos ajustes de manera manual o usar el script de PowerShell que se proporciona para automatizar la configuración.You can configure these settings manually or we have provided a PowerShell script to automate the configuration.

Opción 1: Usar un script de PowerShell para configurar la virtualización anidadaOption 1: Use a PowerShell script to configure nested virtualization

Hay un script de PowerShell para habilitar la virtualización anidada en un host de Windows Server 2016 disponible en GitHub.A PowerShell script to enable nested virtualization on a Windows Server 2016 host is available on GitHub. El script comprueba los requisitos previos y, luego, configura la virtualización anidada en la máquina virtual de Azure.The script checks pre-requisites and then configures nested virtualization on the Azure VM. Es necesario realizar un reinicio de la máquina virtual de Azure para completar la configuración.A restart of the Azure VM is necessary to complete the configuration. Este script puede funcionar en otros entornos, pero no está garantizado.This script may work in other environments but is not guaranteed. Consulte la entrada de blog de Azure que incluye una demostración de vídeo en directo sobre la virtualización anidada en Azure.Check out the Azure blog post with a live video demonstration on nested virtualization running on Azure! https://aka.ms/AzureNVblog.https://aka.ms/AzureNVblog.

Opción 2: Configurar manualmente la virtualización anidadaOption 2: Configure nested virtualization manually

  1. En la máquina virtual de Azure, abra PowerShell como administrador.On the Azure VM, open PowerShell as an Administrator.

  2. Habilite la característica Hyper-V y las herramientas de administración.Enable the Hyper-V feature and Management Tools.

    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
    

    Advertencia

    Con este comando se reinicia la máquina virtual de Azure.This command restarts the Azure VM. Perderá la conexión RDP durante el proceso de reinicio.You will lose your RDP connection during the restart process.

  3. Una vez que la máquina virtual de Azure se reinicie, reconéctese a la VM con RDP.After the Azure VM restarts, reconnect to your VM using RDP.

Configuración de la conectividad de Internet de la máquina virtual invitadaSet up internet connectivity for the guest virtual machine

Cree un adaptador de red virtual nuevo para la máquina virtual invitada y configure una puerta de enlace NAT para habilitar la conectividad de Internet.Create a new virtual network adapter for the guest virtual machine and configure a NAT Gateway to enable Internet connectivity.

Creación de un conmutador de red virtual NATCreate a NAT virtual network switch

  1. En la máquina virtual de Azure, abra PowerShell como administrador.On the Azure VM, open PowerShell as an Administrator.

  2. Cree un conmutador interno.Create an internal switch.

    New-VMSwitch -Name "InternalNAT" -SwitchType Internal
    
  3. Consulte las propiedades del conmutador y anote el valor de ifIndex del adaptador nuevo.View the properties of the switch and note the ifIndex for the new adapter.

    Get-NetAdapter
    

    NetAdapter

    Nota

    Anote el valor de "ifIndex" del conmutador virtual que acaba de crear.Take note of the "ifIndex" for the virtual switch you just created.

  4. Cree una dirección IP para la puerta de enlace NAT.Create an IP address for the NAT Gateway.

Para configurar la puerta de enlace, necesita información sobre la red:In order to configure the gateway, you need some information about your network:

  • IPAddress: la dirección IP de la puerta de enlace NAT especifica la dirección IPv4 o IPv6 que se va a usar como la dirección de puerta de enlace predeterminada de la subred de la red virtual.IPAddress - The NAT Gateway IP specifies the IPv4 or IPv6 address to use as the default gateway address for the virtual network subnet. El formato genérico es a.b.c.1 (por ejemplo, "192.168.0.1").The generic form is a.b.c.1 (for example, "192.168.0.1"). Si bien no es necesario que la posición final sea .1, habitualmente sí lo es (según la longitud de prefijo).While the final position doesn’t have to be .1, it usually is (based on prefix length). Típicamente, debe usar un espacio de direcciones de red privadas RFC 1918.Typically you should use an RFC 1918 private network address space.

  • PrefixLength: la longitud de prefijo de la subred define el tamaño de la subred local (máscara de subred).PrefixLength - The subnet prefix length defines the local subnet size (subnet mask). La longitud de prefijo de la subred será un valor entero entre 0 y 32.The subnet prefix length will be an integer value between 0 and 32. 0 asignaría todo Internet, 32 solo permitiría una dirección IP asignada.0 would map the entire internet, 32 would only allow one mapped IP. Los valores comunes van de 24 a 12 en función de cuántas direcciones IP se deben adjuntar a NAT.Common values range from 24 to 12 depending on how many IPs need to be attached to the NAT. Un valor de PrefixLength común es 24, que es una máscara de subred de 255.255.255.0.A common PrefixLength is 24 -- this is a subnet mask of 255.255.255.0.

  • InterfaceIndex: ifIndex es el índice de interfaz del conmutador virtual que se creó en el paso anterior.InterfaceIndex - ifIndex is the interface index of the virtual switch created in the previous step.

    New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 13
    

Creación de la red NATCreate the NAT network

Para configurar la puerta de enlace, deberá proporcionar información sobre la red y la puerta de enlace NAT:In order to configure the gateway, you will need to provide information about the network and NAT Gateway:

  • Name: el nombre de la red NAT.Name - This is the name of the NAT network.
  • InternalIPInterfaceAddressPrefix: el prefijo de la subred NAT describe tanto el prefijo de la dirección IP de la puerta de enlace NAT como la longitud de prefijo de la subred NAT anteriores.InternalIPInterfaceAddressPrefix - The NAT subnet prefix describes both the NAT Gateway IP prefix from above as well as the NAT Subnet Prefix Length from above. El formato genérico será a.b.c.0/longitud de prefijo de la subred NAT.The generic form will be a.b.c.0/NAT Subnet Prefix Length.

En PowerShell, cree una red NAT nueva.In PowerShell, create a new NAT network.

New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 192.168.0.0/24

Creación de la máquina virtual invitadaCreate the guest virtual machine

Importante

El agente invitado de Azure no se admite en máquinas virtuales anidadas y puede causar problemas en el host y en las máquinas virtuales anidadas.The Azure guest agent is not supported on nested VMs, and may cause issues on both the host and nested VMs. No instale al agente de Azure en máquinas virtuales anidadas y no use una imagen para crear las máquinas virtuales anidadas que ya tienen instalado el agente invitado de Azure.Don’t install the Azure agent on nested VMs, and don't use an image for creating the nested VMs that already has the Azure guest agent installed.

  1. Abra el Administrador de Hyper-V y cree una máquina virtual nueva.Open Hyper-V Manager and create a new virtual machine. Configure la máquina virtual para usar la red interna nueva que creó.Configure the virtual machine to use the new Internal network you created.

    NetworkConfig

  2. Instale un sistema operativo en la máquina virtual invitada.Install an operating system on the guest virtual machine.

    Nota

    Necesita los medios de instalación de un sistema operativo para instalarlo en la máquina virtual.You need installation media for an operating system to install on the VM. En este caso se usa Windows 10 Enterprise.In this case we are using Windows 10 Enterprise.

Asignación de una dirección IP a la máquina virtual invitadaAssign an IP address to the guest virtual machine

Puede asignar una dirección IP a la máquina virtual invitada ya sea estableciendo manualmente una dirección IP estática en la máquina virtual invitada o configurando DHCP en la máquina virtual de Azure para asignar de manera dinámica la dirección IP.You can assign an IP address to the guest virtual machine either by manually setting a static IP address on the guest virtual machine or configuring DHCP on the Azure VM to assign the IP address dynamically.

Opción 1: Configurar DHCP para asignar dinámicamente una dirección IP a la máquina virtual invitadaOption 1: Configure DHCP to dynamically assign an IP address to the guest virtual machine

Siga estos pasos para configurar DHCP en la máquina virtual host para la asignación dinámica de direcciones.Follow the steps below to configure DHCP on the host virtual machine for dynamic address assignment.

Instalación del servidor DCHP en la máquina virtual de AzureInstall DCHP Server on the Azure VM

  1. Abra el Administrador del servidor.Open Server Manager. En el panel, haga clic en Agregar roles y característica.On the Dashboard, click Add roles and features. Aparecerá el Asistente para agregar roles y características.The Add Roles and Features Wizard appears.

  2. En el asistente, haga clic en Siguiente hasta llegar a la página Roles del servidor.In wizard, click Next until the Server Roles page.

  3. Haga clic para activar la casilla Servidor DHCP, haga clic en Agregar características y en Siguiente hasta completar el asistente.Click to select the DHCP Server checkbox, click Add Features, and then click Next until you complete the wizard.

  4. Haga clic en Instalar.Click Install.

Configuración de un nuevo ámbito de DHCPConfigure a new DHCP scope

  1. Abra el Administrador DHCP.Open DHCP Manager.

  2. En el panel de navegación, expanda el nombre del servidor, haga clic con el botón derecho IPv4 y, luego, haga clic en Nuevo ámbito.In the navigation pane, expand the server name, right-click IPv4, and click New Scope. Aparece el asistente para agregar un nuevo ámbito. Haga clic en Siguiente.The New Scope Wizard appears, click Next.

  3. Escriba un nombre y una descripción para el ámbito y haga clic en Siguiente.Enter a Name and Description for the scope and click Next.

  4. Defina un intervalo IP para el servidor DHCP (por ejemplo, de 192.168.0.100 a 192.168.0.200).Define an IP Range for your DCHP Server (for example, 192.168.0.100 to 192.168.0.200).

  5. Haga clic en Siguiente hasta la página Puerta de enlace predeterminada.Click Next until the Default Gateway page. Escriba la dirección IP que creó anteriormente (por ejemplo, 192.168.0.1) como la puerta de enlace predeterminada y después haga clic en Agregar.Enter the IP Address you created earlier (for example, 192.168.0.1) as the Default Gateway, then click Add.

  6. Haga clic en Siguiente hasta completar el asistente, deje todos los valores predeterminados y haga clic en Finalizar.Click Next until the wizard completes, leaving all default values, then click Finish.

Opción 2: Establecer manualmente una dirección IP estática en la máquina virtual invitadaOption 2: Manually set a static IP address on the guest virtual machine

Si no configuró DHCP para asignar de manera dinámica una dirección IP a la máquina virtual invitada, siga estos pasos para establecer una dirección IP estática.If you did not configure DHCP to dynamically assign an IP address to the guest virtual machine, follow these steps to set a static IP address.

  1. En la máquina virtual de Azure, abra PowerShell como administrador.On the Azure VM, open PowerShell as an Administrator.

  2. Haga clic con el botón derecho en la máquina virtual invitada y haga clic en Conectar.Right-click the guest virtual machine and click Connect.

  3. Inicie sesión en la máquina virtual invitada.Sign in to the guest virtual machine.

  4. En la máquina virtual invitada, abra el Centro de redes y recursos compartidos.On the guest virtual machine, open the Network and Sharing Center.

  5. Configure el adaptador de red para una dirección dentro del intervalo de la red NAT que creó en la sección anterior.Configure the network adapter for an address within the range of the NAT network you created in the previous section.

En este ejemplo usará una dirección dentro del intervalo 192.168.0.0/24.In this example you will use an address in the 192.168.0.0/24 range.

Prueba de la conectividad en la máquina virtual invitadaTest connectivity in guest virtual machine

En la máquina virtual invitada, abra el explorador y navegue a una página web.In the guest virtual machine, open your browser and navigate to a web page. GuestVMGuestVM

Configuración de la conectividad de intranet de la máquina virtual invitadaSet up intranet connectivity for the guest virtual machine

Para obtener instrucciones sobre cómo habilitar la conectividad transparente entre las máquinas virtuales invitadas y las máquinas virtuales de Azure, consulte este documento.For instructions on how to enable transparent connectivity between Guest VMs and Azure VMs, please reference this document.