Asignación de varias direcciones IP a máquinas virtuales mediante PowerShell

Nota

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Una máquina virtual (VM) de Azure tiene una o varias interfaces de red (NIC) asociadas a ella. Una NIC puede tener una o varias direcciones IP públicas o privadas estáticas o dinámicas asignadas. La asignación de varias direcciones IP a una VM permite las siguientes capacidades:

  • Hospede varios sitios web o servicios con direcciones IP y certificados SSL diferentes en un único servidor.
  • Actúe como aplicación de red virtual, como un firewall o equilibrador de carga.
  • La capacidad de agregar cualquier dirección IP privada para cualquiera de las NIC a un grupo de servidores de back-end de Azure Load Balancer. En el pasado, solo la dirección IP principal para la NIC principal podía agregarse a un grupo de back-end. Para más información sobre cómo equilibrar la carga de varias configuraciones de IP, lea el artículo Load balancing multiple IP configurations (Equilibrio de carga de varias configuraciones de IP).

Cada NIC conectada a una VM tiene una o varias configuraciones de IP asociadas. Se asigna a cada configuración una dirección IP privada estática o dinámica. Cada configuración también puede tener un recurso de dirección IP pública asociado. Un recurso de dirección IP pública tiene una dirección IP pública dinámica o estática asignada. Para más información sobre las direcciones IP en Azure, lea el artículo sobre direcciones IP en Azure.

Existe un límite para el número de direcciones IP privadas que pueden asignarse a una NIC. También existe un límite para el número de direcciones IP públicas que pueden usarse en una suscripción de Azure. Para más información, consulte el artículo sobre los límites de Azure.

En este artículo se describe cómo crear una máquina virtual (VM) con el modelo de implementación de Azure Resource Manager mediante PowerShell. No se pueden asignar varias direcciones IP a una sola NIC creada a través del modelo de implementación clásica, aunque una máquina virtual clásica puede tener varias NIC, cada una con su propia dirección IP. Para información acerca de los modelos de implementación de Azure, lea el artículo Understand deployment models (Descripción de los modelos de implementación).

Escenario

Se crea una máquina virtual con una sola NIC y se conecta a una red virtual. La máquina virtual requiere tres direcciones IP privadas y dos direcciones IP públicas, todas diferentes. Las direcciones IP se asignan a las siguientes configuraciones de IP:

  • IPConfig-1: asigna un dirección IP privada estática y una dirección IP pública estática.

  • IPConfig-2: asigna un dirección IP privada estática y una dirección IP pública estática.

  • IPConfig-3: asigna un dirección IP privada estática y ninguna dirección IP pública.

    Varias direcciones IP

Las configuraciones de IP se asocian a la NIC cuando esta se crea, y la NIC se conecta a la máquina virtual cuando esta se crea. Los tipos de direcciones IP usados para el escenario tienen fines ilustrativos. Puede asignar cualquier dirección IP y tipo de asignación que necesite.

Nota

Aunque los pasos de este artículo asignan todas las configuraciones de IP a una NIC única, también puede asignar varias configuraciones de IP a cualquiera de las NIC de una máquina virtual con varias NIC. Para aprender a crear una VM con varias NIC, lea el artículo Implementación de máquinas virtuales con varias NIC mediante PowerShell.

Creación de una máquina virtual con varias direcciones IP

