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

Uma Máquina Virtual do Azure (VM) tem uma ou mais interfaces de rede (NIC) ligadas à mesma. Qualquer NIC pode ter um ou mais endereços IP públicos e privados estáticos ou dinâmicos atribuídos à mesma.

Atribuir vários endereços IP a uma VM permite as seguintes funcionalidades:

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

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

  • A capacidade de adicionar qualquer um dos endereços IP privados de qualquer uma das NICs a um conjunto de back-end do Balanceador de Carga do Azure. Anteriormente, apenas era possível adicionar o endereço IP principal da NIC principal a um conjunto de back-end. Para obter mais informações sobre o balanceamento de carga de várias configurações IP, consulte Balanceamento de carga de várias configurações IP.

Cada NIC anexada a uma VM tem uma ou mais configurações de IP associadas à mesma. A cada configuração é atribuído 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 si. Para saber mais sobre endereços IP no Azure, consulte Endereços IP no Azure.

Nota

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

Há um limite para quantos endereços IP privados podem ser atribuídos a uma NIC. Há também um limite para quantos endereços IP públicos podem ser usados em uma assinatura do Azure. Veja o artigo Limites do 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 subscrição 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, consulte Azure Cloud Shell Quickstart.

    • Se optar por instalar e utilizar o PowerShell localmente, este artigo requer a versão 5.4.1 ou posterior do módulo Azure PowerShell. Execute Get-InstalledModule -Name Az para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Certifique-se de que 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, consulte Entrar com o Azure PowerShell.

Nota

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 a qualquer NIC em uma VM multi-NIC. Para saber como criar uma VM com várias NICs, consulte Criar uma VM com várias NICs.

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 contentor lógico no qual os recursos do Azure são implementados e geridos.

Crie um grupo de recursos com New-AzResourceGroup chamado myResourceGroup no local eastus2.

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

Criar uma rede virtual

Nesta seção, você cria uma rede virtual para a 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 primário.

$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ê cria um grupo de segurança de rede para a máquina virtual e a rede virtual. Você cria 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 uma interface de rede

Use New-AzNetworkInterface e New-AzNetworkInterfaceIpConfig para criar uma interface de rede (NIC) para a máquina virtual. O endereço IP público e o grupo de segurança de rede criados anteriormente estão associados à interface de rede. A interface de rede está conectada à 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

Nota

Ao adicionar um endereço IP estático, você deve especificar um endereço válido não utilizado na sub-rede à 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 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 ao sistema operativo de uma VM

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planejamento de acordo.

Conecte-se e entre em uma VM criada com vários endereços IP privados. Você deve adicionar manualmente todos os endereços IP privados, incluindo o primário, que você adicionou à VM. Conclua as etapas a seguir para seu sistema operacional VM.

Windows Server

Expandir
  1. Abra um prompt de comando ou PowerShell.

  2. Entre ipconfig /all na linha de comando. Você verá o endereço IP privado primário que foi atribuído através do DHCP.

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

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

  5. Faça duplo clique em Protocolo IP Versão 4 (TCP/IPv4).

  6. Selecione Usar o seguinte endereço IP:. Introduza os seguintes valores.

    Definição Value
    Endereço IP: Insira o endereço IP privado principal .
    Máscara de sub-rede: Insira uma máscara de sub-rede com base no seu endereço IP.
    Por exemplo, se a sub-rede for uma sub-rede /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 sua 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:. Introduza os seguintes valores.

    Definição Value
    Servidor DNS preferido: Insira seu servidor DNS primário.
    Insira o endereço IP 168.63.129.16 para usar o DNS padrão fornecido pelo Azure.
  8. Selecione o botão Avançado .

  9. Selecione Adicionar.

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

  11. Repita as etapas anteriores para adicionar quaisquer endereços IP privados adicionais que você adicionou à interface de rede do Azure.

Importante

Você nunca deve atribuir manualmente o endereço IP público atribuído a uma máquina virtual do Azure dentro do sistema operacional da máquina virtual. Ao definir manualmente o endereço IP no sistema operacional, verifique se ele é o mesmo endereço que o endereço IP privado atribuído à interface de rede do Azure. A falha ao atribuir o endereço corretamente pode causar perda de conectividade com a máquina virtual. Para obter mais informações, consulte Alterar configurações de endereço IP.

Para obter mais informações sobre endereços IP privados, consulte 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. Sua conexão RDP será restabelecida.

  3. Abra um prompt de comando ou PowerShell.

  4. Entre 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 da interface de rede da VM do Azure. Para obter mais informações, consulte Sem acesso à Internet da VM do Windows do Azure que tem vários endereços IP.

Validação (Windows Server)

Para validar a conectividade com a Internet a partir da configuração de IP secundária através do IP público, use o seguinte comando. Substitua 10.1.0.5 pelo endereço IP privado secundário que você adicionou à interface de rede da VM do Azure.

ping -S 10.1.0.5 outlook.com

Nota

Para configurações de IP secundárias, você pode executar ping na 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.

SUSE Linux Enterprise e openSUSE

Expandir As distribuições baseadas em SUSE usam o cloud-netconfig plug-in do cloud-netconfig-azure pacote 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 interface na plataforma é atribuído via DHCP. Em seguida, o plug-in cloud-netconfig investiga a API do Serviço de Metadados de Instância do Azure continuamente (uma vez por minuto) em busca de endereços IP adicionais atribuídos à interface e os adiciona/remove como endereços IP secundários automaticamente.

Este plugin deve ser instalado e ativado 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

Expandir

