Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma VM (Máquina Virtual) Azure tem uma ou mais NIC (interfaces de rede) anexadas a ela. 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 de 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, consulte Endereços IP no Azure.
Note
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árias NICs em uma VM no Azure, consulte Criar VM com várias 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 quantos endereços IP públicos podem ser usados em uma assinatura de Azure. Consulte o artigo limites Azure para mais detalhes.
Este artigo explica como adicionar vários endereços IP a uma máquina virtual usando o PowerShell.
Prerequisites
Uma conta Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Ambiente do PowerShell em Azure Cloud Shell ou Azure PowerShell instalado localmente. Para saber mais sobre como usar o PowerShell em Azure Cloud Shell, consulte Azure Cloud Shell Início Rápido.
- Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo Azure PowerShell versão 5.4.1 ou posterior. Execute
Get-InstalledModule -Name Azpara localizar a versão instalada. Se você precisar atualizar, consulte Instalar Azure PowerShell módulo. Verifique se o módulo Az.Network é 4.3.0 ou posterior. Para verificar o módulo instalado, use o comandoGet-InstalledModule -Name "Az.Network". Se o módulo exigir uma atualização, use o comandoUpdate-Module -Name "Az.Network"se necessário.
- Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo Azure PowerShell versão 5.4.1 ou posterior. Execute
Entre no Azure PowerShell e verifique se você selecionou a assinatura com a qual deseja usar esse recurso. Para obter mais informações, consulte Sign in with Azure PowerShell.
Note
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.
Figura: diagrama de recursos de configuração de rede criados neste artigo de instruções.
Criar um grupo de recursos
Um grupo de recursos Azure é um contêiner lógico no qual Azure recursos são implantados e gerenciados.
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ê 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 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ê 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 (interface 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
Note
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
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
Expandir
Abra um prompt de comando ou o PowerShell.
Insira
ipconfig /allna linha de comando. Você verá o endereço IP privado primário atribuído por meio do DHCP.Insira
ncpa.cplna linha de comando para abrir a configuração de Conexões de Rede .Abra as Propriedades do adaptador de rede atribuídos aos novos endereços IP.
Clique duas vezes em Protocolo TCP/IP Versão 4 (TCP/IPv4).
Selecione Usar o seguinte endereço IP:. Insira os valores a seguir.
Setting Value 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 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 sub-rede for 10.0.0.0/24, o endereço IP do gateway será 10.0.0.1.Selecione Usar os seguintes endereços de servidor DNS:. Insira os valores a seguir.
Setting Value Servidor DNS preferencial: Insira o servidor DNS primário.
Insira o endereço IP de 168.63.129.16 para usar o DNS fornecido Azure padrão.Selecione o botão Avançado .
Selecione Adicionar.
Insira o endereço IP privado que você adicionou à interface de rede do Azure. Insira a máscara de sub-rede correspondente. Selecione Adicionar.
Repita as etapas anteriores para adicionar mais endereços IP privados que você adicionou à interface de rede Azure.
Important
Você nunca deve atribuir manualmente o endereço IP público atribuído a uma máquina virtual Azure dentro do sistema operacional da máquina virtual. Quando você definir manualmente o endereço IP dentro do sistema operacional, verifique se ele é o mesmo endereço que o endereço IP privado atribuído ao Azure interface de rede. 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.
Selecione OK para fechar as configurações de endereço IP secundário.
Selecione OK para fechar as configurações do adaptador. Sua conexão RDP é restabelecida.
Abra um prompt de comando ou o PowerShell.
Insira
ipconfig /allna linha de comando.Verifique se os endereços IP privados primários e secundários estão presentes na 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. . . . . . . . : EnabledVerifique se o endereço IP privado primário usado no Windows é o mesmo que o endereço IP primário do Azure interface de rede de VM. Para obter mais informações, consulte Sem acesso à Internet de uma VM do Azure Windows 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 que você adicionou à interface de rede da VM do Azure.
ping -S 10.1.0.5 outlook.com
Note
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 para executar ping na Internet.
SUSE Linux Enterprise e openSUSE
Expandir
As distribuições baseadas em SUSE usam ocloud-netconfig plug-in do cloud-netconfig-azure pacote para gerenciar a configuração de IP. Nenhuma etapa 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 examina continuamente a API do Serviço de Metadados de Instância do Azure (uma vez por minuto) para verificar a atribuição de mais endereços IP à interface, adicionando-os ou removendo-os automaticamente como endereços IP secundários.
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
Expandir
É recomendável observar a documentação mais recente para sua distribuição do Linux.
Abra uma janela de terminal.
Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:
sudo -iAtualize o arquivo de configuração do adaptador de rede (supondo '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 outro endereço IP estático com os seguintes comandos:
cd /etc/network/interfaces.d/ lsVocê deve ver um arquivo. cfg.
Abra o arquivo. Você verá as seguintes linhas ao final do arquivo:
auto eth0 iface eth0 inet dhcpAdicione as linhas a seguir após as linhas existentes no arquivo. Substitua
10.1.0.5pelo endereço IP privado e pela máscara de sub-rede.iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0Para adicionar outros endereços IP privados, 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.0Salve o arquivo usando o seguinte comando:
:wqReinicie o adaptador de rede com o seguinte comando:
ifdown eth0 && ifup eth0Important
Execute ifdown e ifup na mesma linha, se você estiver usando uma conexão remota.
Verifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:
ip addr list eth0Você verá o endereço IP adicionado como parte da lista. Example:
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
Note
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. Veja a documentação apropriada para obter sua distribuição do Linux. O seguinte método para atingir essa meta:
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 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 como o nome da sua NIC secundária
Ubuntu 18.04+
Expandir
A partir da 18.04, netplan é usado no Ubuntu para gerenciamento de rede. É recomendável observar a documentação mais recente para sua distribuição do Linux.
Abra uma janela de terminal.
Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:
sudo -iCrie um arquivo para a segunda interface e abra-o em um editor de texto:
vi /etc/netplan/60-static.yamlAdicione as seguintes linhas ao arquivo, substituindo
10.1.0.5/24pelo seu IP e máscara de sub-rede:network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24Para adicionar endereços IP privados, 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/24Salve o arquivo usando o seguinte comando:
:wqTeste as alterações com netplan try para confirmar a sintaxe:
netplan tryNote
netplan tryaplicará as alterações temporariamente e reverterá as alterações após 120 segundos. Se houver uma perda de conectividade, aguarde 2 minutos e reconecte-se. Nesse momento, as alterações serão revertidas.Supondo que não haja problemas com
netplan try, aplique as alterações de configuração:netplan applyVerifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:
ip addr list eth0Você verá o endereço IP adicionado como parte da lista. Example:
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
Note
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. Siga a documentação apropriada para sua distribuição do Linux. O método a seguir é uma maneira de atingir essa meta:
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 como o nome da sua NIC secundária
Red Hat Enterprise Linux e outros
Expandir
Note
Para configurar os endereços IP extras no RHEL10.x, basta reiniciar o NetworkManger com: systemctl restart NetworkManger.service ou reinicializar o sistema. Não são necessárias outras etapas.
RHEL 8.6 e superior, RHEL 9
Iniciando o RHEL 8.6 e o RHEL 9, o pacote "networkmanager-cloud-setup" pode lidar com várias configurações de IP e sua configuração de rota associada.
- Desabilitado o cloud-init para lidar com a configuração de IP secundário nos respectivos arquivos /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg ou /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg. Isso permitirá que o NetworkManager e o nm-cloud-setup gerenciem toda a configuração de rede
[root@rhel8 ~]# cat /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg
datasource:
Azure:
apply_network_config: False
- Instalar o pacote "NetworkManager-cloud-setup" se ainda não estiver instalado
]# yum install NetworkManager-cloud-setup
Red Hat Enterprise Linux 8 for x86_64 - BaseOS from RHUI (RPMs) 39 MB/s | 66 MB 00:01
Red Hat Enterprise Linux 8 for x86_64 - Supplementary (RPMs) from RHUI 2.3 MB/s | 340 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (RPMs) 41 MB/s | 60 MB 00:01
Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) from RHUI 33 MB/s | 8.9 MB 00:00
Red Hat Ansible Engine 2 for RHEL 8 x86_64 (RPMs) from RHUI 14 MB/s | 2.5 MB 00:00
Dependencies resolved.
==============================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================
Installing:
NetworkManager-cloud-setup x86_64 1:1.40.16-13.el8_9 rhel-8-for-x86_64-appstream-rhui-rpms 198 k
Upgrading:
NetworkManager x86_64 1:1.40.16-13.el8_9 rhel-8-for-x86_64-baseos-rhui-rpms 2.3 M
NetworkManager-libnm x86_64 1:1.40.16-13.el8_9 rhel-8-for-x86_64-baseos-rhui-rpms 1.9 M
NetworkManager-team x86_64 1:1.40.16-13.el8_9 rhel-8-for-x86_64-baseos-rhui-rpms 161 k
NetworkManager-tui x86_64 1:1.40.16-13.el8_9 rhel-8-for-x86_64-baseos-rhui-rpms 356 k
Transaction Summary
==============================================================================================================================================================================================
Install 1 Package
Upgrade 4 Packages
Total download size: 4.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): NetworkManager-cloud-setup-1.40.16-13.el8_9.x86_64.rpm 2.0 MB/s | 198 kB 00:00
(2/5): NetworkManager-1.40.16-13.el8_9.x86_64.rpm 18 MB/s | 2.3 MB 00:00
(3/5): NetworkManager-team-1.40.16-13.el8_9.x86_64.rpm 4.1 MB/s | 161 kB 00:00
(4/5): NetworkManager-libnm-1.40.16-13.el8_9.x86_64.rpm 12 MB/s | 1.9 MB 00:00
(5/5): NetworkManager-tui-1.40.16-13.el8_9.x86_64.rpm 8.8 MB/s | 356 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 28 MB/s | 4.9 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64 1/1
Upgrading : NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64 1/9
Running scriptlet: NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64 1/9
Running scriptlet: NetworkManager-1:1.40.16-13.el8_9.x86_64 2/9
Upgrading : NetworkManager-1:1.40.16-13.el8_9.x86_64 2/9
Running scriptlet: NetworkManager-1:1.40.16-13.el8_9.x86_64 2/9
Installing : NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64 3/9
Running scriptlet: NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64 3/9
Upgrading : NetworkManager-team-1:1.40.16-13.el8_9.x86_64 4/9
Upgrading : NetworkManager-tui-1:1.40.16-13.el8_9.x86_64 5/9
Cleanup : NetworkManager-tui-1:1.40.0-1.el8.x86_64 6/9
Cleanup : NetworkManager-team-1:1.40.0-1.el8.x86_64 7/9
Running scriptlet: NetworkManager-1:1.40.0-1.el8.x86_64 8/9
Cleanup : NetworkManager-1:1.40.0-1.el8.x86_64 8/9
Running scriptlet: NetworkManager-1:1.40.0-1.el8.x86_64 8/9
Cleanup : NetworkManager-libnm-1:1.40.0-1.el8.x86_64 9/9
Running scriptlet: NetworkManager-libnm-1:1.40.0-1.el8.x86_64 9/9
Verifying : NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64 1/9
Verifying : NetworkManager-1:1.40.16-13.el8_9.x86_64 2/9
Verifying : NetworkManager-1:1.40.0-1.el8.x86_64 3/9
Verifying : NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64 4/9
Verifying : NetworkManager-libnm-1:1.40.0-1.el8.x86_64 5/9
Verifying : NetworkManager-team-1:1.40.16-13.el8_9.x86_64 6/9
Verifying : NetworkManager-team-1:1.40.0-1.el8.x86_64 7/9
Verifying : NetworkManager-tui-1:1.40.16-13.el8_9.x86_64 8/9
Verifying : NetworkManager-tui-1:1.40.0-1.el8.x86_64 9/9
Installed products updated.
Upgraded:
NetworkManager-1:1.40.16-13.el8_9.x86_64 NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64 NetworkManager-team-1:1.40.16-13.el8_9.x86_64 NetworkManager-tui-1:1.40.16-13.el8_9.x86_64
Installed:
NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64
Complete!
- Para habilitar "nm-cloud-setup" para lidar com a configuração de IP secundária, crie arquivos nm-cloud-setup.service e nm-cloud-setup.timer (ajuste os parâmetros OnBootSec &OnUnitActiveSec para atender às suas necessidades)
[root@rhel8 ~]# cat /etc/systemd/system/nm-cloud-setup.service
[Unit]
Description=Automatically configure NetworkManager in cloud
Documentation=man:nm-cloud-setup(8)
Before=network-online.target
After=NetworkManager.service
[Service]
Environment=NM_CLOUD_SETUP_AZURE=yes
Type=oneshot
ExecStart=/usr/libexec/nm-cloud-setup
[Install]
WantedBy=NetworkManager.service
[root@rhel8 ~]# cat /etc/systemd/system/nm-cloud-setup.timer
[Unit]
Description=Periodically run nm-cloud-setup
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
[Install]
WantedBy=timers.target
- Habilitar serviços e recarregar daemon
systemctl enable --now nm-cloud-setup.service
systemctl start nm-cloud-setup.service
systemctl enable --now nm-cloud-setup.timer
systemctl daemon-reload
- Reinicialize a VM e verifique. A VM agora deve identificar com êxito os respectivos IPs primários e secundários.
RHEL 8.5 e abaixo
Abra uma janela de terminal.
Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:
sudo -iDigite 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-scriptsListe os arquivos ifcfg relacionados usando o seguinte comando:
ls ifcfg-*Você deve ver ifcfg-eth0 como um dos arquivos.
Crie um novo arquivo de configuração para cada IP adicionado ao sistema.
touch ifcfg-eth0:0Abra o arquivo ifcfg-eth0:0 com o seguinte comando:
vi ifcfg-eth0:0Adicione conteúdo ao arquivo, eth0:0 , nesse caso, com o comando a seguir. Substitua
10.1.0.5pelo novo endereço IP privado e pela máscara de sub-rede.DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.5 NETMASK=255.255.255.0Salve o arquivo com o seguinte comando:
:wqCrie um arquivo de configuração por endereço IP para adicionar com seus valores correspondentes:
touch ifcfg-eth0:1vi ifcfg-eth0:1DEVICE=eth0:1 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.6 NETMASK=255.255.255.0:wqReinicie os serviços de rede e certifique-se de que as alterações foram bem-sucedidas executando os seguintes comandos:
systemctl restart NetworkManager.service ifconfigVocê 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 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
Note
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. Consulte a documentação apropriada para sua distribuição do Linux. O seguinte método para atingir essa meta:
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 com o endereço IP privado que tem um endereço IP público associado a ele
10.0.0.1 para o gateway padrão
eth2 como o nome da sua NIC secundária
Debian GNU/Linux
Expandir
É recomendável observar a documentação mais recente para sua distribuição do Linux.
Abra uma janela de terminal.
Verifique se você é o usuário raiz. Se não for, digite o seguinte comando:
sudo -iAtualize o arquivo de configuração do adaptador de rede (supondo '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 cada endereço IP estático usando os seguintes comandos:
cd /etc/network/interfaces.d/ lsVocê deve ver um arquivo. cfg.
Abra o arquivo. Você verá as seguintes linhas ao final do arquivo:
auto eth0 iface eth0 inet dhcpAdicione as linhas a seguir após as linhas existentes no arquivo. Substitua
10.1.0.5pelo endereço IP privado e pela máscara de sub-rede.iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0Adicione as novas informações de endereços IP no arquivo de configuração:
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.0Salve o arquivo usando o seguinte comando:
:wqReinicie os serviços de rede para que as alterações entrem em vigor. Para o Debian 8 e superior, use:
systemctl restart networkingPara versões anteriores do Debian, você pode usar os comandos abaixo:
service networking restartVerifique se que o endereço IP foi adicionado ao adaptador de rede com o seguinte comando:
ip addr list eth0Você verá o endereço IP adicionado como parte da lista. Example:
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
Note
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. Veja a documentação apropriada para obter sua distribuição do Linux. O seguinte método para atingir essa meta:
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 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 como o nome da sua NIC secundária
Próximas etapas
- Saiba mais sobre endereços IP públicos em Azure.
- Saiba mais sobre endereços IP private em Azure.
- Saiba como Configurar endereços IP para um Azure interface de rede.