Configurazione di IPv6 per istanze e modelli di istanze


Puoi configurare gli indirizzi IPv6 su un'istanza di macchina virtuale (VM) se la subnet a cui è connessa la VM ha un intervallo IPv6 configurato.

Per ulteriori informazioni su IPv6, consulta Intervalli di subnet IPv6.

Specifiche

  • Le VM con configurazioni sia IPv4 che IPv6 sono a doppio stack. Alle interfacce delle VM a doppio stack viene allocato un singolo intervallo /96 di indirizzi IPv6; il primo indirizzo IPv6 dell'intervallo (/128) è configurato sull'interfaccia. L'indirizzo IPv6 si aggiunge a eventuali indirizzi IPv4 configurati sull'interfaccia. Non puoi configurare una VM in modo che abbia solo indirizzi IPv6.

  • Qualsiasi interfaccia della VM può avere indirizzi IPv6 configurati. Per ulteriori informazioni sulla configurazione di più interfacce di rete, consulta la panoramica di più interfacce di rete.

  • Per configurare gli indirizzi IPv6 su un'interfaccia VM, l'interfaccia deve essere collegata a una subnet a doppio stack.

  • La configurazione del tipo di accesso IPv6 di una subnet determina se la subnet ha un intervallo IPv6 interno o esterno. Le VM connesse ereditano il tipo di accesso IPv6 dalla subnet.

Accesso alle VM tramite indirizzi IPv6

La regola firewall di traffico in entrata IPv6 implicita protegge le istanze bloccando le connessioni in arrivo ai relativi indirizzi IPv6. Per accedere alle VM utilizzando i relativi indirizzi IPv6, devi avere una regola di priorità più elevata che consenta l'accesso in entrata.

Per ulteriori informazioni sulle regole firewall, consulta la panoramica del firewall VPC e la panoramica dei criteri firewall gerarchici.

Ad esempio, per le regole firewall VPC, consulta Configurare le regole firewall per i casi d'uso comuni.

Assegnazione di indirizzi IPv6

  • Alle VM viene assegnato un indirizzo IPv6 utilizzando DHCPv6. Il server di metadati risponde alle richieste DHCPv6 della VM e invia in risposta il primo indirizzo IPv6 (/128) dall'intervallo /96 allocato.

  • Il server dei metadati utilizza l'annuncio di route per pubblicare la route predefinita per la VM. La VM può quindi utilizzare questa route predefinita per tutto il traffico IPv6.

    Puoi trovare la route predefinita per l'interfaccia di una VM eseguendo una query sul server di metadati per la voce gateway-ipv6.

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
    

    Per ulteriori informazioni sul server dei metadati, consulta Eseguire query sui metadati della VM.

  • Le VM sono configurate con indirizzi IP link-local, che vengono assegnati dall'intervallo fe80::/10, ma vengono utilizzati solo per il rilevamento dei vicini.

  • La configurazione MTU sull'interfaccia di rete della VM si applica sia ai pacchetti IPv4 che IPv6, ma non tutti i valori MTU sono supportati in tutte le circostanze. Per maggiori dettagli, consulta la panoramica delle unità massime di trasmissione.

Crea una VM dual-stack

Per creare una VM a doppio stack, connettila a una subnet a doppio stack.

Se utilizzi la Rete VPC condiviso e vuoi creare una VM a doppio stack collegata a una subnet condivisa, consulta la sezione Creare un'istanza nella documentazione della Rete VPC condiviso.

Console

  1. Vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Inserisci un nome per l'istanza.

  3. Seleziona una regione contenente una subnet con un intervallo IPv6 configurato.

  4. Seleziona una Zona.

  5. Espandi la sezione Opzioni avanzate.

  6. Espandi Networking ed esegui i seguenti 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.

      Seleziona una subnet con un intervallo IPv6 configurato. Il tipo di accesso IPv6 della subnet determina se la VM riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.

    3. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).

    4. Per Indirizzo IP interno principale, seleziona una delle seguenti opzioni:

      • Ephemeral per assegnare un nuovo indirizzo IPv4 temporaneo
      • Un indirizzo IPv4 riservato dall'elenco
      • Statico per assegnare un nuovo indirizzo IPv4 statico
    5. 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 riservato dall'elenco
      • Crea nuovo indirizzo IP per assegnare un nuovo indirizzo IPv4 statico.
    6. Per completare la modifica dell'interfaccia di rete, fai clic su Fine.

  7. Continua con la procedura di creazione della VM.

  8. Fai clic su Crea.

gcloud

Crea un'istanza utilizzando il gcloud compute instances create comando.

gcloud compute instances create INSTANCE_NAME \
  --subnet=SUBNET_NAME \
  --zone=ZONE \
  --stack-type=IPV4_IPV6

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • SUBNET_NAME: la subnet a cui connettere l'istanza. La subnet deve avere un intervallo di subnet IPv6.
  • ZONE: la zona in cui eseguire il deployment dell'istanza.