Recomendamos consultar a documentação mais recente para a sua distribuição Linux.

  1. Abra uma janela do terminal.

  2. Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:

    sudo -i
    
  3. Atualize o arquivo de configuração da interface de rede (assumindo 'eth0').

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

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

      cd /etc/network/interfaces.d/
      ls
      

      Deverá ver um ficheiro .cfg.

  4. Abra o ficheiro. Deverá ver as linhas seguintes no final do ficheiro:

    auto eth0
    iface eth0 inet dhcp
    
  5. Adicione as seguintes linhas após as linhas que existem no arquivo. Substitua 10.1.0.5 pelo seu endereço IP privado e 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 nas 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. Guarde o ficheiro com o comando seguinte:

    :wq
    
  7. Reponha a interface de rede com o seguinte comando:

    ifdown eth0 && ifup eth0
    

    Importante

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

  8. Certifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:

    ip addr list eth0
    

    Deverá ver o endereço IP que adicionou 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 a partir de sua configuração de IP secundária por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Nota

Para configurações de IP secundárias, você só pode executar ping na 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 Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Consulte a documentação apropriada para sua distribuição Linux. O método seguinte é adequado para realizar este procedimento:

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 com o endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 para o gateway padrão

    • eth2 para o nome do seu NIC secundário

Ubuntu 18.04+

Expandir

Ubuntu 18.04 e superior mudaram para netplan o gerenciamento de rede do sistema operacional. Recomendamos consultar a documentação mais recente para a sua distribuição Linux.

  1. Abra uma janela do terminal.

  2. Certifique-se de que você é o usuário root. Se não for, introduza 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 por 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 nas linhas subsequentes:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
                    - 10.1.0.6/24
    
  5. Guarde o ficheiro com o comando seguinte:

    :wq
    
  6. Teste as alterações com netplan tente confirmar a sintaxe:

    netplan try
    

    Nota

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

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

    netplan apply
    
  8. Certifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:

    ip addr list eth0
    

    Deverá ver o endereço IP que adicionou 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 a partir de sua configuração de IP secundária por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Nota

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

Para VMs de Linux, ao tentar validar a conectividade de saída a partir de um NIC secundário, poderá ter de adicionar rotas adequadas. Existem várias formas de efetuar este procedimento. Consulte a documentação adequada para a distribuição de Linux. O método seguinte é adequado para realizar este procedimento:

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 com o endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 para o gateway padrão

    • eth2 para o nome do seu NIC secundário

Red Hat Enterprise Linux, CentOS e outros

Expandir
  1. Abra uma janela do terminal.

  2. Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:

    sudo -i
    
  3. Introduza a sua palavra-passe e siga as instruções, conforme solicitado. Quando você for o usuário root, vá para a pasta de scripts de rede com o seguinte comando:

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

    ls ifcfg-*
    

    Deverá ver ifcfg-eth0 como um dos ficheiros.

  5. Para adicionar um endereço IP, crie um ficheiro de configuração para o mesmo como apresentado abaixo. Tenha em atenção que tem de criar um ficheiro para cada configuração de IP.

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

    vi ifcfg-eth0:0
    
  7. Adicione conteúdo ao ficheiro, que é eth0:0 neste caso, com o seguinte comando. Substitua 10.1.0.5 pelo seu endereço IP privado adicional e máscara de sub-rede.

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

    :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 são realizadas com êxito ao executar os seguintes comandos:

    systemctl restart NetworkManager.service
    ifconfig
    

    Você deve ver o endereço IP ou endereços que você adicionou 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 a partir de sua configuração de IP secundária por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.0.0.5 outlook.com

Nota

Para configurações de IP secundárias, você só pode executar ping na 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 Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Consulte a documentação adequada para a distribuição de Linux. O método seguinte é adequado para realizar este procedimento:

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.0.0.5 pelo endereço IP privado que tem um endereço IP público associado ao mesmo

    • 10.0.0.1 para o gateway predefinido

    • eth2 para o nome do seu NIC secundário

Debian GNU/Linux

Expandir

Recomendamos consultar a documentação mais recente para a sua distribuição Linux.

  1. Abra uma janela do terminal.

  2. Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:

    sudo -i
    
  3. Atualize o arquivo de configuração da interface de rede (assumindo 'eth0').

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

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

      cd /etc/network/interfaces.d/
      ls
      

      Deverá ver um ficheiro .cfg.

  4. Abra o ficheiro. Deverá ver as linhas seguintes no final do ficheiro:

    auto eth0
    iface eth0 inet dhcp
    
  5. Adicione as seguintes linhas após as linhas que existem no arquivo. Substitua 10.1.0.5 pelo seu endereço IP privado e 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 nas 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. Guarde o ficheiro com o comando seguinte:

    :wq
    
  7. Reinicie os serviços de rede para que as alterações entrem em vigor. Para Debian 8 e superior, isso pode 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. Certifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:

    ip addr list eth0
    

    Deverá ver o endereço IP que adicionou 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 a partir de sua configuração de IP secundária por meio do IP público associado a ela, use o seguinte comando:

ping -I 10.1.0.5 outlook.com

Nota

Para configurações de IP secundárias, você só pode executar ping na 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 Linux, ao tentar validar a conectividade de saída de uma NIC secundária, talvez seja necessário adicionar rotas apropriadas. Consulte a documentação apropriada para sua distribuição Linux. O método seguinte é adequado para realizar este procedimento:

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 com o endereço IP privado que tem um endereço IP público associado a ele

    • 10.1.0.1 para o gateway padrão

    • eth2 para o nome do seu NIC secundário

Próximos passos