Creare VM con più interfacce di rete

Per impostazione predefinita, ogni istanza di macchina virtuale (VM) in una rete Virtual Private Cloud (VPC) ha una singola interfaccia di rete. Tuttavia, puoi configurare un'istanza con più interfacce di rete. Quando utilizzi più interfacce di rete da un'istanza, ciascuna interfaccia deve essere collegata a una subnet in una rete VPC diversa. Non puoi collegare più interfacce di rete alla stessa subnet o a subnet che si trovano nella stessa rete VPC.

Puoi configurare le interfacce VM solo con indirizzi IPv4 (stack singolo) o con indirizzi IPv4 e IPv6 (stack doppio).

Se non hai bisogno di più interfacce di rete, segui la procedura per la creazione e l'avvio di un'istanza per creare istanze con la configurazione di rete predefinita.

Per saperne di più sulle interfacce di rete multiple e sul loro funzionamento, consulta Più interfacce di rete.

Specifiche

  • Puoi configurare un'interfaccia di rete solo quando crei un'istanza.
  • Non puoi configurare più interfacce di rete per le istanze bare metal di Compute Engine.
  • Se crei un'istanza con più interfacce di rete, ogni interfaccia deve essere connessa a una rete VPC diversa. Le reti possono essere reti VPC autonome o reti VPC condiviso.
  • Un'interfaccia di rete deve connettersi a una subnet con un intervallo di indirizzi IP che non si sovrapponga all'intervallo di indirizzi IP di un'altra interfaccia nella stessa istanza.
  • Se vuoi creare una VM collegata a subnet in più reti VPC, tutte le reti e le subnet devono essere esistenti prima di creare l'istanza. Per ulteriori informazioni sulla creazione di reti e subnet, consulta Creare e gestire reti VPC.
  • Non puoi eliminare un'interfaccia di rete senza eliminare l'istanza a cui è collegata.
  • Ogni istanza deve avere un minimo di un'interfaccia di rete e un massimo di acht, a seconda del tipo di macchina dell'istanza:

    • nic0 è obbligatorio e deve essere configurato al momento della creazione dell'istanza.
    • nic1 e nic7 sono facoltativi, ma devono essere configurati anche al momento della creazione dell'istanza.

    Per ulteriori informazioni, consulta la sezione Numero massimo di interfacce.

  • Ogni interfaccia può avere facoltativamente un indirizzo IPv4 esterno.

  • Se colleghi una VM a una subnet con un intervallo di subnet IPv6 interno o esterno, facoltativamente puoi configurare un indirizzo IPv6 interno o esterno.

  • Il server DHCP di Google Cloud invia una route predefinita (RFC 3442, "classless static route") solo all'interfaccia di rete predefinita, nic0. Se è necessaria una route predefinita su un'altra interfaccia di rete, devi configurare il routing dei criteri nell'istanza. Per un esempio di come eseguire questa operazione, consulta il seguente tutorial: Configurare il routing per un'interfaccia aggiuntiva.

  • Tutte le interfacce di rete della VM devono connettersi a subnet nelle reti che si trovano nello stesso progetto della VM o a una rete VPC condiviso condivisa con il progetto.

Limitazioni

  • Non puoi aggiungere o rimuovere interfacce di rete da una VM esistente.

  • L'IP forwarding è abilitato a livello di VM e non può essere applicato alle singole interfacce.

Autorizzazioni, IAM e istanze con più interfacce di rete

Per creare un'istanza con più interfacce di rete, devi disporre di uno dei seguenti ruoli:

Creazione ed eliminazione di istanze e modelli di istanze con più interface in un progetto che non utilizza un ambiente VPC condiviso: un utente con il ruolo Proprietario, Editor o Amministratore istanze Compute (v1) a livello di progetto può creare un'istanza con più interfacce associate alle reti e alle subnet VPC che fanno parte dello stesso progetto.

Creazione ed eliminazione di istanze e modelli di istanze con più interfacce negli ambienti VPC condiviso: un utente con il ruolo Proprietario, Editor o Amministratore istanze Compute (v1) a livello di progetto può creare un'istanza con più interfacce. Se una delle interfacce è collegata a una subnet in un progetto host VPC condiviso, devi disporre anche del ruolo Utente di rete Compute (roles/compute.networkUser) a livello di progetto host VPC condiviso o di subnet VPC condiviso.

Per scoprire di più sulle autorizzazioni, consulta la documentazione IAM di Compute Engine.

Utilizzare più interfacce di rete con tipi di reti VPC diversi

  • Le reti legacy non supportano più interfacce di rete.
  • Quando configuri più interfacce di rete, collega ogni interfaccia a una rete VPC in modalità automatica o a una rete VPC in modalità personalizzata.

Allocazione degli indirizzi IP dell'interfaccia di rete

  • Devi configurare ogni interfaccia di rete con un indirizzo IP interno primario allocato dall'intervallo di indirizzi IP principale di una subnet.
    • L'indirizzo interno principale assegnato a ciascuna delle interfacce in una singola istanza deve essere diverso.
  • Puoi scegliere di configurare ciascuna delle interfacce virtuali (NIC) con un indirizzo IP esterno univoco. Gli indirizzi esterni possono essere temporanei o riservati.

Numero massimo di interfacce di rete

Il numero di interfacce di rete virtuali varia in base al numero di vCPU con un minimo di 2 e un massimo di 8.

Utilizza la seguente tabella per determinare quante interfacce di rete possono essere collegate a un'istanza:

Numero di vCPU Numero di vNIC
2 o meno 2
4 fino a 4
6 fino a 6
8 o più fino a 8
Istanze bare metal di Compute Engine 1

Prima di iniziare

Crea istanze VM con più interfacce di rete

Per istruzioni generali sulla creazione di istanze, consulta Creare e avviare un'istanza VM.

Quando crei un'istanza, puoi aggiungere più interfacce di rete:

  • Nella console Google Cloud, aggiungi le interfacce di rete nella pagina Crea un'istanza, nella sezione Networking > Interfacce di rete.
  • Nell'interfaccia alla gcloud CLI, utilizza il comando instances create. Includi il flag --network-interface per ogni interfaccia, seguito da eventuali chiavi di rete appropriate, come ([network | subnet], private-network-ip, address, external-ipv6-address).

La prima interfaccia viene sempre creata come nic0 ed è sempre l'interfaccia predefinita. Questo è importante per alcuni altri aspetti della rete di Google Cloud. Ad esempio, i bilanciatori del carico di Google Cloud (ad eccezione dei bilanciatori del carico di rete passthrough) distribuiscono il traffico solo a nic0.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nel campo Nome, inserisci un nome per l'istanza.

  3. Nel campo Regione, seleziona una regione.

  4. Nel campo Zona, seleziona una zona.

  5. Nella sezione Opzioni avanzate, espandi Networking e segui questi passaggi:

    1. Nella sezione Interfacce di rete, espandi l'interfaccia di rete per modificarla.

    2. In Rete e Subnet, seleziona la rete e la subnet che vuoi utilizzare.

    Se vuoi configurare gli indirizzi IPv6 sull'interfaccia, seleziona una subnet in cui è configurato un intervallo di indirizzi IPv6. Il tipo di accesso IPv6 della subnet determina se la VM riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.

    1. Seleziona un tipo di stack IP: IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio)

    2. Per Indirizzo IPv4 interno principale, seleziona una delle seguenti opzioni:

      • Ephemeral per assegnare un nuovo indirizzo IPv4 temporaneo
      • Un indirizzo IPv4 interno statico prenotato dall'elenco
      • Prenota indirizzo IPv4 interno statico per prenotare e assegnare un nuovo indirizzo IPv4 interno statico
    3. Per Indirizzo IPv6 interno principale, seleziona una delle seguenti opzioni:

      • Allocato automaticamente per assegnare automaticamente un nuovo indirizzo IPv6 interno temporaneo
      • Un indirizzo IPv6 interno statico prenotato dall'elenco
      • Prenota indirizzo IPv6 interno statico per prenotare e assegnare un nuovo indirizzo IPv6 interno statico
    4. Per Indirizzo IPv4 esterno, seleziona una delle seguenti opzioni:

      • Ephemeral per assegnare un nuovo indirizzo IPv4 temporaneo
      • Nessuno per non assegnare un indirizzo IPv4 esterno
      • Un indirizzo IPv4 statico riservato dall'elenco
      • Prenota indirizzo IP esterno statico per prenotare e assegnare un nuovo indirizzo IPv4 esterno statico
    5. Per Indirizzo IPv6 esterno, seleziona una delle seguenti opzioni:

      • Allocazione automatica per assegnare automaticamente un nuovo indirizzo IPv6 esterno temporaneo
      • Un indirizzo IPv6 esterno statico prenotato dall'elenco
      • Prenota indirizzo IPv6 esterno statico per prenotare e assegnare un nuovo indirizzo IPv6 esterno statico
    6. Per completare la modifica dell'interfaccia di rete, fai clic su Fine.

  6. Per aggiungere un'altra interfaccia, fai clic su Aggiungi interfaccia di rete.

  7. Continua con la procedura di creazione della VM.

  8. Fai clic su Crea.

gcloud

Per creare interfacce di rete in una nuova istanza, utilizza il comando instances create.

Includi il flag --network-interface per ogni interfaccia, seguito da eventuali chiavi di rete appropriate, ad esempio network, subnet, private-network-ip, address e external-ipv6-address. Per visualizzare esempi di come creare VM con più interfacce, consulta Configurazioni di esempio.

Questo snippet illustra solo il flag --network-interface, uno dei molti parametri possibili che puoi specificare durante la creazione di un'istanza.

Per sapere quali tipi di macchine supportano il numero di interfacce di rete di cui hai bisogno, consulta la tabella Numero massimo di interfacce di rete.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --network-interface \
        network=NETWORK,subnet=SUBNET, \
        stack-type=STACK_TYPE, \
        address=EXTERNAL_IPV4_ADDRESS | no-address, \
        private-network-ip=INTERNAL_IPV4_ADDRESS \
        internal-ipv6-address=INTERNAL_IPV6_ADDRESS \
    ...
    --network-interface \
        network=NETWORK,subnet=SUBNET, \
        stack-type=STACK_TYPE, \
        external-ipv6-address=EXTERNAL_IPV6_ADDRESS, \
        external-ipv6-prefix-length=96 \
        ipv6-network-tier=PREMIUM \
    ...

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza VM da creare.
  • ZONE: la zona in cui viene creata l'istanza.
  • NETWORK: la rete a cui è collegata l'interfaccia.
  • SUBNET: la subnet a cui è collegata l'interfaccia.
  • STACK_TYPE: il tipo di stack per l'interfaccia.

    Il valore predefinito è IPV4_ONLY. Specifica IPV4_IPV6 per configurare un'interfaccia dual-stack.

  • EXTERNAL_IPV4_ADDRESS: assegna all'interfaccia l'indirizzo IPv4 esterno nominato.

    Devi aver precedentemente riservato un indirizzo IPv4 esterno. Specifica "no-address" anziché address=EXTERNAL_IPV4_ADDRESS se non vuoi che l'interfaccia abbia un indirizzo IP esterno. Specifica address='' se vuoi che l'interfaccia riceva un indirizzo IP esterno temporaneo.

  • INTERNAL_IPV4_ADDRESS: l'indirizzo IPv4 interno che vuoi che l'interfaccia abbia nella subnet di destinazione. Ometti se vuoi che venga assegnato un qualsiasi indirizzo valido.

  • INTERNAL_IPV6_ADDRESS: l'indirizzo IPv6 interno che vuoi che l'interfaccia abbia nella subnet di destinazione. Se ometti questo flag, non viene assegnato un indirizzo IPv6 interno.

  • EXTERNAL_IPV6_ADDRESS: assegna all'interfaccia l'indirizzo IPv4 esterno nominato.

    Devi aver riservato in precedenza un indirizzo IPv6 esterno. Specifica "no-address" anziché external-ipv6-address=EXTERNAL_IPV6_ADDRESS se non vuoi che l'interfaccia abbia un indirizzo IPv6 esterno. Specifica external-ipv6-address='' se vuoi che l'interfaccia riceva un indirizzo IPv6 esterno ephemeral.

API

Utilizza il metodo instances.insert per creare un'istanza VM con più interfacce di rete.

  • Per creare un'istanza VM con indirizzi IPv4 interni:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
    ....
    
    "networkInterfaces": [
      {
        "networkIP": "IPV4_ADDRESS",
        "subnetwork": "regions/REGION/subnetworks/SUBNETWORK"
      },
        for each interface, specify a network...
    ],
    other instance settings...
    }
    

    Sostituisci quanto segue:

    • SUBNET: la subnet in cui si trova l'interfaccia di rete.
    • REGION: la regione che contiene l'istanza.
    • PROJECT_ID: l'ID del progetto che contiene l'istanza.
    • ZONE: la zona che contiene l'istanza.
    • IPV4_ADDRESS: l'indirizzo IPv4 interno che vuoi assegnare all'interfaccia di rete.
  • Per creare un'istanza VM con indirizzi IPv6 interni:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
    ....
    
    "networkInterfaces": [
      {
        "subnetwork": "regions/REGION/subnetworks/SUBNETWORK"
        "ipv6Address": "IPV6_ADDRESS",
        "internalIpv6PrefixLength": 96,
        "stackType": IPV4_IPV6,
        "ipv6AccessType": INTERNAL
      },
        for each interface, specify a network...
    ],
    other instance settings...
    }
    

    Sostituisci quanto segue:

    • SUBNET: la subnet in cui si trova l'interfaccia di rete.
    • REGION: la regione che contiene l'istanza.
    • PROJECT_ID: l'ID del progetto che contiene l'istanza.
    • ZONE: la zona che contiene l'istanza.
    • IPV6_ADDRESS: l'indirizzo IPv6 interno che vuoi assegnare all'interfaccia di rete.

Terraform

Puoi utilizzare una risorsa Terraform per creare un'istanza VM con più interfacce di rete.

