Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma Máquina Virtual Azure (VM) tem uma ou mais interfaces de rede (NIC) ligadas. 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 pool 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 em Azure, veja
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 forem desejados, várias NICs em uma VM poderão ser usadas. Para saber mais sobre múltiplas NICs numa VM em Azure, veja Criar VM com Múltiplas NICs.
Há um limite para quantos endereços IP privados podem ser atribuídos a uma NIC. Há também um limite para o número de endereços IP públicos que podem ser usados numa subscrição do Azure. Consulte o artigo Azure limites para mais detalhes.
Este artigo explica como adicionar vários endereços IP a uma máquina virtual usando o PowerShell.
Prerequisites
Uma conta no Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Ambiente PowerShell em Azure Cloud Shell ou Azure PowerShell instalado localmente. Para saber mais sobre o uso do PowerShell em Azure Cloud Shell, consulte Azure Cloud Shell Quickstart.
- Se optar por instalar e usar o PowerShell localmente, este artigo requer o módulo Azure PowerShell versão 5.4.1 ou posterior. Execute
Get-InstalledModule -Name Azpara localizar a versão instalada. Se precisares de atualizar, vê Install Azure PowerShell module. Certifique-se de que 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 optar por instalar e usar o PowerShell localmente, este artigo requer o módulo Azure PowerShell versão 5.4.1 ou posterior. Execute
Inicie sessão no Azure PowerShell e certifique-se de que selecionou a subscrição com a qual pretende usar esta funcionalidade. Para mais informações, consulte Iniciar sessão com 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 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.
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
Note
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
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
Abra um prompt de comando ou PowerShell.
Entre
ipconfig /allna linha de comando. Você vê o endereço IP privado primário que foi atribuído através do DHCP.Entre
ncpa.cplna linha de comando para abrir a configuração de Conexões de Rede .Abra as Propriedades do adaptador de rede atribuído aos novos endereços IP.
Faça duplo clique em Protocolo IP Versão 4 (TCP/IPv4).
Selecione Usar o seguinte endereço IP:. Introduza os seguintes valores.
Setting 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.Selecione Usar os seguintes endereços de servidor DNS:. Introduza os seguintes valores.
Setting Value Servidor DNS preferido: Insira seu servidor DNS primário.
Introduza o endereço IP de 168.63.129.16 para usar o DNS Azure predefinido.Selecione o botão Avançado .
Selecione Adicionar.
Introduza o endereço privado IP que adicionou à interface de rede Azure. Insira a máscara de sub-rede correspondente. Selecione Adicionar.
Repita os passos anteriores para adicionar quaisquer endereços IP privados adicionados à interface de rede do Azure.
Important
Nunca deve atribuir manualmente o endereço IP público atribuído a uma máquina virtual Azure dentro do sistema operativo da máquina virtual. Quando definir manualmente o endereço IP dentro do sistema operativo, certifique-se de que é o mesmo endereço do 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.
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 PowerShell.
Entre
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. . . . . . . . : EnabledCertifique-se de que o endereço IP privado principal usado no Windows é o mesmo que o endereço IP principal da interface de rede da VM do Azure. Para mais informações, veja Sem acesso à Internet a partir de Azure Windows VM que tenha múltiplos 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 o 10.1.0.5 pelo endereço IP privado secundário que adicionou à interface de rede da VM do Azure.
ping -S 10.1.0.5 outlook.com
Note
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, não é necessário um endereço IP público 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. Não são necessárias etapas manuais por parte do administrador. O primeiro endereço IP de um conjunto de interface na plataforma é atribuído via DHCP. O plugin cloud-netconfig sonda então continuamente a API do Azure Instance Metadata Service (uma vez por minuto) à procura de mais endereços IP atribuídos à interface e adiciona/remove automaticamente esses endereços IP secundários.
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.
Abra uma janela do terminal.
Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:
sudo -iAtualize 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 outro endereço IP estático com os seguintes comandos:
cd /etc/network/interfaces.d/ lsDeverá ver um ficheiro .cfg.
Abra o ficheiro. Deverá ver as linhas seguintes no final do ficheiro:
auto eth0 iface eth0 inet dhcpAdicione as seguintes linhas após as linhas que existem no arquivo. Substitua
10.1.0.5pelo seu endereço IP privado e 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.0Guarde o ficheiro com o comando seguinte:
:wqReponha a interface de rede com o seguinte comando:
ifdown eth0 && ifup eth0Important
Execute ifdown e ifup na mesma linha se estiver usando uma conexão remota.
Certifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:
ip addr list eth0Deverá ver o endereço IP que adicionou 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 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
Note
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 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 seguinte método para atingir esse objetivo:
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 da sua NIC secundária
Ubuntu 18.04+
Expandir
A partir de 18.04, netplan é usado no Ubuntu para gerenciamento de rede. Recomendamos consultar a documentação mais recente para a sua distribuição Linux.
Abra uma janela do terminal.
Certifique-se de que você é o usuário root. Se não for, introduza 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/24por 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 nas linhas subsequentes:
network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24 - 10.1.0.6/24Guarde o ficheiro com o comando seguinte:
: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. Nessa altura, as alterações terão sido revertidas.Supondo que não haja problemas com
netplan tryo , aplique as alterações de configuração:netplan applyCertifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:
ip addr list eth0Deverá ver o endereço IP que adicionou 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 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
Note
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. Siga a documentação apropriada para sua distribuição Linux. O método a seguir é uma maneira de atingir esse objetivo:
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 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 reiniciar o sistema. Não são necessárias outras etapas.
RHEL 8.6 e acima, RHEL 9
A partir do RHEL 8.6 e superiores e RHEL 9, o pacote "networkmanager-cloud-setup" pode lidar com múltiplas configurações de IP e a sua configuração de rotas associada.
- Desativei o cloud-init para gerir a configuração secundária de IP nos respetivos ficheiros /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg ou /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg. Isto permitirá que o NetworkManager e o nm-cloud-setup geram toda a configuração da rede
[root@rhel8 ~]# cat /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg
datasource:
Azure:
apply_network_config: False
- Instale 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 permitir que o "nm-cloud-setup" gere a configuração secundária de IP, crie ficheiros nm-cloud-setup.service e nm-cloud-setup.timer (ajuste os parâmetros OnBootSec e OnUnitActiveSec conforme as 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
- Os serviços de ativação são o daemon de recarga
systemctl enable --now nm-cloud-setup.service
systemctl start nm-cloud-setup.service
systemctl enable --now nm-cloud-setup.timer
systemctl daemon-reload
- Reiniciar a VM e verificar. A VM deverá agora identificar com sucesso os respetivos IPs primários e secundários.
RHEL 8.5 e abaixo
Abra uma janela do terminal.
Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:
sudo -iIntroduza 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-scriptsListe os ficheiros ifcfg relacionados com 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 neste caso, com o seguinte comando. Substitua
10.1.0.5pelo seu novo endereço IP privado e máscara de sub-rede.DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.5 NETMASK=255.255.255.0Guarde o ficheiro com o comando seguinte:
: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 são realizadas com êxito ao executar os seguintes comandos:
systemctl restart NetworkManager.service ifconfigVocê 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 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
Note
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 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 seguinte método para atingir esse objetivo:
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 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 para o nome da sua NIC secundária
Debian GNU/Linux
Expandir
Recomendamos consultar a documentação mais recente para a sua distribuição Linux.
Abra uma janela do terminal.
Certifique-se de que você é o usuário root. Se não estiver, digite o seguinte comando:
sudo -iAtualize 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 cada endereço IP estático usando os seguintes comandos:
cd /etc/network/interfaces.d/ lsDeverá ver um ficheiro .cfg.
Abra o ficheiro. Deverá ver as linhas seguintes no final do ficheiro:
auto eth0 iface eth0 inet dhcpAdicione as seguintes linhas após as linhas que existem no arquivo. Substitua
10.1.0.5pelo seu endereço IP privado e 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.0Guarde o ficheiro com o comando seguinte:
:wqReinicie os serviços de rede para que as alterações entrem em vigor. Para Debian 8 e superior, use:
systemctl restart networkingPara versões anteriores do Debian, você pode usar os comandos abaixo:
service networking restartCertifique-se de que o endereço IP é adicionado à interface de rede com o seguinte comando:
ip addr list eth0Deverá ver o endereço IP que adicionou 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 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
Note
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 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 seguinte método para atingir esse objetivo:
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 da sua NIC secundária
Próximos passos
- Saiba mais sobre endereços IP públicos em Azure.
- Saiba mais sobre endereços IP privados em Azure.
- Aprenda a configurar endereços IP para uma interface de rede Azure.