Assegnare più indirizzi IP alle macchine virtuali usando Azure PowerShell
Una macchina virtuale di Azure può essere associata a una o più interfacce di rete. A ogni scheda di interfaccia di rete possono essere assegnati uno o più indirizzi IP pubblici o privati, statici e dinamici.
L'assegnazione di più indirizzi IP a una VM consente di:
Hosting di più siti Web o servizi con indirizzi IP e certificati TLS/SSL diversi in un singolo server.
Fungere da appliance virtuale di rete, ad esempio un firewall o un servizio di bilanciamento del carico.
Aggiungere qualsiasi indirizzo IP per qualsiasi scheda di interfaccia di rete a un pool back-end di Azure Load Balancer. In passato, era possibile aggiungere a un pool di back-end solo gli indirizzi IP primari per la scheda di interfaccia di rete primaria. Per altre informazioni sul bilanciamento del carico di configurazioni IP multiple, vedere Bilanciamento del carico di configurazioni IP multiple.
Ogni scheda di interfaccia di rete collegata a una macchina virtuale dispone di una o più configurazioni IP associate. A ogni configurazione viene assegnato un indirizzo IP privato statico o dinamico. Ogni configurazione può anche avere una risorsa di indirizzo IP pubblico associata. Per altre informazioni sugli indirizzi IP in Azure, vedere Indirizzi IP in Azure.
Nota
Tutte le configurazioni IP in una singola scheda di interfaccia di rete devono essere associate alla stessa subnet. Per avere indirizzi IP multipli in subnet diverse, è possibile usare schede di interfaccia di rete multiple in una macchina virtuale. Per altre informazioni sulle schede di interfaccia di rete multiple in una macchina virtuale di Azure, vedere Creare una macchina virtuale con schede di interfaccia di rete multiple.
Sono previsti limiti per il numero di indirizzi IP privati che possono essere assegnati a una scheda di interfaccia di rete e per il numero di indirizzi IP pubblici che possono essere usati in una sottoscrizione di Azure. Per informazioni dettagliate, vedere l'articolo Limiti di Azure.
Questo articolo illustra come aggiungere più indirizzi IP a una macchina virtuale usando PowerShell.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Ambiente di PowerShell in Azure Cloud Shell o installazione di Azure PowerShell in locale. Per altre informazioni sull'uso di PowerShell in Azure Cloud Shell, vedere Guida introduttiva ad Azure Cloud Shell.
- Se si sceglie di installare e usare PowerShell in locale, per questo articolo è necessario il modulo Azure PowerShell 5.4.1 o versione successiva. Eseguire
Get-InstalledModule -Name Az
per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Verificare che il modulo Az.Network sia 4.3.0 o versione successiva. Per verificare il modulo installato, usare il comandoGet-InstalledModule -Name "Az.Network"
. Se il modulo richiede un aggiornamento, usare il comandoUpdate-Module -Name "Az.Network"
, se necessario.
- Se si sceglie di installare e usare PowerShell in locale, per questo articolo è necessario il modulo Azure PowerShell 5.4.1 o versione successiva. Eseguire
Accedere ad Azure PowerShell e assicurarsi di aver selezionato la sottoscrizione con cui si intende usare questa funzionalità. Per altre informazioni, vedere Accedere con Azure PowerShell.
Nota
Sebbene la procedura illustrata in questo articolo assegni tutte le configurazioni IP a una singola scheda di interfaccia di rete, è possibile anche assegnare più configurazioni IP a una scheda di interfaccia di rete in una macchina virtuale con più schede di interfaccia di rete. Per informazioni su come creare una macchina virtuale con schede di interfaccia di rete multiple, vedere Creare una macchina virtuale con schede di interfaccia di rete multiple.
Figura: Diagramma delle risorse di configurazione della rete create in questo articolo di istruzioni.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
Usare New-AzResourceGroup per creare un gruppo di risorse denominato myResourceGroup nella posizione eastus2.
$rg =@{
Name = 'myResourceGroup'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Creare una rete virtuale
In questa sezione si crea una rete virtuale per la macchina virtuale.
Usare New-AzVirtualNetwork e New-AzVirtualNetworkSubnetConfig per creare una rete virtuale con una subnet.
## 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
Creare un indirizzo IP pubblico primario
Usare New-AzPublicIpAddress per creare un indirizzo IP pubblico primario.
$ip1 = @{
Name = 'myPublicIP-1'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip1
Creare un gruppo di sicurezza di rete
In questa sezione si crea un gruppo di sicurezza di rete per la macchina virtuale e la rete virtuale. Si crea una regola per consentire le connessioni alla macchina virtuale sulla porta 22 per SSH.
Usare New-AzNetworkSecurityGroup e New-AzNetworkSecurityRuleConfig per creare il gruppo di sicurezza di rete e le regole.
## 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
Creare un'interfaccia di rete
Usare New-AzNetworkInterface e New-AzNetworkInterfaceIpConfig per creare un'interfaccia di rete (NIC) per la macchina virtuale. L'indirizzo IP pubblico e il gruppo di sicurezza di rete creati in precedenza sono associati all'interfaccia di rete. L'interfaccia di rete è collegata alla rete virtuale creata in precedenza.
## 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
Quando si aggiunge un indirizzo IP statico, è necessario specificare un indirizzo valido e inutilizzato nella subnet a cui la scheda di rete è connessa.
Creare una macchina virtuale
Usare i comandi seguenti per creare la macchina virtuale:
$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
Aggiungere un indirizzo IP privato e pubblico secondario
Usare New-AzPublicIpAddress per creare un indirizzo IP pubblico secondario.
$ip2 = @{
Name = 'myPublicIP-2'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip2
Usare New-AzNetworkInterfaceIpConfig per creare la configurazione IP secondaria per la macchina virtuale.
## 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
Aggiungere indirizzi IP a un sistema operativo VM
Connettersi e accedere alla VM creata con più indirizzi IP privati. È necessario aggiungere manualmente tutti gli indirizzi IP privati aggiunti alla macchina virtuale, incluso l'indirizzo primario. Eseguire i passaggi seguenti per il sistema operativo della macchina virtuale.
Windows Server
Espandi
Aprire un prompt dei comandi o PowerShell.
Immettere
ipconfig /all
nella riga di comando. Verrà visualizzato l'indirizzo IP privato Primario assegnato tramite DHCP.Immettere
ncpa.cpl
nella riga di comando per aprire la configurazione Connessioni di rete.Aprire le Proprietà per la scheda di rete assegnata ai nuovi indirizzi IP.
Fare doppio clic su Protocollo Internet versione 4 (TCP/IPv4).
Selezionare Usare l'indirizzo IP seguente. Immettere i valori seguenti.
Impostazione Valore Indirizzo IP: Immettere l'indirizzo IP privato Primario. Subnet mask: Immettere una subnet mask basata sull'indirizzo IP.
Se, ad esempio, la subnet è di tipo /24, la subnet mask corrisponde a 255.255.255.0.Gateway predefinito: primo indirizzo IP nella subnet.
Se la subnet è 10.0.0.0/24, l'indirizzo IP del gateway corrisponde a 10.0.0.1.Selezionare Usare gli indirizzi del server DNS seguenti. Immettere i valori seguenti.
Impostazione Valore Server DNS preferito: Immettere il server DNS primario.
Immettere l'indirizzo IP 168.63.129.16 per usare il DNS predefinito fornito da Azure.Selezionare il pulsante Advanced (Avanzate).
Selezionare Aggiungi.
Immettere l'indirizzo IP privato aggiunto all'interfaccia di rete di Azure. Immettere la subnet mask corrispondente. Selezionare Aggiungi.
Ripetere i passaggi precedenti per aggiungere eventuali altri indirizzi IP privati aggiunti all'interfaccia di rete di Azure.
Importante
Non assegnare mai manualmente l'indirizzo IP pubblico assegnato a una macchina virtuale di Azure all'interno del sistema operativo della macchina virtuale. Quando si imposta manualmente l'indirizzo IP all'interno del sistema operativo, assicurarsi che sia uguale all'indirizzo IP privato assegnato all'interfaccia di rete di Azure. Se l'indirizzo non viene assegnato correttamente, si può perdere la connettività alla macchina virtuale. Per altre informazioni, vedere Modificare le impostazioni degli indirizzi IP.
Per altre informazioni sugli indirizzi IP privati, vedere Indirizzi IP privati.
Selezionare OK per chiudere le impostazioni dell'indirizzo IP secondario.
Selezionare OK per chiudere le impostazioni della scheda. Verrà ristabilita la connessione RDP.
Aprire un prompt dei comandi o PowerShell.
Immettere
ipconfig /all
nella riga di comando.Verificare che gli indirizzi IP privati primario e secondario siano stati aggiunti alla configurazione.
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
Verificare che l'indirizzo IP privato primario usato in Windows corrisponda all'indirizzo IP primario dell'interfaccia di rete della macchina virtuale di Azure. Per altre informazioni, vedere Nessun accesso a Internet da una macchina virtuale Windows Azure che dispone di indirizzi IP multipli.
Convalida (Windows Server)
Per convalidare la connettività a Internet dalla configurazione IP secondaria tramite l'IP pubblico, usare il comando seguente. Sostituire 10.1.0.5 con l'indirizzo IP privato secondario aggiunto all'interfaccia di rete della macchina virtuale di Azure.
ping -S 10.1.0.5 outlook.com
Nota
Per le configurazioni IP secondarie, è possibile effettuare il ping a Internet solo se alla configurazione è associato un indirizzo IP pubblico. Per le configurazioni IP primarie, non è necessario un indirizzo IP pubblico per il ping a Internet.
SUSE Linux Enterprise e openSUSE
Espandi
Le distribuzioni basate su SUSE usano il plug-incloud-netconfig
dal pacchetto cloud-netconfig-azure
per gestire gli indirizzi IP aggiuntivi. Non è necessaria alcuna configurazione manuale da parte dell'amministratore. Il primo indirizzo IP di un'interfaccia impostata nella piattaforma viene assegnato tramite DHCP. Il plug-in cloud-netconfig esegue quindi il probe dell'API del servizio metadati dell'istanza di Azure in modo continuo (una volta al minuto) per individuare gli indirizzi IP aggiuntivi assegnati all'interfaccia e aggiungerli/rimuoverli automaticamente come indirizzi IP secondari.
Questo plug-in deve essere installato e abilitato nelle nuove immagini per impostazione predefinita. I passaggi per la configurazione dei carichi di lavoro precedenti sono disponibili qui: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/.
Ubuntu 14/16
Espandi
Si consiglia di esaminare la documentazione più recente per la distribuzione di Linux.
Aprire una finestra del terminale.
Assicurarsi di essere l'utente ROOT. In caso contrario, immettere il comando seguente:
sudo -i
Aggiornare il file di configurazione dell'interfaccia di rete, presupponendo ‘eth0’.
Mantenere la voce esistente per dhcp. L'indirizzo IP primario conserva la configurazione precedente.
Aggiungere una configurazione per un indirizzo IP statico aggiuntivo con i comandi seguenti:
cd /etc/network/interfaces.d/ ls
Dovrebbe essere visualizzato un file con estensione cfg.
Apri il file . Dovrebbero essere visualizzate le righe seguenti alla fine del file:
auto eth0 iface eth0 inet dhcp
Aggiungere le righe seguenti dopo le righe esistenti nel file. Sostituire
10.1.0.5
con l'indirizzo IP privato e la subnet mask.iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0
Per aggiungere altri indirizzi IP privati, modificare il file e aggiungere i nuovi indirizzi IP privati nelle righe successive:
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
Salvare il file usando il comando seguente:
:wq
Reimpostare l'interfaccia di rete con il comando seguente:
ifdown eth0 && ifup eth0
Importante
Eseguire sia ifdown che ifup nella stessa riga se si usa una connessione remota.
Verificare che l'indirizzo IP venga aggiunto all'interfaccia di rete con il comando seguente:
ip addr list eth0
L'indirizzo IP aggiunto dovrebbe essere incluso nell'elenco. Esempio:
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
Convalida (Ubuntu 14/16)
Per assicurarsi che sia possibile connettersi a Internet dalla configurazione dell'indirizzo IP secondaria tramite l'indirizzo IP pubblico ad essa associato, usare il comando seguente:
ping -I 10.1.0.5 outlook.com
Nota
Per le configurazioni IP secondarie, è possibile effettuare il ping a Internet solo se alla configurazione è associato un indirizzo IP pubblico. Per le configurazioni IP primarie, non è necessario un indirizzo IP pubblico per il ping a Internet.
Per le macchine virtuali Linux, quando si prova a convalidare la connettività in uscita da una scheda di interfaccia di rete secondaria, potrebbe essere necessario aggiungere le route appropriate. Per informazioni sulla distribuzione Linux, vedere la documentazione appropriata. Ecco un metodo per ottenere questo risultato:
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
Assicurarsi di sostituire:
10.1.0.5 con l'indirizzo IP privato a cui è associato un indirizzo IP pubblico
10.1.0.1 con il gateway predefinito
eth2 con il nome della scheda di interfaccia di rete secondaria
Ubuntu 18.04+
Espandi
Ubuntu 18.04 e versioni successive sono stati modificati in netplan
per la gestione della rete del sistema operativo. Si consiglia di esaminare la documentazione più recente per la distribuzione di Linux.
Aprire una finestra del terminale.
Assicurarsi di essere l'utente ROOT. In caso contrario, immettere il comando seguente:
sudo -i
Creare un file per la seconda interfaccia e aprirlo in un editor di testo:
vi /etc/netplan/60-static.yaml
Aggiungere le righe seguenti al file, sostituendo
10.1.0.5/24
con l'IP e la subnet mask usati:network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24
Per aggiungere altri indirizzi IP privati, modificare il file e aggiungere i nuovi indirizzi IP privati nelle righe successive:
network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24 - 10.1.0.6/24
Salvare il file usando il comando seguente:
:wq
Testare le modifiche con netplan try per verificare la sintassi:
netplan try
Nota
netplan try
applicherà le modifiche temporaneamente ed eseguirà il rollback delle modifiche dopo 120 secondi. Se si verifica una perdita di connettività, attendere 120 secondi e quindi riconnettersi. A quel punto, sarà stato eseguito il rollback delle modifiche.Se non si verificano problemi con
netplan try
, applicare le modifiche alla configurazione:netplan apply
Verificare che l'indirizzo IP venga aggiunto all'interfaccia di rete con il comando seguente:
ip addr list eth0
L'indirizzo IP aggiunto dovrebbe essere incluso nell'elenco. Esempio:
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
Convalida (Ubuntu 18.04+)
Per assicurarsi che sia possibile connettersi a Internet dalla configurazione dell'indirizzo IP secondaria tramite l'indirizzo IP pubblico ad essa associato, usare il comando seguente:
ping -I 10.1.0.5 outlook.com
Nota
Per le configurazioni IP secondarie, è possibile effettuare il ping a Internet solo se alla configurazione è associato un indirizzo IP pubblico. Per le configurazioni IP primarie, non è necessario un indirizzo IP pubblico per effettuare il ping a Internet.
Per le macchine virtuali Linux, quando si prova a convalidare la connettività in uscita da una scheda di interfaccia di rete secondaria, potrebbe essere necessario aggiungere le route appropriate. Esistono molti modi per ottenere questo risultato. Per informazioni sulla distribuzione Linux, vedere la documentazione appropriata. Ecco un metodo per ottenere questo risultato:
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
Assicurarsi di sostituire:
10.1.0.5 con l'indirizzo IP privato a cui è associato un indirizzo IP pubblico
10.1.0.1 con il gateway predefinito
eth2 con il nome della scheda di interfaccia di rete secondaria
Red Hat Enterprise Linux e altri
Espandi
Aprire una finestra del terminale.
Assicurarsi di essere l'utente ROOT. In caso contrario, immettere il comando seguente:
sudo -i
Immettere la password e seguire le istruzioni visualizzate. Quando si è l'utente ROOT, passare alla cartella degli script di rete tramite il comando seguente:
cd /etc/sysconfig/network-scripts
Elencare i file ifcfg correlati usando il comando seguente:
ls ifcfg-*
Uno dei file visualizzati dovrebbe essere ifcfg-eth0 .
Per aggiungere un indirizzo IP, creare un file di configurazione come illustrato di seguito. Si noti che è necessario creare un file per ogni configurazione IP.
touch ifcfg-eth0:0
Aprire il file ifcfg-eth0:0 con il comando seguente:
vi ifcfg-eth0:0
Aggiungere contenuto al file, in questo caso eth0:0, con il comando seguente. Sostituire
10.1.0.5
con l'indirizzo IP privato aggiuntivo e la subnet mask.DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.5 NETMASK=255.255.255.0
Salvare il file usando il comando seguente:
:wq
Per aggiungere altri indirizzi IP privati alla configurazione di rete, creare altri file di configurazione e aggiungere le informazioni sugli IP nel file.
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
Riavviare i servizi di rete e assicurarsi che le modifiche siano riuscite eseguendo i comandi seguenti:
systemctl restart NetworkManager.service ifconfig
Gli indirizzi IP aggiunti dovrebbero essere inclusi nell'elenco restituito.
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)
Convalida (Red Hat e altri)
Per assicurarsi che sia possibile connettersi a Internet dalla configurazione dell'indirizzo IP secondaria tramite l'indirizzo IP pubblico ad essa associato, usare il comando seguente:
ping -I 10.0.0.5 outlook.com
Nota
Per le configurazioni IP secondarie, è possibile effettuare il ping a Internet solo se alla configurazione è associato un indirizzo IP pubblico. Per le configurazioni IP primarie, non è necessario un indirizzo IP pubblico per il ping a Internet.
Per le macchine virtuali Linux, quando si prova a convalidare la connettività in uscita da una scheda di interfaccia di rete secondaria, potrebbe essere necessario aggiungere le route appropriate. Per informazioni sulla distribuzione Linux, vedere la documentazione appropriata. Ecco un metodo per ottenere questo risultato:
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
Assicurarsi di sostituire:
10.0.0.5 con l'indirizzo IP privato a cui è associato un indirizzo IP pubblico
10.0.0.1 con il gateway predefinito
eth2 con il nome della scheda di interfaccia di rete secondaria
Debian GNU/Linux
Espandi
Si consiglia di esaminare la documentazione più recente per la distribuzione di Linux.
Aprire una finestra del terminale.
Assicurarsi di essere l'utente ROOT. In caso contrario, immettere il comando seguente:
sudo -i
Aggiornare il file di configurazione dell'interfaccia di rete, presupponendo ‘eth0’.
Mantenere la voce esistente per dhcp. L'indirizzo IP primario conserva la configurazione precedente.
Aggiungere una configurazione per un indirizzo IP statico aggiuntivo con i comandi seguenti:
cd /etc/network/interfaces.d/ ls
Dovrebbe essere visualizzato un file con estensione cfg.
Apri il file . Dovrebbero essere visualizzate le righe seguenti alla fine del file:
auto eth0 iface eth0 inet dhcp
Aggiungere le righe seguenti dopo le righe esistenti nel file. Sostituire
10.1.0.5
con l'indirizzo IP privato e la subnet mask.iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0
Per aggiungere altri indirizzi IP privati, modificare il file e aggiungere i nuovi indirizzi IP privati nelle righe successive:
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
Salvare il file usando il comando seguente:
:wq
Riavviare i servizi di rete per rendere effettive le modifiche. Per Debian 8 e versioni successive, questa operazione può essere eseguita tramite il comando seguente:
systemctl restart networking
Per le versioni precedenti di Debian, è possibile usare i comandi seguenti:
service networking restart
Verificare che l'indirizzo IP venga aggiunto all'interfaccia di rete con il comando seguente:
ip addr list eth0
L'indirizzo IP aggiunto dovrebbe essere incluso nell'elenco. Esempio:
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
Convalida (Debian GNU/Linux)
Per assicurarsi che sia possibile connettersi a Internet dalla configurazione dell'indirizzo IP secondaria tramite l'indirizzo IP pubblico ad essa associato, usare il comando seguente:
ping -I 10.1.0.5 outlook.com
Nota
Per le configurazioni IP secondarie, è possibile effettuare il ping a Internet solo se alla configurazione è associato un indirizzo IP pubblico. Per le configurazioni IP primarie, non è necessario un indirizzo IP pubblico per il ping a Internet.
Per le macchine virtuali Linux, quando si prova a convalidare la connettività in uscita da una scheda di interfaccia di rete secondaria, potrebbe essere necessario aggiungere le route appropriate. Per informazioni sulla distribuzione Linux, vedere la documentazione appropriata. Ecco un metodo per ottenere questo risultato:
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
Assicurarsi di sostituire:
10.1.0.5 con l'indirizzo IP privato a cui è associato un indirizzo IP pubblico
10.1.0.1 con il gateway predefinito
eth2 con il nome della scheda di interfaccia di rete secondaria
Passaggi successivi
- Altre informazioni sugli indirizzi IP pubblici in Azure.
- Altre informazioni sugli indirizzi IP privati in Azure.
- Informazioni su come Configurare gli indirizzi IP per un'interfaccia di rete di Azure.