Gli argomenti Terraform hanno valori di esempio che puoi modificare.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace with your project ID in quotes
  zone         = "us-central1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    subnetwork = var.subnet_1 # Replace with self link to a subnetwork in quotes
    network_ip = "10.0.0.14"
  }
  network_interface {
    subnetwork = var.subnet_2 # Replace with self link to a subnetwork in quotes
    network_ip = "10.10.20.14"
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Configurazioni di esempio

Le sezioni seguenti mostrano come creare VM con più interfacce.

Configura più interfacce di rete con indirizzi IPv4

Il seguente comando di esempio crea un'istanza con tre interfacce di rete.

 gcloud compute instances create vm1 --machine-type=n1-standard-4 \
    --network-interface '' \
    --network-interface network=net1,subnet=subnet-a,private-network-ip=10.10.10.2,address=EXTERNAL_IPV4_ADDRESS \
    --network-interface network=net2,subnet=subnet-b,private-network-ip=10.10.20.2,no-address

Le interfacce vengono create come segue:

  • nic0 viene creato con le impostazioni predefinite. L'interfaccia è collegata a una subnet nella rete VPC predefinita, con un indirizzo IP interno allocato automaticamente e un indirizzo IP esterno temporaneo.

  • nic1 è collegato alla subnet subnet-a nella rete net1, con un indirizzo IPv4 interno 10.10.10.2 e un indirizzo IPv4 esterno statico EXTERNAL_IPV4_ADDRESS.

  • nic2 è collegata alla subnet subnet-b nella rete net2, con un indirizzo IPv4 interno 10.10.20.2 e nessun indirizzo IP esterno.

Per una descrizione completa del comando gcloud compute instances create e del flag --network-interface, leggi la documentazione del comando.

Puoi utilizzare l'indirizzo IP dell'interfaccia di rete che hai aggiunto per configurare il forwarding DNS. Per scoprire di più sulla configurazione delle zone di inoltro di Cloud DNS, consulta Zone di inoltro.

Configurare più interfacce di rete con indirizzi IPv4 e IPv6

Il seguente comando di esempio crea un'istanza a doppio stack con due interfacce di rete.

gcloud compute instances create vm1 \
--network-interface network=dual-int,subnet=int-subnet,stack-type=IPV4_IPV6 \
--network-interface network=dual-ext,subnet=ext-subnet,stack-type=IPV4_IPV6,ipv6-network-tier=PREMIUM \
--machine-type=n1-standard-4 --zone=us-west2-a

Le interfacce vengono create come segue:

  • nic0 è collegata alla subnet int-subnet nella rete dual-int, con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 interno temporaneo.

  • nic1 è collegato alla subnet ext-subnet nella rete dual-ext, con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 esterno temporaneo.

Configurare più interfacce di rete per i gruppi di istanze

Puoi utilizzare istanze con più interfacce di rete nei gruppi di istanze non gestite e nei gruppi di istanze gestite.

Per i gruppi di istanze non gestite, crea ogni istanza singolarmente, assicurandoti che l'interfaccia di rete nic0 di ogni VM sia collegata alla stessa sottorete. Poi, aggiungi le istanze VM al gruppo di istanze non gestite.

Per configurare più interfacce di rete per i gruppi di istanze gestite, devi specificare la configurazione di rete per ogni interfaccia nel modello di istanza impostando il flag --network-interface una volta per ogni interfaccia. Il seguente esempio crea un modello di istanza con tre interfacce di rete:

gcloud compute instance-templates create template-1 \
    --network-interface subnet=net0-subnet-a \
    --network-interface subnet=net1-subnet-b,no-address \
    --network-interface subnet=net2-subnet-c,no-address \
    --region us-central1

Poiché i nomi delle subnet in ogni regione di un progetto devono essere univoci, la specifica delle subnet per nome associa implicitamente ogni interfaccia a una rete VPC. Ogni interfaccia deve utilizzare una subnet in una rete VPC univoca:

  • nic0 utilizza la subnet net0-subnet-a
  • nic1 utilizza la subnet net1-subnet-b
  • nic2 utilizza la subnet net2-subnet-c

L'opzione no-address nel flag --network-interface indica che l'interfaccia è configurata senza un indirizzo IP esterno. L'indirizzo IP interno proviene dalla subnet utilizzata dall'interfaccia. Per informazioni complete sui parametri e sulla sintassi, consulta il parametro --network-interface per il comando instance-templates create.

Risoluzione dei problemi

Non riesco a creare una VM con più interfacce

Potresti visualizzare uno dei seguenti messaggi di errore:

  • Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.

    Se ricevi questo messaggio di errore, stai tentando di creare più interfacce rispetto al numero massimo supportato dal tipo di macchina dell'istanza. Consulta la tabella relativa al numero massimo di interfacce.

  • Networks must be distinct for NICs attached to a VM.

    Se ricevi questo messaggio, significa che stai tentando di creare più di un'interfaccia nella stessa rete. Ogni interfaccia di rete deve essere collegata a una rete VPC diversa.

  • Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.

    Se ricevi questo messaggio, gli intervalli CIDR associati alle interfacce della VM si sovrappongono. Questi intervalli CIDR includono tutti gli intervalli principali delle subnet associate alle interfacce VM, nonché gli intervalli secondari utilizzati per gli intervalli IP alias. Ogni interfaccia è collegata a una subnet, ciascuna in una rete VPC diversa, che non deve sovrapporsi alle subnet di altre interfacce. Ad esempio, se stai tentando di creare l'istanza nella regione us-west1, puoi controllare gli intervalli CIDR principali della sottorete utilizzando il seguente comando o la console Google Cloud.

    gcloud compute networks subnets list --regions us-west1
    NAME                REGION    NETWORK          RANGE
    default             us-west1  default          10.138.0.0/20
    overlapping-subnet  us-west1  test-network     10.138.8.0/24
    

    Per controllare gli intervalli CIDR delle subnet secondarie, utilizza il seguente comando o la console Google Cloud.

    gcloud compute networks subnets describe overlapping-subnet --region us-west1
    
    ...
    ipCidrRange: 10.128.8.0/24
    ...
    secondaryIpRanges:
    - ipCidrRange: 10.138.8.0/24
      rangeName: conflicting-range
    
  • Multiple network interfaces are not supported on legacy networks.

    Se ricevi questo messaggio, significa che stai tentando di creare l'istanza in una rete precedente. Le istanze con più interfacce non sono supportate con le reti legacy. Puoi verificare se una rete è legacy utilizzando il seguente comando o la console Google Cloud. Il campo Modalità indica il tipo di rete.

    gcloud compute networks list
    NAME             MODE    IPV4_RANGE     GATEWAY_IPV4
    default          auto
    legacy-network   legacy  10.240.0.0/16  10.240.0.1
    test-network     custom
    

  • Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'

    Se ricevi questo messaggio, significa che l'account con cui hai eseguito l'accesso non dispone delle autorizzazioni IAM necessarie per creare un'istanza. Consulta Autorizzazioni IAM per informazioni dettagliate sui ruoli richiesti per la creazione di istanze. Puoi verificare se il criterio IAM associato al tuo progetto ti concede uno dei seguenti ruoli: OWNER, EDITOR o compute.instanceAdmin.v1. Per creare istanze in VPC condiviso, devi disporre anche del ruolo compute.networkUser. Nell'esempio seguente, l'accountemail2@gmail.com non dispone di autorizzazioni IAM sufficienti per creare un'istanza. Per istruzioni più dettagliate, consulta la guida IAM Concessione, modifica e revoca dell'accesso alle risorse.

    gcloud projects get-iam-policy PROJECT_ID
    bindings:
    - members:
      - user:email1@gmail.com
        role: roles/owner
    - members:
      - serviceAccount:our-project-123@appspot.gserviceaccount.com
      - serviceAccount:123456789012-compute@developer.gserviceaccount.com
        role: roles/editor
    - members:
      - user:email2@gmail.com
        role: roles/viewer
    etag: BwUjMhXbSPU=
    version: 1
    

    Puoi chiedere al proprietario o all'editor del progetto di concederti il ruolo OWNER, EDITOR o compute.instanceAdmin.v1. È necessario anche il ruolo compute.networkUser se associ un'interfaccia a una subnet appartenente a una VPC condiviso.

    gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
    

Non riesco a connettermi all'indirizzo IP interno di un'interfaccia secondaria

  • Controlla le regole del firewall per verificare che consentano la connettività all'interfaccia secondaria della VM. Puoi controllare esaminando le regole firewall per la rete collegata all'interfaccia secondaria visitando la console Google Cloud e facendo clic sulla rete VPC appropriata oppure utilizzando il seguente comando gcloud.

    gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
    
  • Controlla se stai tentando di connetterti a un'interfaccia secondaria da un indirizzo internet o dall'esterno della rete dell'interfaccia secondaria. Puoi collegarti all'IP interno di un'interfaccia solo all'interno della relativa rete. Se devi accedere all'interfaccia dall'esterno della rete, puoi assegnare un indirizzo IP esterno all'interfaccia secondaria.

  • Controlla se stai tentando di connetterti all'IP interno dell'interfaccia secondaria dall'esterno della subnet a cui è collegata l'interfaccia secondaria, da un'altra subnet della stessa rete o da una rete in peer. Più interfacce di rete per istanza spiega l'interazione tra il peering VPC e le istanze VM con più interfacce. Per raggiungere le interfacce secondarie dall'esterno della subnet dell'interfaccia, potrebbe essere necessario configurare i percorsi sulla VM. Consulta Comportamento di DHCP con più interfacce di rete per informazioni dettagliate su come DHCP programma le route predefinite nella VM.

  • Se stai tentando di accedere a un indirizzo IPv6, consulta anche Impossibile connettersi all'indirizzo IPv6 di un'interfaccia secondaria.

Non riesco a connettermi a un'interfaccia secondaria utilizzando un indirizzo IP esterno

Il server DHCP programma una route predefinita solo sull'interfaccia di rete principale della VM. Se vuoi connetterti all'interfaccia secondaria utilizzando un indirizzo IP esterno, hai due opzioni. Se devi connetterti solo all'esterno della rete sull'interfaccia di rete secondaria, puoi impostare una route predefinita su quell'interfaccia. In caso contrario, puoi utilizzare l'approccio descritto nel tutorial Configurare il routing per un'interfaccia aggiuntiva per configurare una tabella di routing separata utilizzando il routing basato su criteri in base all'origine nella VM.

Se stai tentando di accedere a un indirizzo IPv6, consulta anche Impossibile connettersi all'indirizzo IPv6 di un'interfaccia secondaria.

Non riesco a connettermi all'indirizzo IPv6 di un'interfaccia secondaria

Se stai tentando di accedere a un indirizzo IPv6, verifica che sulla VM sia installata la versione google-guest-agent20220603.00 o successiva. Per saperne di più sulla gestione delle versioni google-guest-agent, consulta Ambiente ospite.

Se hai una versione precedente di google-guest-agent, le interfacce secondarie non ricevono un percorso di subnet IPv6. Ti consigliamo di aggiornare l'agente guest in modo che i percorsi siano configurati correttamente.

Tuttavia, come soluzione alternativa, puoi creare uno script di avvio per apportare la seguente modifica di configurazione per ogni interfaccia secondaria.

sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128

Sostituisci INTERFACE_NAME con il nome dell'interfaccia, ad esempio eth1 o ens5.

Ho problemi di connettività quando utilizzo una maschera di rete diversa da /32

Per impostazione predefinita, l'istanza server di metadati risponde solo alle richieste ARP per il gateway predefinito.

Per configurare interfacce con una maschera di rete diversa da /32, devi creare un'immagine utilizzando il flag --guest-os-features MULTI_IP_SUBNET e utilizzarla per creare la tua istanza. Ad esempio, se utilizzi un'immagine basata su debian-9, puoi creare un'immagine utilizzando il seguente comando:

gcloud compute images create debian-9-multi-ip-subnet \
     --source-disk debian-9-disk \
     --source-disk-zone us-west1-a \
     --guest-os-features MULTI_IP_SUBNET

Per visualizzare le funzionalità guest configurate sull'immagine, esegui il comando gcloud compute images describe sull'immagine guest.

gcloud compute images describe debian-9-multi-ip-subnet

Per saperne di più sulla creazione di immagini personalizzate, consulta Creare, eliminare e impostare come obsolete le immagini personalizzate.

Non riesco a risolvere il nome host interno di una VM con più interfacce di rete

Quando viene eseguita una query DNS con un nome host interno, viene risolta nell'interfaccia di rete principale (nic0) dell'istanza.

Se nic0 è collegato a una rete VPC diversa dalla rete VPC dell'istanza che esegue la query DNS, la query DNS non va a buon fine. Il DNS interno viene risolto solo all'interno di una determinata rete VPC. Per ulteriori informazioni, consulta la pagina Risoluzione DNS con più interfacce di rete.

Risoluzione dei problemi utilizzando la console seriale

Spesso è buona norma abilitare la console seriale su una VM per eseguire il debug di problemi relativi alla configurazione. Puoi attivare la console seriale per il debugging interattivo seguendo i passaggi descritti in Risoluzione dei problemi utilizzando la console seriale.