En los pasos siguientes se explica cómo crear una VM de ejemplo con varias direcciones IP, tal como se describe en el escenario. Cambie los valores de variable según sea necesario para la implementación.

  1. Abra un símbolo del sistema de PowerShell y complete los pasos restantes de esta sección en una única sesión de PowerShell. Si todavía no tiene PowerShell instalado y configurado, complete los pasos del artículo Cómo instalar y configurar Azure PowerShell .

  2. Inicie sesión en la cuenta con el comando Connect-AzAccount.

  3. Reemplace myResourceGroup y westus por un nombre y una ubicación de su elección. Cree un grupo de recursos. Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

    $RgName   = "MyResourceGroup"
    $Location = "westus"
    
    New-AzResourceGroup `
    -Name $RgName `
    -Location $Location
    
  4. Cree una red virtual y una subred en la misma ubicación del grupo de recursos:

    
    # Create a subnet configuration
    $SubnetConfig = New-AzVirtualNetworkSubnetConfig `
    -Name MySubnet `
    -AddressPrefix 10.0.0.0/24
    
    # Create a virtual network
    $VNet = New-AzVirtualNetwork `
    -ResourceGroupName $RgName `
    -Location $Location `
    -Name MyVNet `
    -AddressPrefix 10.0.0.0/16 `
    -Subnet $subnetConfig
    
    # Get the subnet object
    $Subnet = Get-AzVirtualNetworkSubnetConfig -Name $SubnetConfig.Name -VirtualNetwork $VNet
    
  5. Cree un grupo de seguridad de red (NSG) y una regla. El grupo de seguridad de red protege la máquina virtual con reglas de entrada y salida. En este caso, se crea una regla de entrada para el puerto 3389, que permite las conexiones entrantes al Escritorio remoto.

    
    # Create an inbound network security group rule for port 3389
    
    $NSGRule = New-AzNetworkSecurityRuleConfig `
    -Name MyNsgRuleRDP `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 1000 `
    -SourceAddressPrefix * `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 3389 -Access Allow
    
    # Create a network security group
    $NSG = New-AzNetworkSecurityGroup `
    -ResourceGroupName $RgName `
    -Location $Location `
    -Name MyNetworkSecurityGroup `
    -SecurityRules $NSGRule
    
  6. Defina la configuración de la dirección IP principal para la NIC. Cambie 10.0.0.4 a una dirección válida en la subred que creó, si no usó el valor definido anteriormente. Antes de asignar una dirección IP estática, se recomienda que primero confirme que no está en uso. Escriba el comando Test-AzPrivateIPAddressAvailability -IPAddress 10.0.0.4 -VirtualNetwork $VNet. Si la dirección está disponible, la salida devuelve True. Si no está disponible, la salida devuelve False y una lista de direcciones que están disponibles.

    En los siguientes comandos, reemplace <replace-with-your-unique-name> por el nombre DNS único que se va a usar. El nombre debe ser único en todas las direcciones IP públicas dentro de una región de Azure. Se trata de un parámetro opcional. Se puede quitar si solo desea conectarse a la máquina virtual con la dirección IP pública.

    
    # Create a public IP address
    $PublicIP1 = New-AzPublicIpAddress `
    -Name "MyPublicIP1" `
    -ResourceGroupName $RgName `
    -Location $Location `
    -DomainNameLabel <replace-with-your-unique-name> `
    -AllocationMethod Static
    
    #Create an IP configuration with a static private IP address and assign the public IP address to it
    $IpConfigName1 = "IPConfig-1"
    $IpConfig1     = New-AzNetworkInterfaceIpConfig `
    -Name $IpConfigName1 `
    -Subnet $Subnet `
    -PrivateIpAddress 10.0.0.4 `
    -PublicIpAddress $PublicIP1 `
    -Primary
    

    Cuando se asignan varias configuraciones de dirección IP a una NIC, se debe asignar una como la principal.

    Nota

    Las direcciones IP públicas tienen un precio simbólico. Para más información sobre los precios de las direcciones IP, lea la página Precios de las direcciones IP . Existe un límite para el número de direcciones IP públicas que pueden usarse dentro de una suscripción. Para más información sobre los límites, lea el artículo sobre los límites de Azure.

  7. Defina las configuraciones de la dirección IP secundaria para la NIC. Puede agregar o quitar las configuraciones que sean necesarias. Cada configuración de dirección IP debe tener asignada una dirección IP privada. Cada configuración puede tener asignada opcionalmente una dirección IP pública.

    
    # Create a public IP address
    $PublicIP2 = New-AzPublicIpAddress `
    -Name "MyPublicIP2" `
    -ResourceGroupName $RgName `
    -Location $Location `
    -AllocationMethod Static
    
    #Create an IP configuration with a static private IP address and assign the public IP address to it
    $IpConfigName2 = "IPConfig-2"
    $IpConfig2     = New-AzNetworkInterfaceIpConfig `
    -Name $IpConfigName2 `
    -Subnet $Subnet `
    -PrivateIpAddress 10.0.0.5 `
    -PublicIpAddress $PublicIP2
    
    $IpConfigName3 = "IpConfig-3"
    $IpConfig3 = New-AzNetworkInterfaceIpConfig `
    -Name $IPConfigName3 `
    -Subnet $Subnet `
    -PrivateIpAddress 10.0.0.6
    
  8. Cree la NIC y asocie las tres configuraciones de dirección IP con ella:

    $NIC = New-AzNetworkInterface `
    -Name MyNIC `
    -ResourceGroupName $RgName `
    -Location $Location `
    -NetworkSecurityGroupId $NSG.Id `
    -IpConfiguration $IpConfig1,$IpConfig2,$IpConfig3
    

    Nota

    Aunque en este artículo todas las configuraciones están asignadas a una NIC, puede asignar varias configuraciones de dirección IP a cada NIC conectada con la máquina virtual. Para aprender a crear una VM con varias NIC, lea el artículo Implementación de máquinas virtuales con varias NIC mediante PowerShell.

  9. Escriba los comandos siguientes para crear la máquina virtual:

    
    # Define a credential object. When you run these commands, you're prompted to enter a username and password for the VM you're creating.
    $cred = Get-Credential
    
    # Create a virtual machine configuration
    $VmConfig = New-AzVMConfig `
    -VMName MyVM `
    -VMSize Standard_DS1_v2 | `
    Set-AzVMOperatingSystem -Windows `
    -ComputerName MyVM `
    -Credential $cred | `
    Set-AzVMSourceImage `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest | `
    Add-AzVMNetworkInterface `
    -Id $NIC.Id
    
    # Create the VM
    New-AzVM `
    -ResourceGroupName $RgName `
    -Location $Location `
    -VM $VmConfig
    
  10. Agregue al sistema operativo de la máquina virtual la dirección IP privada siguiendo las instrucciones de la sección Incorporación de direcciones IP a un sistema operativo de la VM de este artículo. No agregue las direcciones IP públicas al sistema operativo.

Incorporación de direcciones IP a una VM

Puede agregar direcciones IP públicas y privadas a una interfaz de red de Azure mediante los pasos que se indican a continuación. En los ejemplos de las secciones siguientes se da por sentado que ya tiene una máquina virtual con las tres configuraciones de IP descritas en el escenario de este artículo, pero no es necesario que lo haga.

  1. Abra un símbolo del sistema de PowerShell y complete los pasos restantes de esta sección en una única sesión de PowerShell. Si todavía no tiene PowerShell instalado y configurado, complete los pasos del artículo Cómo instalar y configurar Azure PowerShell .

  2. Cambie los "valores" de los elementos $Variables siguientes al nombre de la NIC a la que desee agregar una dirección IP y al grupo de recursos y la ubicación donde existe la NIC:

    $NicName  = "MyNIC"
    $RgName   = "MyResourceGroup"
    $Location = "westus"
    

    Si no conoce el nombre de la NIC que desea cambiar, escriba los siguientes comandos y cambie los valores de las anteriores variables:

    Get-AzNetworkInterface | Format-Table Name, ResourceGroupName, Location
    
  3. Cree una variable y establézcala en la NIC existente con el siguiente comando:

    $MyNIC = Get-AzNetworkInterface -Name $NicName -ResourceGroupName $RgName
    
  4. En los siguientes comandos, cambie MyVNet y MySubnet a los nombres de la red virtual y la subred a las que está conectada la NIC. Escriba los comandos para recuperar los objetos de red virtual y subred a las que está conectada la NIC:

    $MyVNet = Get-AzVirtualnetwork -Name MyVNet -ResourceGroupName $RgName
    $Subnet = $MyVnet.Subnets | Where-Object { $_.Name -eq "MySubnet" }
    

    Si no conoce el nombre de red virtual o la subred de a la que está conectada la NIC, escriba el siguiente comando:

    $MyNIC.IpConfigurations
    

    En la salida, busque un texto similar a la salida del ejemplo siguiente:

    "Id": "/subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVNet/subnets/MySubnet"
    

    En esta salida, MyVnet es la red virtual y MySubnet es la subred a la que está conectada la NIC.

  5. Complete los pasos de una de las secciones siguientes, según sus requisitos:

    Incorporación de una dirección IP privada

    Para agregar una dirección IP privada a una NIC, debe crear una configuración de IP. El siguiente comando crea una configuración con una dirección IP estática de 10.0.0.7. Al especificar una dirección IP estática, debe ser una dirección no utilizada para la subred. Se recomienda que pruebe en primer lugar la dirección para asegurarse de que está disponible escribiendo el comando Test-AzPrivateIPAddressAvailability -IPAddress 10.0.0.7 -VirtualNetwork $myVnet. Si la dirección IP está disponible, la salida devuelve True. Si no está disponible, la salida devuelve False y una lista de direcciones que están disponibles.

    Add-AzNetworkInterfaceIpConfig -Name IPConfig-4 -NetworkInterface `
    $MyNIC -Subnet $Subnet -PrivateIpAddress 10.0.0.7
    

    Cree tantas configuraciones como sea necesario mediante nombres de configuración únicos y direcciones IP privadas (para las configuraciones con direcciones IP estáticas).

    Agregue al sistema operativo de la máquina virtual la dirección IP privada siguiendo las instrucciones de la sección Incorporación de direcciones IP a un sistema operativo de la VM de este artículo.

    Incorporación de una dirección IP pública

    Se agrega una dirección IP pública mediante la asociación de un recurso de dirección IP pública a una nueva configuración de IP o una configuración de IP existente. Complete los pasos de una de las secciones siguientes, según sea preciso.

    Nota

    Las direcciones IP públicas tienen un precio simbólico. Para más información sobre los precios de las direcciones IP, lea la página Precios de las direcciones IP . Existe un límite para el número de direcciones IP públicas que pueden usarse dentro de una suscripción. Para más información sobre los límites, lea el artículo sobre los límites de Azure.

    Asociación del recurso de dirección IP pública a una nueva configuración de IP

    Siempre que agregue una dirección IP pública en una nueva configuración de IP, también debe agregar una dirección IP privada, porque todas las configuraciones de IP deben tener una dirección IP privada. Puede agregar un recurso de dirección IP pública existente o crear uno nuevo. Para crear uno nuevo, escriba el comando siguiente:

    $myPublicIp3 = New-AzPublicIpAddress `
    -Name "myPublicIp3" `
    -ResourceGroupName $RgName `
    -Location $Location `
    -AllocationMethod Static
    

    Para crear una nueva configuración de IP con una dirección IP privada estática y el recurso de dirección IP pública myPublicIp3, escriba el comando siguiente:

    Add-AzNetworkInterfaceIpConfig `
    -Name IPConfig-4 `
    -NetworkInterface $myNIC `
    -Subnet $Subnet `
    -PrivateIpAddress 10.0.0.7 `
    -PublicIpAddress $myPublicIp3
    

    Asociación del recurso de dirección IP pública a una configuración de IP existente

    Solo se puede asociar un recurso de dirección IP pública a una configuración de IP que ya no tiene asociado uno. Puede determinar si una configuración de IP tiene una dirección IP pública asociada escribiendo el comando siguiente:

    $MyNIC.IpConfigurations | Format-Table Name, PrivateIPAddress, PublicIPAddress, Primary
    

    Verá un resultado similar al siguiente:

    Name       PrivateIpAddress PublicIpAddress                                           Primary
    
    IPConfig-1 10.0.0.4         Microsoft.Azure.Commands.Network.Models.PSPublicIpAddress    True
    IPConfig-2 10.0.0.5         Microsoft.Azure.Commands.Network.Models.PSPublicIpAddress   False
    IpConfig-3 10.0.0.6                                                                     False
    

    Puesto que la columna PublicIpAddress para IpConfig-3 está en blanco, ningún recurso de dirección IP pública está asociado actualmente a ella. Puede agregar un recurso de dirección IP pública existente a IpConfig-3 o escribir el siguiente comando para crear uno:

    $MyPublicIp3 = New-AzPublicIpAddress `
    -Name "MyPublicIp3" `
    -ResourceGroupName $RgName `
    -Location $Location -AllocationMethod Static
    

    Escriba el siguiente comando para asociar el recurso de dirección IP pública a la configuración de IP existente llamada IpConfig-3:

    Set-AzNetworkInterfaceIpConfig `
    -Name IpConfig-3 `
    -NetworkInterface $mynic `
    -Subnet $Subnet `
    -PublicIpAddress $myPublicIp3
    
  6. Establezca la NIC con la nueva configuración de IP escribiendo el siguiente comando:

    Set-AzNetworkInterface -NetworkInterface $MyNIC
    
  7. Vea las direcciones IP privadas y los recursos de dirección IP pública asignados a la NIC escribiendo el siguiente comando:

    $MyNIC.IpConfigurations | Format-Table Name, PrivateIPAddress, PublicIPAddress, Primary
    
  8. Agregue al sistema operativo de la máquina virtual la dirección IP privada siguiendo las instrucciones de la sección Incorporación de direcciones IP a un sistema operativo de la VM de este artículo. No agregue la dirección IP pública al sistema operativo.vo.

Incorporación de direcciones IP a un sistema operativo de la máquina virtual

Conéctese e inicie sesión en una máquina virtual que creó con múltiples direcciones IP privadas. Debe agregar manualmente todas las direcciones IP privadas (incluida la principal) que ha agregado a la máquina virtual. Complete los pasos siguientes para el sistema operativo de su máquina virtual.

Windows Server

Expanda
  1. En un símbolo del sistema, escriba ipconfig /all. Solo verá la dirección IP privada principal (por medio de DHCP).

  2. Escriba ncpa.cpl en el símbolo del sistema para abrir la ventana Conexiones de red.

  3. Abra las propiedades del adaptador correspondiente: Ethernet.

  4. Haga doble clic en el Protocolo de Internet versión 4 (IPv4).

  5. Seleccione Usar la siguiente dirección IP y escriba los valores siguientes:

    • Dirección IP: escriba la dirección IP privada principal

    • Máscara de subred: establezca este valor en función de la subred. Por ejemplo, si la subred es una subred /24, la máscara de subred es 255.255.255.0.

    • Puerta de enlace predeterminada: la primera dirección IP de la subred. Si la subred es 10.0.0.1/24, la dirección IP de la puerta de enlace es 10.0.0.0/24.

    • Seleccione Usar las siguientes direcciones de servidor DNS y escriba los valores siguientes:

      • Servidor DNS preferido: escriba 168.63.129.16 si no usa un servidor DNS propio. Si usa su propio servidor DNS, escriba la dirección IP de su servidor. Para el servidor DNS alternativo, puede elegir cualquier dirección de servidor DNS público que esté disponible.
    • Seleccione el botón Avanzadas y agregue más direcciones IP. Agregue cada una de las direcciones IP privadas secundarias, que agregó a la interfaz de red de Azure en un paso anterior, a la interfaz de red de Windows que se asigna a la dirección IP principal asignada a la interfaz de red de Azure.

      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. Al establecer manualmente la dirección IP privada en el sistema operativo, asegúrese de que sea la misma que la asignada a la interfaz de red de Azure; de lo contrario, perderá la conectividad a la máquina virtual. Más información sobre la configuración de la dirección IP privada. Nunca debe asignar una dirección IP pública de Azure dentro del sistema operativo.

    • Haga clic en Aceptar para cerrar la configuración de TCP/IP y en Aceptar otra vez para cerrar la configuración del adaptador. Se restablece la conexión RDP.

  6. En un símbolo del sistema, escriba ipconfig /all. Compruebe que se muestran todas las direcciones IP que ha agregado y que DHCP está desactivado.

  7. Configure Windows para usar la dirección IP privada de la configuración IP principal de Azure como dirección IP principal en Windows. Para más información, consulte Sin acceso a Internet desde una máquina virtual Windows de Azure que tiene varias direcciones IP.

