Atribuir vários endereços IP a máquinas virtuais usando o Azure PowerShell

Uma VM (máquina virtual) do Azure tem uma ou mais NICs (adaptadores de rede) conectadas a ele. Qualquer NIC pode ter um ou mais endereços IP públicos e privados estáticos ou dinâmicos atribuídos a ele.

A atribuição de vários endereços IP a uma VM permite as seguintes capacidades:

  • Hospedar vários sites ou serviços com diferentes endereços IP e certificados TLS/SSL em um servidor único.

  • Funcione como um dispositivo virtual de rede, como um firewall ou balanceador de carga.

  • A capacidade de adicionar qualquer um dos endereços IP privados para qualquer uma das NICs a um pool de back-end do Azure Load Balancer. No passado, somente o endereço IP primário para a NIC primária pode ser adicionado a um pool de back-end. Para obter mais informações sobre o balanceamento de carga de várias configurações de IP, confira Balanceamento de carga de várias configurações de IP.

Todas as NICs anexadas a uma VM têm uma ou mais configurações IP associadas a elas. Cada configuração recebe um endereço IP privado estático ou dinâmico. Cada configuração também pode ter um recurso de endereço IP público associado a ele. Para saber mais sobre endereços IP no Azure, confira Endereços IP no Azure.

Observação

Todas as configurações de IP em uma única NIC devem ser associadas à mesma sub-rede. Se vários IPs em sub-redes diferentes são desejados, vários NICs em uma VM podem ser usados. Para saber mais sobre vários NICs em uma VM no Azure, confira Criar VM com vários NICs.

Há um limite para o número de endereços IP privados que podem ser atribuídos a um adaptador de rede. Há também um limite para o número de endereços IP públicos que podem ser usados em uma assinatura do Azure. Leia o artigo Limites de Azure para obter detalhes.

Este artigo explica como adicionar vários endereços IP a uma máquina virtual usando o PowerShell.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.

  • Ambiente do PowerShell no Azure Cloud Shell ou Azure PowerShell instalado localmente. Para saber mais sobre como usar o PowerShell no Azure Cloud Shell, confira Início Rápido do Azure Cloud Shell.

    • Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-InstalledModule -Name Az para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Verifique se o módulo Az.Network é 4.3.0 ou posterior. Para verificar o módulo instalado, use o comando Get-InstalledModule -Name "Az.Network". Se o módulo exigir uma atualização, use o comando Update-Module -Name "Az.Network" se necessário.
  • Entre no Azure PowerShell e verifique se você selecionou a assinatura com a qual deseja usar esse recurso. Para obter mais informações, veja Entrar com o Azure PowerShell.

Observação

Embora as etapas neste artigo atribuam todas as configurações de IP a uma única NIC, você também pode atribuir várias configurações de IP para qualquer NIC em uma VM. Para saber como criar uma VM com vários adaptadores de rede, leia o artigo Criar uma VM com vários adaptadores de rede.

Diagram of network configuration resources created in How-to article.

Figura: diagrama de recursos de configuração de rede criados neste artigo de instruções.

Criar um grupo de recursos

Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.

Crie um grupo de recursos com Java Runtime chamado myResourceGroup no local eastus2.

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

Criar uma rede virtual

Nesta seção, você criará uma rede virtual da máquina virtual.

Use New-AzVirtualNetwork e New-AzVirtualNetworkSubnetConfig para criar uma rede virtual com uma sub-rede.

