Configuración de direcciones IP privadas para una máquina virtual (clásica) mediante PowerShellConfigure private IP addresses for a virtual machine (Classic) using PowerShell

A una máquina virtual (VM) se le asigna automáticamente una dirección IP privada de un intervalo que el usuario especifique, en función de la subred en la que se implemente.A virtual machine (VM) is automatically assigned a private IP address from a range that you specify, based on the subnet it is deployed in. Una máquina virtual conserva la dirección hasta que se elimina.The address is retained by a VM until the VM is deleted. Azure asigna dinámicamente la siguiente dirección IP privada disponible desde la subred en la que se crea una máquina virtual.Azure dynamically assigns the next available private IP address from the subnet you create a VM in. Asigne una dirección IP estática si quiere disponer de una dirección IP específica de la subred asignada a la máquina virtual.Assign a static IP address if you want a specific IP address from the subnet assigned to the VM.

Importante

Antes de trabajar con recursos de Azure, es importante comprender que Azure tiene actualmente dos modelos de implementación: Azure Resource Manager y clásico.Before you work with Azure resources, it's important to understand that Azure currently has two deployment models: Azure Resource Manager and classic. Asegúrese de que comprende los modelos de implementación y las herramientas antes de trabajar con recursos de Azure.Make sure you understand deployment models and tools before you work with any Azure resource. Puede ver la documentación de las distintas herramientas haciendo clic en las fichas en la parte superior de este artículo.You can view the documentation for different tools by clicking the tabs at the top of this article.

Este artículo trata sobre el modelo de implementación clásico.This article covers the classic deployment model. También puede administrar la dirección IP privada estática en el modelo de implementación del Administrador de recursos.You can also manage a static private IP address in the Resource Manager deployment model.

EscenarioScenario

Para ilustrar mejor cómo configurar una dirección IP estática para una VM, en este documento se utilizará el siguiente escenario.To better illustrate how to configure a static IP address for a VM, this document will use the scenario below.

Escenario de red virtual

En este escenario creará una VM denominada DNS01 en la subred FrontEnd y la configurará para usar una dirección IP estática de 192.168.1.101.In this scenario you will create a VM named DNS01 in the FrontEnd subnet, and set it to use a static IP address of 192.168.1.101.

En los siguientes comandos de PowerShell de ejemplo se presupone que ya se ha creado un entorno simple.The sample PowerShell commands below expect a simple environment already created. Si desea ejecutar los comandos que aparecen en este documento, cree primero el entorno de prueba descrito en Creación de una red virtual.If you want to run the commands as they are displayed in this document, first build the test environment described in Create a VNet.

Comprobación de que una dirección IP concreta está disponibleHow to verify if a specific IP address is available

Para comprobar si la dirección IP 192.168.1.101 está disponible en una red virtual denominada TestVnet, ejecute el siguiente comando de PowerShell y compruebe el valor de IsAvailable:To verify if the IP address 192.168.1.101 is available in a VNet named TestVNet, run the following PowerShell command and verify the value for IsAvailable:

Test-AzureStaticVNetIP –VNetName TestVNet –IPAddress 192.168.1.101 

Resultado esperado:Expected output:

IsAvailable          : True
AvailableAddresses   : {}
OperationDescription : Test-AzureStaticVNetIP
OperationId          : fd3097e1-5f4b-9cac-8afa-bba1e3492609
OperationStatus      : Succeeded

Especificación de una dirección IP privada estática al crear una VMHow to specify a static private IP address when creating a VM

El siguiente script de PowerShell crea un servicio en la nube denominado TestService; a continuación, recupera una imagen de Azure, crea una máquina virtual denominada DNS01 en el nuevo servicio en la nube con la imagen recuperada, establece que la máquina virtual esté en una subred llamada FrontEnd y establece 192.168.1.7 como dirección IP privada estática para la máquina virtual:The PowerShell script below creates a new cloud service named TestService, then retrieves an image from Azure, creates a VM named DNS01 in the new cloud service using the retrieved image, sets the VM to be in a subnet named FrontEnd, and sets 192.168.1.7 as a static private IP address for the VM:

New-AzureService -ServiceName TestService -Location "Central US"
$image = Get-AzureVMImage | where {$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}
New-AzureVMConfig -Name DNS01 -InstanceSize Small -ImageName $image.ImageName |
  Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! |
  Set-AzureSubnet –SubnetNames FrontEnd |
  Set-AzureStaticVNetIP -IPAddress 192.168.1.7 |
  New-AzureVM -ServiceName TestService –VNetName TestVNet

Resultado esperado:Expected output:

WARNING: No deployment found in service: 'TestService'.
OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
New-AzureService     fcf705f1-d902-011c-95c7-b690735e7412 Succeeded      
New-AzureVM          3b99a86d-84f8-04e5-888e-b6fc3c73c4b9 Succeeded  

Recuperación de la información de la dirección IP privada estática para una VMHow to retrieve static private IP address information for a VM

Para ver la información de la dirección IP privada estática para la máquina virtual creada con este script, ejecute el siguiente comando de PowerShell y observe los valores de IpAddress:To view the static private IP address information for the VM created with the script above, run the following PowerShell command and observe the values for IpAddress:

Get-AzureVM -Name DNS01 -ServiceName TestService

Resultado esperado:Expected output:

DeploymentName              : TestService
Name                        : DNS01
Label                       : 
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : Provisioning
IpAddress                   : 192.168.1.7
InstanceStateDetails        : Windows is preparing your computer for first use...
PowerState                  : Started
InstanceErrorCode           : 
InstanceFaultDomain         : 0
InstanceName                : DNS01
InstanceUpgradeDomain       : 0
InstanceSize                : Small
HostName                    : rsR2-797
AvailabilitySetName         : 
DNSName                     : http://testservice000.cloudapp.net/
Status                      : Provisioning
GuestAgentStatus            : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.GuestAgentStatus
ResourceExtensionStatusList : {Microsoft.Compute.BGInfo}
PublicIPAddress             : 
PublicIPName                : 
NetworkInterfaces           : {}
ServiceName                 : TestService
OperationDescription        : Get-AzureVM
OperationId                 : 34c1560a62f0901ab75cde4fed8e8bd1
OperationStatus             : OK

Eliminación de una dirección IP privada estática de una VMHow to remove a static private IP address from a VM

Para quitar la dirección IP privada estática agregada a la máquina virtual en el script anterior, ejecute el siguiente comando de PowerShell:To remove the static private IP address added to the VM in the script above, run the following PowerShell command:

Get-AzureVM -ServiceName TestService -Name DNS01 |
  Remove-AzureStaticVNetIP |
  Update-AzureVM

Resultado esperado:Expected output:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Update-AzureVM       052fa6f6-1483-0ede-a7bf-14f91f805483 Succeeded

Adición de una dirección IP privada estática a una VM existenteHow to add a static private IP address to an existing VM

Para agregar una dirección IP privada estática a la VM creada con el script anterior, ejecute el siguiente comando:To add a static private IP address to the VM created using the script above, run the following command:

Get-AzureVM -ServiceName TestService -Name DNS01 |
  Set-AzureStaticVNetIP -IPAddress 192.168.1.7 |
  Update-AzureVM

Resultado esperado:Expected output:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Update-AzureVM       77d8cae2-87e6-0ead-9738-7c7dae9810cb Succeeded 

Configuración de direcciones IP en el sistema operativoSet IP addresses within the operating system

Se recomienda no asignar estáticamente la dirección IP privada asignada a la máquina virtual de Azure en el sistema operativo de una máquina virtual, a menos que sea necesario.It’s recommended that you do not statically assign the private IP assigned to the Azure virtual machine within the operating system of a VM, unless necessary. Al establecer manualmente la dirección IP privada en el sistema operativo, asegúrese de que sea la misma que la dirección IP privada asignada a la máquina virtual de Azure, de lo contrario, perderá la conectividad a la máquina virtual.If you do manually set the private IP address within the operating system, ensure that it is the same address as the private IP address assigned to the Azure VM, or you can lose connectivity to the virtual machine. No asigne manualmente la dirección IP pública asignada a una máquina virtual de Azure en el sistema operativo de la máquina virtual.You should never manually assign the public IP address assigned to an Azure virtual machine within the virtual machine's operating system.

Pasos siguientesNext steps