Validación (Windows Server)

Para comprobar que puede conectarse a Internet desde su configuración de IP secundaria mediante la dirección IP pública asociada, después de haberla agregado correctamente mediante los pasos anteriores, utilice el comando siguiente y sustituya 10.0.0.7 por la dirección IP privada secundaria:

ping -S 10.0.0.7 outlook.com

Nota

Para las configuraciones de IP secundarias, solo se puede hacer ping a Internet si la configuración tiene una dirección IP pública asociada. Para configuraciones de IP principales, no se requiere una dirección IP pública para hacer ping a Internet.

Linux (Ubuntu 14/16)

Expanda

Se recomienda revisar la documentación más reciente de la distribución de Linux.

  1. Abra una ventana del terminal.

  2. Asegúrese de ser el usuario raíz. Si no lo es, escriba el siguiente comando:

    sudo -i
    
  3. Actualice el archivo de configuración de la interfaz de red (suponiendo que sea "eth0").

    • Mantenga el elemento de línea existente para dhcp. La dirección IP principal permanece configurada que estaba.

    • Agregue una configuración para una dirección IP estática adicional con los siguientes comandos:

      cd /etc/network/interfaces.d/
      ls
      

      Debería ver un archivo .cfg.

  4. Abra el archivo. Debería ver las siguientes líneas al final del archivo:

    auto eth0
    iface eth0 inet dhcp
    
  5. Agregue las líneas siguientes después de las que existen en este archivo:

    iface eth0 inet static
    address <your private IP address here>
    netmask <your subnet mask>
    
  6. Guarde el archivo mediante el comando siguiente:

    :wq
    
  7. Restablezca la interfaz de red con el comando siguiente:

    sudo ifdown eth0 && sudo ifup eth0
    

    Importante

    Si usa una conexión remota, ejecute ifdown e ifup en la misma línea.

  8. Compruebe que la dirección IP se agregue a la interfaz de red con el comando siguiente:

    ip addr list eth0
    

    Debería ver la dirección IP que agregó en la lista.

