Compartir vía


Inicio rápido: Creación de una puerta de enlace de NAT mediante Azure PowerShell

En este inicio rápido, obtendrá información sobre cómo crear una puerta de enlace de NAT mediante PowerShell. El servicio NAT Gateway proporciona conectividad de salida para máquinas virtuales en Azure.

Diagrama de los recursos creados en el inicio rápido NAT Gateway.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.

  • Azure Cloud Shell o Azure PowerShell.

    Los pasos de este inicio rápido ejecutarán los cmdlet de Azure PowerShell de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir CloudShell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo, a continuación, en Cloud Shell para ejecutarlo. También podrá ejecutar Cloud Shell desde Azure Portal.

    También podrá instalar Azure PowerShell localmente para ejecutar los cmdlet. Los pasos descritos en este artículo requieren el módulo Azure PowerShell versión 5.4.1 o posterior. Ejecute Get-Module -ListAvailable Az para buscar la versión instalada. Si necesitase actualizarlo, consulte Instalación del módulo Azure PowerShell.

Crear un grupo de recursos

Cree un grupo de recursos con New-AzResourceGroup. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

En el ejemplo siguiente se crea un grupo de recursos denominado test-rg en la ubicación eastus2:

$rsg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rsg

Creación de la puerta de enlace de NAT

En esta sección crearemos la puerta de enlace de NAT y los recursos de soporte.

  • Para acceder a Internet, necesita una o varias direcciones IP públicas para la puerta de enlace de NAT. Use New-AzPublicIpAddress para crear el recurso de dirección IP pública llamado public-ip-nat en test-rg.

  • Cree una puerta de enlace de NAT de Azure global con New-AzNatGateway. El resultado de este comando creará un recurso de puerta de enlace llamado nat-gateway que usa la dirección IP pública public-ip-nat. El tiempo de espera de inactividad se establece en 10 minutos.

  • Cree una red virtual denominada vnet-1 con una subred llamada subnet-1 con New-AzVirtualNetworkSubnetConfig en test-rg usando New-AzVirtualNetwork. El espacio de direcciones IP de la red virtual es 10.0.0.0/16. La subred en la red virtual es 10.0.0.0/24.

  • Cree un host de Azure Bastion denominado bastion para acceder a la máquina virtual. Use New-AzBastion para crear un host bastión. Cree una dirección IP pública para el host bastión con New-AzPublicIpAddress.

## Create public IP address for NAT gateway ##
$ip = @{
    Name = 'public-ip-nat'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicIP = New-AzPublicIpAddress @ip

## Create NAT gateway resource ##
$nat = @{
    ResourceGroupName = 'test-rg'
    Name = 'nat-gateway'
    IdleTimeoutInMinutes = '10'
    Sku = 'Standard'
    Location = 'eastus2'
    PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat

## Create subnet config and associate NAT gateway to subnet##
$subnet = @{
    Name = 'subnet-1'
    AddressPrefix = '10.0.0.0/24'
    NatGateway = $natGateway
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet 

## Create Azure Bastion subnet. ##
$bastsubnet = @{
    Name = 'AzureBastionSubnet' 
    AddressPrefix = '10.0.1.0/26'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet

## Create the virtual network ##
$net = @{
    Name = 'vnet-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    AddressPrefix = '10.0.0.0/16'
    Subnet = $subnetConfig,$bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net

## Create public IP address for bastion host. ##
$ip = @{
    Name = 'public-ip'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicip = New-AzPublicIpAddress @ip

## Create bastion host ##
$bastion = @{
    Name = 'bastion'
    ResourceGroupName = 'test-rg'
    PublicIpAddressRgName = 'test-rg'
    PublicIpAddressName = 'public-ip'
    VirtualNetworkRgName = 'test-rg'
    VirtualNetworkName = 'vnet-1'
    Sku = 'Basic'
}
New-AzBastion @bastion

El host bastión puede tardar varios minutos en implementarse. Espere a que el host bastión se implemente antes de pasar a la sección siguiente.

Máquina virtual

En esta sección, creará una máquina virtual para probar la puerta de enlace NAT y comprobar la dirección IP pública de la conexión saliente.

# Set the administrator and password for the VMs. ##
$cred = Get-Credential

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'

## Create network interface for virtual machine. ##
$nic = @{
    Name = "nic-1"
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##
$vmsz = @{
    VMName = 'vm-1'
    VMSize = 'Standard_DS1_v2'  
}
$vmos = @{
    ComputerName = 'vm-1'
    Credential = $cred
}
$vmimage = @{
    PublisherName = 'Canonical'
    Offer = '0001-com-ubuntu-server-jammy'
    Skus = '22_04-lts-gen2'
    Version = 'latest'     
}
$vmConfig = New-AzVMConfig @vmsz `
    | Set-AzVMOperatingSystem @vmos -Linux `
    | Set-AzVMSourceImage @vmimage `
    | Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine for VMs ##
$vm = @{
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    VM = $vmConfig
}
New-AzVM @vm

Espere a que se complete la creación de la máquina virtual antes de pasar a la siguiente sección.

Prueba de la puerta de enlace NAT

En esta sección, probarás la puerta de enlace NAT. Primero descubrirás la IP pública de la puerta de enlace NAT. Luego, te conectarás a la máquina virtual de prueba y verificarás la conexión saliente a través de la puerta de enlace NAT.

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda que aparece en la parte superior del portal, escriba IP pública. Seleccione Direcciones IP públicas en los resultados de la búsqueda.

  3. Seleccionar public-ip-nat.

  4. Anote la dirección IP pública:

    Detección de la dirección IP pública de la puerta de enlace NAT

  5. En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, seleccione Máquinas virtuales.

  6. Seleccione vm-1.

  7. En la página Información general, selecciona Conectar y luego la pestaña Bastion.

  8. Seleccione Usar Bastion.

  9. Escriba el nombre de usuario y la contraseña especificados durante la creación de la máquina virtual. Seleccione Conectar.

  10. En el indicador de bash, introduce el siguiente comando:

    curl ifconfig.me
    
  11. Comprueba que la dirección IP que devolvió el comando coincida con la dirección IP pública de la puerta de enlace NAT.

    azureuser@vm-1:~$ curl ifconfig.me
    20.7.200.36
    

Limpieza de recursos

Si no va a seguir usando esta aplicación, elimine la red virtual, la máquina virtual y la puerta de enlace NAT mediante los pasos siguientes:

Remove-AzResourceGroup -Name 'test-rg' -Force

Pasos siguientes

Para obtener más información sobre Azure NAT Gateway, consulta: