Risoluzione dei problemi delle VM con più interfacce di rete

Questa pagina fornisce i passaggi per la risoluzione dei problemi comuni che potresti riscontrare durante la creazione e l'utilizzo di VM con più interfacce di rete.

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 visualizzi questo messaggio di errore, stai tentando di creare più interfacce del numero massimo di interfacce supportate dal tipo di macchina dell'istanza. Consulta la tabella del numero massimo di interfacce.

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

    Se visualizzi 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 che non deve sovrapporsi alle subnet di altre interfacce. Ad esempio, se stai tentando di creare l'istanza nella regione REGION_A, puoi controllare gli intervalli CIDR principali della subnet utilizzando il seguente comando o la Google Cloud console.

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

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

    gcloud compute networks subnets describe overlapping-subnet --region REGION_A
    
    ...
    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 visualizzi questo messaggio, stai tentando di creare l'istanza in una rete legacy. Le istanze con più interfacce non sono supportate con le reti legacy. Puoi verificare se una rete è una rete legacy utilizzando uno dei seguenti metodi:

    • Nella Google Cloud console, vai alla pagina Reti VPC e controlla la colonna Modalità.
    • Esegui il comando gcloud compute networks list e controlla il campo SUBNET_MODE.
  • Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'

    Se visualizzi questo messaggio, l'account con cui hai eseguito l'accesso non dispone delle autorizzazioni IAM necessarie per creare un'istanza. Per ulteriori informazioni sui ruoli richiesti per la creazione di istanze, consulta Autorizzazioni, IAM e istanze con più interfacce di rete. Puoi verificare se la policy IAM associata al tuo progetto ti concede uno dei seguenti ruoli: OWNER, EDITOR o compute.instanceAdmin.v1. Per creare istanze in VPC condiviso, avrai bisogno anche del ruolo compute.networkUser. Nell'esempio seguente, l'account email2@gmail.com non dispone di autorizzazioni IAM sufficienti per creare un'istanza. Per istruzioni più dettagliate consulta la guida IAM Concedere, modificare e revocare l'accesso alle risorse.

    gcloud projects get-iam-policy PROJECT_ID
    bindings:
    - members:
      - user:email1@gmail.com
        role: roles/owner
    - members:
      - serviceAccount:our-project-123@
      - serviceAccount:123456789012-compute@
        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 un ruolo di OWNER, EDITOR o compute.instanceAdmin.v1. Avrai bisogno anche del ruolo compute.networkUser se associ un'interfaccia a una subnet appartenente a 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 firewall per verificare che consentano la connettività all'interfaccia secondaria della VM. Puoi eseguire questa verifica esaminando le regole firewall per la rete collegata all'interfaccia secondaria visitando Google Cloud console e facendo clic sulla rete VPC appropriata oppure utilizzando il seguente gcloud comando.

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

  • Verifica 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 con peering. Interfacce di rete multiple 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 le route sulla VM. Per informazioni dettagliate su come i programmi DHCP configurano le route predefinite nella VM, consulta Specifiche.

  • Se stai tentando di accedere a un indirizzo IPv6, consulta anche Non riesco a connettermi 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 IP esterno, hai due opzioni. Se devi connetterti all'esterno della rete solo sull'interfaccia di rete secondaria, puoi impostare una route predefinita su questa interfaccia di rete. In alternativa, 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 policy di origine nella VM.

Se stai tentando di accedere a un indirizzo IPv6, consulta anche Non riesco a connettermi 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 google-guest-agent versione 20220603.00 o successive. Per ulteriori informazioni sulla gestione delle google-guest-agent versioni, consulta Ambiente guest.

Se hai una versione precedente di google-guest-agent, le interfacce secondarie non ricevono una route della subnet IPv6. Ti consigliamo di aggiornare l'agente guest in modo che le route siano configurate correttamente.

Tuttavia, come soluzione alternativa, puoi creare uno script di avvio per apportare la seguente modifica alla 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.

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

Per informazioni sulla configurazione delle interfacce di rete con maschere di rete diverse da /32, consulta Maschere di rete delle istanze di Compute.

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 è collegata a una rete VPC diversa dalla rete VPC dell'istanza che emette la query DNS, la query DNS non riesce. Il DNS interno viene risolto solo all'interno di una determinata rete VPC. Per ulteriori informazioni, consulta DNS interno di Compute Engine.

Ricevo un errore durante l'eliminazione di una NIC dinamica aggiornando le proprietà dell'istanza

In rari casi, se elimini una NIC (Network Interface Card) dinamica quando aggiorni le proprietà di un'istanza, l'aggiornamento potrebbe non riuscire. Dopo l'errore, l'istanza torna allo stato originale. In casi molto rari, è possibile che la NIC dinamica rimanga eliminata.

Se riscontri questo problema:

  • Per risolvere il problema: utilizza di nuovo lo stesso comando o la stessa richiesta per aggiornare le proprietà dell'istanza. La riesecuzione dell'operazione garantisce che l'istanza raggiunga lo stato specificato nella richiesta originale.

  • Per evitare che il problema si ripresenti: non eliminare le NIC dinamiche da un'istanza aggiornando le proprietà dell'istanza. Elimina invece le NIC dinamiche direttamente come descritto in Eliminare le NIC dinamiche.

Ricevo un errore durante l'eliminazione di una NIC dinamica aggiornando le configurazioni del gruppo di istanze gestite

In rari casi, se elimini una NIC dinamica quando aggiorni le configurazioni delle istanze in un gruppo di istanze gestite, l'aggiornamento potrebbe non riuscire. Dopo l'errore, le istanze tornano allo stato originale.

Compute Engine risolve automaticamente questo problema riprovando l'operazione di aggiornamento finché non va a buon fine. Puoi controllare periodicamente lo stato delle istanze gestite finché l'errore dell'ultimo tentativo non viene risolto.

Risoluzione dei problemi tramite la console seriale

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