Validación (Ubuntu 14/16)

Para asegurarse de que puede conectarse a internet desde su configuración de IP secundaria a través de la dirección IP pública asociada, use el siguiente comando:

ping -I 10.0.0.5 outlook.com

Nota

Para las configuraciones de IP secundarias, solo se puede hacer ping a Internet si la configuración tiene una dirección IP pública asociada. Para configuraciones de IP principales, no se requiere una dirección IP pública para hacer ping a Internet.

Para máquinas virtuales Linux, al intentar validar la conectividad saliente de una NIC secundaria, debe agregar las rutas adecuadas. Existen distintas formas de hacerlo. Consulte la documentación correspondiente a su distribución de Linux. El siguiente es un método para lograr esto:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
  • No olvide reemplazar:
    • 10.0.0.5 con la dirección IP privada que tiene una dirección IP pública asociada
    • 10.0.0.1 con su puerta de enlace predeterminada
    • eth2 con el nombre de la NIC secundaria

Linux (Ubuntu 18.04+)

Expanda

Ubuntu 18.04 y versiones posteriores han cambiado a netplan para la administración de red del sistema operativo. Se recomienda revisar la documentación más reciente de la distribución de Linux.

  1. Abra una ventana del terminal.

  2. Asegúrese de ser el usuario raíz. Si no lo es, escriba el siguiente comando:

    sudo -i
    
  3. Cree un archivo para la segunda interfaz y ábralo en un editor de texto:

    vi /etc/netplan/60-static.yaml
    
  4. Agregue las líneas siguientes al archivo, reemplazando 10.0.0.6/24 por la dirección IP o máscara de red:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.0.0.6/24
    
  5. Guarde el archivo mediante el comando siguiente:

    :wq
    
  6. Pruebe los cambios mediante netplan try para confirmar la sintaxis:

    netplan try
    

    Nota

    netplan try aplicará los cambios de forma temporal y los revertirá después de 120 segundos. Si se produce una pérdida de conectividad, espere 120 segundos y vuelva a conectarse. En ese momento, los cambios se habrán revertido.

  7. Si no hay ningún problema con netplan try, aplique los cambios de configuración:

    netplan apply
    
  8. Compruebe que la dirección IP se agregue a la interfaz de red con el comando siguiente:

    ip addr list eth0
    

    Debería ver la dirección IP que agregó en la lista. Ejemplo:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:0d:3a:8c:14:a5 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.6/24 brd 10.0.0.255 scope global eth0
        valid_lft forever preferred_lft forever
        inet 10.0.0.4/24 brd 10.0.0.255 scope global secondary eth0
        valid_lft forever preferred_lft forever
        inet6 fe80::20d:3aff:fe8c:14a5/64 scope link
        valid_lft forever preferred_lft forever
    