REST

  1. Seleziona un'immagine. Prendi nota del nome dell'immagine o della famiglia di immagini e del nome del progetto contenente l'immagine.
  2. Utilizza il metodo instances.insert per creare una VM da una famiglia di immagini o da una versione specifica di un'immagine del sistema operativo:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui creare la VM
    • ZONE: la zona in cui creare la VM

    Esempio di corpo della richiesta:

    {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "INSTANCE_NAME",
     "networkInterfaces": [
       {
         "subnetwork": "regions/REGION/subnetworks/SUBNET",
         "stackType": "IPV4_IPV6"
       }
     ],
     "disks": [
       {
         "initializeParams": {
           "sourceImage": "IMAGE_URI"
         },
         "boot": true
       }
     ],
    }
    

    Sostituisci quanto segue:

    • MACHINE_TYPE_ZONE: zona contenente il tipo di macchina da utilizzare per la nuova VM
    • MACHINE_TYPE: tipo di macchina, predefinito o personalizzato, per la nuova VM. Ad esempio: n1-standard-1.
    • INSTANCE_NAME: il nome della nuova VM.
    • SUBNET: una subnet in cui è configurato IPv6.
    • REGION: la regione della subnet.
    • IMAGE_URI: l'URI dell'immagine che vuoi utilizzare.

      Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

Modificare il tipo di stack di una VM

Puoi modificare il tipo di stack di una VM esistente. Il tipo di pila può essere impostato su uno dei seguenti valori:

  • Solo IPv4 (stack singolo)
  • IPv4 e IPv6 (stack doppio)

Se modifichi il tipo di stack in doppio stack, la VM deve essere connessa a una subnet a doppio stack. Se devi modificare la sottorete a cui è connessa la VM, arrestala e modifica la sottorete. Dopo l'aggiornamento della subnet, puoi modificare il tipo di stack IP della VM.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome dell'istanza a cui vuoi assegnare un indirizzo IPv6.
  3. Nella pagina dei dettagli dell'istanza, completa i seguenti passaggi:
    1. Fai clic su Modifica.
    2. In Interfacce di rete, espandi l'interfaccia che vuoi modificare.
    3. Seleziona il tipo di stack IP: Solo IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
    4. Fai clic su Fine.
  4. Fai clic su Salva.

gcloud

Aggiorna il tipo di stack di una VM utilizzando il comando gcloud compute instances network-interfaces update

gcloud compute instances network-interfaces update INSTANCE_NAME \
  --stack-type=STACK_TYPE \
  --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • ZONE: la zona in cui è stato eseguito il deployment dell'istanza.
  • STACK_TYPE: il tipo di stack per la VM: IPV4_ONLY o IPV4_IPV6.

REST

Aggiorna il tipo di stack di una VM inviando una richiesta PATCH al instances.updateNetworkInterface metodo.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONEinstances/INSTANCE_NAME/updateNetworkInterface

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'istanza.
  • ZONE: la zona in cui è stato eseguito il deployment dell'istanza.
  • INSTANCE_NAME: il nome dell'istanza.

Esempio di corpo della richiesta:

{
  "stackType": "STACK_TYPE",
}

Sostituisci STACK_TYPE con il tipo di stack per la VM: IPV4_ONLY o IPV4_IPV6.

Crea un modello di istanza con indirizzi IPv6

Puoi creare un modello di istanza regionale o globale che può essere utilizzato per creare VM dual-stack. Per ulteriori informazioni, vedi Creare modelli di istanza.

Devi utilizzare Google Cloud CLI o REST per creare un modello di istanza che crei VM dual-stack.

gcloud

Per creare un modello di istanza regionale o globale, utilizza il comando gcloud compute instance-templates create. Se vuoi creare un modello di istanza regionale, devi utilizzare il flag --instance-template-region per specificare la regione per il modello di istanza.

L'esempio seguente crea un modello di istanza globale:

gcloud compute instance-templates create TEMPLATE_NAME \
    --subnet=SUBNET \
    --stack-type=IPV4_IPV6

Sostituisci quanto segue:

  • TEMPLATE_NAME: il nome del modello.
  • SUBNET: una subnet con un intervallo di subnet IPv6.

REST

Per creare un modello di istanza regionale, utilizza il metodo regionInstanceTemplates.insert oppure, per creare un modello di istanza globale, utilizza il metodo instanceTemplates.insert.

L'esempio seguente crea un modello di istanza globale:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

Sostituisci PROJECT_ID con l'ID progetto.

Esempio di corpo della richiesta:

{
  "name": "INSTANCE_TEMPLATE_NAME"
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "subnetwork": "regions/REGION/subnetworks/SUBNET",
        "stackType": "IPV4_IPV6",
      },
    ],
    "disks":
    [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "IMAGE_URI"
        }
      }
    ]
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina delle VM. Ad esempio, n1-standard-1.
  • SUBNET: una subnet con un intervallo di subnet IPv6.
  • REGION: la regione della subnet.
  • IMAGE_URI: l'URI dell'immagine che vuoi utilizzare.

    Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

Per scoprire di più sui parametri di richiesta, consulta il metodo instanceTemplates.insert.