## Create backend subnet config ##
$subnet = @{
    Name = 'myBackendSubnet'
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet

## Create the virtual network ##
$vnet = @{
    Name = 'myVNet'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    AddressPrefix = '10.1.0.0/16'
    Subnet = $subnetConfig
}
New-AzVirtualNetwork @vnet

Criar um endereço IP público primário

Use New-AzPublicIpAddress para criar um endereço IP público.

$ip1 = @{
    Name = 'myPublicIP-1'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    IpAddressVersion = 'IPv4'
    Zone = 1,2,3
}
New-AzPublicIpAddress @ip1

Criar um grupo de segurança de rede

Nesta seção, você criará um grupo de segurança de rede para a máquina virtual e para a rede virtual. Você criará uma regra para permitir conexões com a máquina virtual na porta 22 para SSH.

Use New-AzNetworkSecurityGroup e New-AzNetworkSecurityRuleConfig para criar o grupo de segurança de rede e as regras.

## Create rule for network security group and place in variable. ##
$nsgrule1 = @{
    Name = 'myNSGRuleSSH'
    Description = 'Allow SSH'
    Protocol = '*'
    SourcePortRange = '*'
    DestinationPortRange = '22'
    SourceAddressPrefix = 'Internet'
    DestinationAddressPrefix = '*'
    Access = 'Allow'
    Priority = '200'
    Direction = 'Inbound'
}
$rule1 = New-AzNetworkSecurityRuleConfig @nsgrule1

## Create network security group ##
$nsg = @{
    Name = 'myNSG'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    SecurityRules = $rule1
}
New-AzNetworkSecurityGroup @nsg

Criar um adaptador de rede

Use New-AzNetworkInterface e New-AzNetworkInterfaceIpConfig para criar uma NIC (adaptador de rede) para a máquina virtual. O endereço IP público e o grupo de segurança de rede criados anteriormente estão associados ao adaptador de rede. A interface de rede é anexada à rede virtual criada anteriormente.

## Place the virtual network into a variable. ##
$net = @{
    Name = 'myVNet'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

## Place the network security group into a variable. ##
$ns = @{
    Name = 'myNSG'
    ResourceGroupName = 'myResourceGroup'
}
$nsg = Get-AzNetworkSecurityGroup @ns

## Place the primary public IP address into a variable. ##
$pub1 = @{
    Name = 'myPublicIP-1'
    ResourceGroupName = 'myResourceGroup'
}
$pubIP1 = Get-AzPublicIPAddress @pub1

## Create a primary IP configuration for the network interface. ##
$IP1 = @{
    Name = 'ipconfig1'
    Subnet = $vnet.Subnets[0]
    PrivateIpAddressVersion = 'IPv4'
    PublicIPAddress = $pubIP1
}
$IP1Config = New-AzNetworkInterfaceIpConfig @IP1 -Primary

## Create a secondary IP configuration for the network interface. ##
$IP3 = @{
    Name = 'ipconfig3'
    Subnet = $vnet.Subnets[0]
    PrivateIpAddressVersion = 'IPv4'
    PrivateIpAddress = '10.1.0.6'
}
$IP3Config = New-AzNetworkInterfaceIpConfig @IP3

## Command to create a network interface. ##
$nic = @{
    Name = 'myNIC1'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    NetworkSecurityGroup = $nsg
    IpConfiguration = $IP1Config,$IP3Config
}
New-AzNetworkInterface @nic

Observação

Ao adicionar um endereço IP estático, você deve especificar um endereço válido, não utilizado, na sub-rede a qual a NIC está conectada.

Criar uma máquina virtual

Use os seguintes comandos para criar a máquina virtual:

$cred = Get-Credential

## Place network interface into a variable. ##
$nic = @{
    Name = 'myNIC1'
    ResourceGroupName = 'myResourceGroup'
}
$nicVM = Get-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##
$vmsz = @{
    VMName = 'myVM'
    VMSize = 'Standard_DS1_v2'
}
$vmos = @{
    ComputerName = 'myVM'
    Credential = $cred
}
$vmimage = @{
    PublisherName = 'Debian'
    Offer = 'debian-11'
    Skus = '11'
    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 = 'myResourceGroup'
    Location = 'eastus2'
    VM = $vmConfig
    SshKeyName = 'mySSHKey'
    }
New-AzVM @vm -GenerateSshKey

Adicionar endereço IP público e privado secundário

Use New-AzPublicIpAddress para criar um endereço IP público secundário.

$ip2 = @{
    Name = 'myPublicIP-2'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    IpAddressVersion = 'IPv4'
    Zone = 1,2,3
}
New-AzPublicIpAddress @ip2

Use New-AzNetworkInterfaceIpConfig para criar a configuração de IP secundária para a máquina virtual.

## Place the virtual network into a variable. ##
$net = @{
    Name = 'myVNet'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

## Place your virtual network subnet into a variable. ##
$sub = @{
    Name = 'myBackendSubnet'
    VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub

## Place the secondary public IP address you created previously into a variable. ##
$pip = @{
    Name = 'myPublicIP-2'
    ResourceGroupName = 'myResourceGroup'
}
$pubIP2 = Get-AzPublicIPAddress @pip

## Place the network interface into a variable. ##
$net = @{
    Name = 'myNIC1'
    ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net

## Create a secondary IP configuration for the network interface. ##
$IPc2 = @{
    Name = 'ipconfig2'
    Subnet = $vnet.Subnets[0]
    PrivateIpAddressVersion = 'IPv4'
    PrivateIpAddress = '10.1.0.5'
    PublicIPAddress = $pubIP2
}
$IP2Config = New-AzNetworkInterfaceIpConfig @IPc2

## Add the IP configuration to the network interface. ##
$nic.IpConfigurations.Add($IP2Config)

## Save the configuration to the network interface. ##
$nic | Set-AzNetworkInterface

Adicionar endereços IP em um sistema operacional da VM

Cuidado

Esse artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de fim de vida (EOL). Considere seu uso e planejamento adequadamente.

Conecte-se e faça logon em uma VM criada com vários endereços IP privados. Você precisa adicionar manualmente todos os endereços IP privados (incluindo o primário) que adicionou à VM. Conclua as etapas a seguir para o sistema operacional da VM.

Windows Server

Expanda
  1. Abra um prompt de comando ou o PowerShell.

  2. Insira ipconfig /all na linha de comando. Você verá o endereço IP privado primário que foi atribuído por meio do DHCP.

  3. Insira ncpa.cpl na linha de comando para abrir a configuração Conexões de Rede.

  4. Abra as Propriedades do adaptador de rede atribuídas aos novos endereços IP.

  5. Clique duas vezes em Protocolo TCP/IP Versão 4 (TCP/IPv4).

  6. Selecione Usar o seguinte endereço IP:. Insira os valores a seguir.

    Configuração Valor
    Endereço IP: insira o endereço IP privado primário.
    Máscara de sub-rede: Insira uma máscara de sub-rede com base em seu endereço IP.
    Por exemplo, se a sub-rede for /24, a máscara de sub-rede será 255.255.255.0.
    Gateway padrão: o primeiro endereço IP na sub-rede.
    Se a sub-rede for 10.0.0.0/24, o endereço IP do gateway será 10.0.0.1.
  7. Selecione Usar os seguintes endereços de servidor DNS:. Insira os valores a seguir.

    Configuração Valor
    Servidor DNS preferencial: Insira o servidor DNS primário.
    Insira o endereço IP 168.63.129.16 para usar o DNS fornecido pelo Azure padrão.
  8. Selecione o botão Avançado.

  9. Selecione Adicionar.

  10. Insira o endereço IP privado que você adicionou ao adaptador de rede do Azure. Insira a máscara de sub-rede correspondente. Selecione Adicionar.

  11. Repita as etapas anteriores para adicionar outros endereços IP privados que você adicionou ao adaptador de rede do Azure.

Importante

Nunca atribua manualmente o endereço IP público atribuído a uma máquina virtual do Azure no sistema operacional da máquina virtual. Ao definir manualmente o endereço IP no sistema operacional, verifique se é o mesmo endereço que o endereço IP privado atribuído ao adaptador de rede do Azure. Se o endereço não for atribuído corretamente poderá haver perda de conectividade com a máquina virtual. Para obter mais informações, confira Alterar as configurações de endereço IP.

Para obter mais informações sobre endereços IP privados, confira Endereço IP privado.

  1. Selecione OK para fechar as configurações de endereço IP secundário.

  2. Selecione OK para fechar as configurações do adaptador. A conexão RDP será restabelecida.

  3. Abra um prompt de comando ou o PowerShell.

  4. Insira ipconfig /all na linha de comando.

  5. Verifique se os endereços IP privados primários e secundários foram adicionados à configuração.

    PS C:\Users\azureuser> ipconfig /all
    
    Windows IP Configuration
    
       Host Name . . . . . . . . . . . . : myVM
       Primary Dns Suffix  . . . . . . . :
       Node Type . . . . . . . . . . . . : Hybrid
       IP Routing Enabled. . . . . . . . : No
       WINS Proxy Enabled. . . . . . . . : No
    
    Ethernet adapter Ethernet:
    
       Connection-specific DNS Suffix  . :
       Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
       Physical Address. . . . . . . . . : 00-0D-3A-E6-CE-A3
       DHCP Enabled. . . . . . . . . . . : No
       Autoconfiguration Enabled . . . . : Yes
       Link-local IPv6 Address . . . . . : fe80::a8d1:11d5:3ab2:6a51%5(Preferred)
       IPv4 Address. . . . . . . . . . . : 10.1.0.4(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.5(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.6(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 10.1.0.1
       DHCPv6 IAID . . . . . . . . . . . : 100666682
       DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-A8-26-B1-00-0D-3A-E6-CE-A3
       DNS Servers . . . . . . . . . . . : 168.63.129.16
       NetBIOS over Tcpip. . . . . . . . : Enabled
    
  6. Verifique se o endereço IP privado primário usado no Windows é o mesmo que o endereço IP primário do adaptador de rede da VM do Azure. Para obter mais informações, confira Sem acesso à Internet da VM do Windows no Azure que tem vários endereços IP.

Validação (Windows Server)

Para validar a conectividade com a Internet da configuração de IP secundário via IP público, use o comando a seguir. Substitua 10.1.0.5 pelo endereço IP privado secundário adicionado ao adaptador de rede da VM do Azure.

ping -S 10.1.0.5 outlook.com

Observação

Para configurações de IP secundário, você só pode executar ping na Internet se a configuração tiver um endereço IP público associado. Para configurações de IP primárias, um endereço IP público não é necessário executar ping na Internet.

SUSE Linux Enterprise e openSUSE

Expanda As distribuições baseadas em SUSE usam o plug-in cloud-netconfig do pacote cloud-netconfig-azure para gerenciar endereços IP adicionais. Nenhuma configuração manual é necessária por parte do administrador. O primeiro endereço IP de um conjunto de interfaces na plataforma é atribuído por meio do DHCP. O plug-in cloud-netconfig investiga a API do Serviço de Metadados da Instância do Azure continuamente (uma vez por minuto) para endereços IP adicionais atribuídos à interface e os adiciona/remove como endereços IP secundários automaticamente.

Esse plug-in deve ser instalado e habilitado em novas imagens por padrão. As etapas de configuração para cargas de trabalho antigas podem ser encontradas aqui: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/.

Ubuntu 14/16

Expanda

É recomendável observar a documentação mais recente para sua distribuição do Linux.

  1. Abra uma janela de terminal.

  2. Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:

    sudo -i
    
  3. Atualize o arquivo de configuração do adaptador de rede (presumindo ‘eth0’).

    • Mantenha o item de linha existente para o dhcp. O endereço IP principal permanece configurado como era anteriormente.

    • Adicione uma configuração para um endereço IP estático adicional com os seguintes comandos:

      cd /etc/network/interfaces.d/
      ls
      

      Você deve ver um arquivo. cfg.

  4. Abra o arquivo. Você verá as seguintes linhas ao final do arquivo:

    auto eth0
    iface eth0 inet dhcp
    
  5. Adicione as linhas a seguir após as linhas existentes no arquivo. Substitua 10.1.0.5 pelo endereço IP privado e pela máscara de sub-rede.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Para adicionar endereços IP privados adicionais, edite o arquivo e adicione os novos endereços IP privados em linhas subsequentes:

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. Salve o arquivo usando o seguinte comando:

    :wq
    
  7. Reinicie o adaptador de rede com o seguinte comando:

    ifdown eth0 && ifup eth0
    

    Importante

    Execute ifdown e ifup na mesma linha, se você estiver usando uma conexão remota.

  8. Verifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:

    ip addr list eth0
    

    Você verá o endereço IP adicionado como parte da lista. Exemplo:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Validação (Ubuntu 14/16)

Para garantir que você possa se conectar à Internet usando sua configuração de IP secundário, por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Observação

Para configurações de IP secundárias, você só pode executar ping para a Internet se a configuração tiver um endereço IP público associado a ela. Para configurações de IP primárias, um endereço IP público não é necessário executar ping na Internet.

Para VMs do Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Veja a documentação apropriada para obter sua distribuição do Linux. Este é um método para fazer isso:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Substitua:

    • 10.1.0.5 pelo endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 pelo seu gateway padrão

    • eth2 pelo nome de sua NIC secundária

Ubuntu 18.04+

Expanda

O Ubuntu 18.04 e versões superiores foram alterados para netplan para o gerenciamento de rede do SO. É recomendável observar a documentação mais recente para sua distribuição do Linux.

  1. Abra uma janela de terminal.

  2. Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:

    sudo -i
    
  3. Crie um arquivo para a segunda interface e abra-o em um editor de texto:

    vi /etc/netplan/60-static.yaml
    
  4. Adicione as seguintes linhas ao arquivo, substituindo 10.1.0.5/24 pelo seu IP e máscara de sub-rede:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
    

    Para adicionar endereços IP privados adicionais, edite o arquivo e adicione os novos endereços IP privados em linhas subsequentes:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
                    - 10.1.0.6/24
    
  5. Salve o arquivo usando o seguinte comando:

    :wq
    
  6. Teste as alterações usando netplan try para confirmar a sintaxe:

    netplan try
    

    Observação

    O netplan try aplicará as alterações temporariamente e as reverterá após 120 segundos. Se houver uma perda de conectividade, aguarde 120 segundos e, em seguida, reconecte-se. Nesse momento, as alterações serão revertidas.

  7. Supondo que não haja problemas com netplan try, aplique as alterações de configuração:

    netplan apply
    
  8. Verifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:

    ip addr list eth0
    

    Você verá o endereço IP adicionado como parte da lista. Exemplo:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Validação (Ubuntu 18.04+)

Para garantir que você possa se conectar à Internet usando sua configuração de IP secundário, por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Observação

Para configurações de IP secundárias, você só pode executar ping para a Internet se a configuração tiver um endereço IP público associado a ela. Para configurações de IP primárias, um endereço IP público não é necessário para executar ping na Internet.

Para VMs do Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Há várias maneiras de fazer isso. Veja a documentação apropriada para sua distribuição do Linux. Este é um método para fazer isso:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Certifique-se de substituir:

    • 10.1.0.5 pelo endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 pelo seu gateway padrão

    • eth2 pelo nome de sua NIC secundária

CentOS, Red Hat Enterprise Linux e outros

Expanda
  1. Abra uma janela de terminal.

  2. Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:

    sudo -i
    
  3. Digite sua senha e siga as instruções conforme solicitado. Quando você for o usuário raiz, navegue até a pasta de scripts de rede com o seguinte comando:

    cd /etc/sysconfig/network-scripts
    
  4. Liste os arquivos ifcfg relacionados usando o seguinte comando:

    ls ifcfg-*
    

    Você deve ver ifcfg-eth0 como um dos arquivos.

  5. Para adicionar um endereço IP, crie um arquivo de configuração para ele, conforme mostrado abaixo. Observe que um arquivo deve ser criado para cada configuração de IP.

    touch ifcfg-eth0:0
    
  6. Abra o arquivo ifcfg-eth0:0 com o seguinte comando:

    vi ifcfg-eth0:0
    
  7. Adicionar conteúdo para o arquivo eth0:0 nesse caso, com o comando a seguir. Substitua 10.1.0.5 pelo endereço IP privado adicional e pela máscara de sub-rede.

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.5
    NETMASK=255.255.255.0
    
  8. Salve o arquivo com o seguinte comando:

    :wq
    
  9. Para adicionar endereços IP privados adicionais à configuração de rede, crie arquivos de configuração adicionais e adicione as informações de IP ao arquivo.

    touch ifcfg-eth0:1
    
    vi ifcfg-eth0:1
    
    DEVICE=eth0:1
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.6
    NETMASK=255.255.255.0
    
    :wq
    
  10. Reinicie os serviços de rede e certifique-se de que as alterações foram bem-sucedidas executando os seguintes comandos:

    systemctl restart NetworkManager.service
    ifconfig
    

    Você verá o endereço IP ou os endereços adicionados na lista retornada.

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.4  netmask 255.255.255.0  broadcast 10.1.0.255
        inet6 fe80::6245:bdff:fe7d:704a  prefixlen 64  scopeid 0x20<link>
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
        RX packets 858  bytes 244215 (238.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1021  bytes 262077 (255.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.5  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    
    eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.6  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    

Validação (Red Hat, CentOS e outros)

Para garantir que você possa se conectar à Internet usando sua configuração de IP secundário, por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.0.0.5 outlook.com

Observação

Para configurações de IP secundárias, você só pode executar ping para a Internet se a configuração tiver um endereço IP público associado a ela. Para configurações de IP primárias, um endereço IP público não é necessário executar ping na Internet.

Para VMs do Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Veja a documentação apropriada para sua distribuição do Linux. Este é um método para fazer isso:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Substitua:

    • 10.0.0.5 pelo endereço IP privado que tem um endereço IP público associado a ele

    • 10.0.0.1 pelo seu gateway padrão

    • eth2 pelo nome de sua NIC secundária

Debian GNU/Linux

Expanda

É recomendável observar a documentação mais recente para sua distribuição do Linux.

  1. Abra uma janela de terminal.

  2. Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:

    sudo -i
    
  3. Atualize o arquivo de configuração do adaptador de rede (presumindo ‘eth0’).

    • Mantenha o item de linha existente para o dhcp. O endereço IP principal permanece configurado como era anteriormente.

    • Adicione uma configuração para um endereço IP estático adicional com os seguintes comandos:

      cd /etc/network/interfaces.d/
      ls
      

      Você deve ver um arquivo. cfg.

  4. Abra o arquivo. Você verá as seguintes linhas ao final do arquivo:

    auto eth0
    iface eth0 inet dhcp
    
  5. Adicione as linhas a seguir após as linhas existentes no arquivo. Substitua 10.1.0.5 pelo endereço IP privado e pela máscara de sub-rede.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Para adicionar endereços IP privados adicionais, edite o arquivo e adicione os novos endereços IP privados em linhas subsequentes:

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. Salve o arquivo usando o seguinte comando:

    :wq
    
  7. Reinicie os serviços de rede para que as alterações entrem em vigor. Para Debian 8 e posteriores, isso poderá ser feito usando o comando abaixo:

    systemctl restart networking
    

    Para versões anteriores do Debian, você pode usar os comandos abaixo:

    service networking restart
    
  8. Verifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:

    ip addr list eth0
    

    Você verá o endereço IP adicionado como parte da lista. Exemplo:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Validação (Debian GNU/Linux)

Para garantir que você possa se conectar à Internet usando sua configuração de IP secundário, por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Observação

Para configurações de IP secundárias, você só pode executar ping para a Internet se a configuração tiver um endereço IP público associado a ela. Para configurações de IP primárias, um endereço IP público não é necessário executar ping na Internet.

Para VMs do Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Veja a documentação apropriada para obter sua distribuição do Linux. Este é um método para fazer isso:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Substitua:

    • 10.1.0.5 pelo endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 pelo seu gateway padrão

    • eth2 pelo nome de sua NIC secundária

Próximas etapas