Validación (Ubuntu 18.04+)

Para asegurarse de que puede conectarse a internet desde su configuración de IP secundaria a través de la dirección IP pública asociada, use el siguiente comando:

ping -I 10.0.0.5 outlook.com

Nota

Para las configuraciones de IP secundarias, solo se puede hacer ping a Internet si la configuración tiene una dirección IP pública asociada. Para configuraciones de IP principales, no se requiere una dirección IP pública para hacer ping a Internet.

Para máquinas virtuales Linux, al intentar validar la conectividad saliente de una NIC secundaria, debe agregar las rutas adecuadas. Existen distintas formas de hacerlo. Consulte la documentación correspondiente a su distribución de Linux. El siguiente es un método para lograr esto:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
  • No olvide reemplazar:
    • 10.0.0.5 con la dirección IP privada que tiene una dirección IP pública asociada
    • 10.0.0.1 con su puerta de enlace predeterminada
    • eth2 con el nombre de la NIC secundaria

Linux (Red Hat, CentOS y otros)

Expanda
  1. Abra una ventana del terminal.

  2. Asegúrese de ser el usuario raíz. Si no lo es, escriba el siguiente comando:

    sudo -i
    
  3. Escriba la contraseña y siga las instrucciones que aparezcan. Una vez que sea el usuario raíz, vaya a la carpeta de scripts de red con el comando siguiente:

    cd /etc/sysconfig/network-scripts
    
  4. Muestra una lista de los archivos de ifcfg relacionados con el siguiente comando:

    ls ifcfg-*
    

    Debería ver ifcfg-eth0 como uno de los archivos.

  5. Para agregar una dirección IP, cree un archivo de configuración, tal y como se muestra a continuación. Tenga en cuenta que debe crearse un archivo para cada configuración de IP.

    touch ifcfg-eth0:0
    
  6. Abra el archivo ifcfg-eth0:0 con el comando siguiente:

    vi ifcfg-eth0:0
    
  7. Agregue contenido al archivo, eth0:0 en este caso, con el siguiente comando. Asegúrese de actualizar la información en función de su dirección IP.

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.101.101
    NETMASK=255.255.255.0
    
  8. Guarde el archivo mediante el comando siguiente:

    :wq
    
  9. Reinicie los servicios de red y asegúrese de que los cambios sean correctos con los comandos siguientes:

    /etc/init.d/network restart
    ifconfig
    

    Debería ver la dirección IP que agregó, eth0:0, en la lista que se devuelve.

