Configurazione di IPv6 per istanze e modelli di istanze


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

Per ulteriori informazioni su IPv6, vedi Subnet IPv6 più intervalli.

Specifiche

  • Le VM con configurazioni sia IPv4 che IPv6 sono a doppio stack. Interfacce sulle VM a doppio stack è assegnato un singolo intervallo /96 di indirizzi IPv6; il il primo indirizzo IPv6 nell'intervallo (/128) è configurato nell'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 maggiori informazioni informazioni sulla configurazione di più interfacce di rete, consulta Panoramica di più interfacce di rete.

  • Per configurare indirizzi IPv6 su un'interfaccia VM, l'interfaccia deve essere connessa in un doppio stack subnet.

  • La configurazione del tipo di accesso IPv6 di una subnet determina se la subnet ha un nell'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 negazione in entrata IPv6 implicita protegge le istanze bloccando le connessioni in entrata 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 di firewall VPC 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 tramite DHCPv6. Il server dei metadati risponde le richieste DHCPv6 della VM e invia il primo indirizzo IPv6 (/128) dalla allocato /96 intervallo nella risposta.

  • Il server di metadati utilizza annuncio di route per pubblicare la route predefinita in 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 sui metadati server 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 locali del collegamento, che vengono assegnati dal Intervallo di fe80::/10, ma utilizzati solo per vicino per il rilevamento.

  • 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. Consulta le panoramica sull'unità massima di trasmissione per maggiori dettagli.

Crea una VM dual-stack

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

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

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 le seguenti operazioni:

    1. Nella sezione Interfacce di rete, espandi l'interfaccia di rete in modificarlo.

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

      Seleziona una subnet in cui è configurato un intervallo IPv6. 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:

      • Temporaneo per assegnare un nuovo indirizzo IPv4 temporaneo
      • Un indirizzo IPv4 riservato nell'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 nell'elenco
      • Crea un 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 il processo di creazione della VM.

  8. Fai clic su Crea.

gcloud

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

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 alla quale 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 la famiglia di immagini e il nome del progetto che contiene 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, predefinita o personalizzato, per la nuova VM. Ad esempio: n1-standard-1.
    • INSTANCE_NAME: il nome della nuova VM.
    • SUBNET: una subnet in cui è configurato il protocollo IPv6.
    • REGION: la regione della subnet.
    • IMAGE_URI: l'URI della image 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 sistema operativo nell'immagine Debian 10 famiglia.

Modificare il tipo di stack di una VM

Puoi modificare il tipo di stack di una VM esistente. Il tipo di stack può essere impostato una delle seguenti opzioni:

  • 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 cambiare la subnet a cui è connessa la VM, la VM e cambiare la subnet. 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. Dalla 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 gcloud compute instances network-interfaces update comando

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 viene eseguito il deployment dell'istanza.
  • STACK_TYPE: tipo di stack per la VM: IPV4_ONLY oppure 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, consulta la sezione Creazione di un'istanza modelli.

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 metodo Flag --instance-template-region per specificare la regione per l'istanza modello.

Nell'esempio seguente viene creato 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 che ha 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.

Nell'esempio seguente viene creato 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 dell'istanza modello.
  • MACHINE_TYPE: il tipo di macchina delle VM. Ad esempio, n1-standard-1.
  • SUBNET: una subnet che ha un intervallo di subnet IPv6.
  • REGION: la regione della subnet.
  • IMAGE_URI: l'URI della image 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 sistema operativo nell'immagine Debian 10 famiglia.

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