Validación (Red Hat, CentOS y otros)

Para asegurarse de que puede conectarse a internet desde su configuración de IP secundaria a través de la dirección IP pública asociada, use el siguiente comando:

ping -I 10.0.0.5 outlook.com

Nota

Para las configuraciones de IP secundarias, solo se puede hacer ping a Internet si la configuración tiene una dirección IP pública asociada. Para configuraciones de IP principales, no se requiere una dirección IP pública para hacer ping a Internet.

Para máquinas virtuales Linux, al intentar validar la conectividad saliente de una NIC secundaria, debe agregar las rutas adecuadas. Existen distintas formas de hacerlo. Consulte la documentación correspondiente a su distribución de Linux. El siguiente es un método para lograr esto:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
  • No olvide reemplazar:
    • 10.0.0.5 con la dirección IP privada que tiene una dirección IP pública asociada
    • 10.0.0.1 con su puerta de enlace predeterminada
    • eth2 con el nombre de la NIC secundaria

Debian GNU/Linux

Expanda
  1. Abra una ventana del terminal.

  2. Asegúrese de ser el usuario raíz. Si no lo es, escriba el siguiente comando:

    sudo -i
    
  3. Actualice el archivo de configuración de la interfaz de red (suponiendo que sea "eth0").

    • Abra el archivo de interfaz de red mediante el comando siguiente:

      vi /etc/network/interfaces
      
    • Debería ver las siguientes líneas al final del archivo:

      auth eth0
      iface eth0 inet dhcp
      
    • Deje el elemento de línea existente para dhcp como está. La dirección IP principal permanece configurada que estaba.

    • Agregue las líneas siguientes después de las que existen en este archivo:

      iface eth0 inet static
      address <your private IP address here> 
      netmask <your subnet mask> 
      
  4. Guarde el archivo mediante el comando siguiente:

    :wq! 
    
  5. Reinicie los servicios de red para que los cambios surtan efecto. En Debian 8 y versiones posteriores, esta acción se puede hacer mediante el comando siguiente:

    systemctl restart networking
    

    En versiones anteriores de Debian, puede usar los siguientes comandos:

    service networking restart
    
  6. Compruebe que la dirección IP se agregue a la interfaz de red con el comando siguiente:

    ip addr list eth0
    

Debería ver la dirección IP que agregó en la lista. Ejemplo:

 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
     valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
     valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
  link/ether 00:0d:3a:1d:1d:64 brd ff:ff:ff:ff:ff:ff
  inet 10.2.0.5/24 brd 10.2.0.255 scope global eth0
     valid_lft forever preferred_lft forever
  inet 10.2.0.6/24 brd 10.2.0.255 scope global secondary eth0
     valid_lft forever preferred_lft forever
  inet6 fe80::20d:3aff:fe1d:1d64/64 scope link
     valid_lft forever preferred_lft forever