Panoramica del forwarding del protocollo

Il forwarding dei protocolli utilizza una regola di inoltro regionale per inviare i pacchetti di un protocollo specifico a una singola istanza di una macchina virtuale (VM). La regola di inoltro può avere un indirizzo IP interno o esterno. Il forwarding del protocollo invia i pacchetti mantenendo l'indirizzo IP di destinazione della regola di forwarding. La regola di forwarding fa riferimento a un oggetto chiamato istanza target, che a sua volta fa riferimento a una singola istanza VM.

Puoi utilizzare il forwarding del protocollo per:

  • Fornisci un indirizzo IP che può essere spostato da un'istanza all'altra modificando la VM a cui fa riferimento l'oggetto istanza di destinazione o l'istanza di destinazione a cui fa riferimento la regola di forwarding.
  • Inoltra i pacchetti a VM diverse in base a protocollo e porta. Due regole di inoltro possono condividere lo stesso indirizzo IP purché le informazioni su porta e protocollo siano univoche.
  • (Solo inoltro del protocollo esterno) Definisci indirizzi IP esterni aggiuntivi per una determinata interfaccia di rete. A differenza di un'interfaccia di rete con una configurazione NAT 1:1 per l'indirizzo IPv4 esterno, l'inoltro del protocollo conserva l'indirizzo IP di destinazione della regola di forwarding.
  • Invia i pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di forwarding.

Il reindirizzamento dei protocolli è diverso da un balanzatore del carico pass-through per i seguenti motivi:

  • Nessun bilanciamento del carico. Un'istanza di destinazione distribuisce i pacchetti solo a una singola VM.
  • Nessun controllo di integrità. A differenza di un servizio di backend, un'istanza di destinazione non supporta un controllo di integrità. Devi utilizzare altri mezzi per assicurarti che il software necessario sia in esecuzione e operativo sulla VM a cui fa riferimento l'istanza di destinazione.

Architettura

Il forwarding del protocollo utilizza regole di inoltro esterne o interne regionali e un oggetto istanza di destinazione zonale. L'istanza di destinazione e la VM a cui fa riferimento devono trovarsi in una zona della regione della regola di forwarding.

  • Forwarding del protocollo esterno. Puoi configurare più regole di inoltro per far puntare a una singola istanza di destinazione, il che ti consente di utilizzare più indirizzi IP esterni con una singola istanza VM. Puoi utilizzarlo in scenari in cui potresti voler pubblicare i dati di una sola istanza VM, ma tramite indirizzi IP esterni diversi o protocolli e porte diversi. Questa operazione è particolarmente utile per la configurazione dell'hosting virtuale SSL. L'inoltro del protocollo esterno può gestire le connessioni da client IPv6.

    Il forwarding dei protocolli esterni supporta i seguenti protocolli: AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP

    Il seguente diagramma mostra un esempio di architettura di inoltro del protocollo esterno. Per scoprire come configurare questa opzione, consulta l'articolo Configurare il forwarding del protocollo esterno.

    Architettura di inoltro del protocollo esterno.
    Architettura di inoltro del protocollo esterno
  • Forwarding del protocollo interno. L'inoltro di protocolli interni utilizza un indirizzo IPv4 interno regionale (dall'intervallo di indirizzi IPv4 principale di una subnet) o un indirizzo IPv6 interno regionale (dall'intervallo di indirizzi IPv6 di una subnet).

    Il forwarding dei protocolli interni supporta i protocolli TCP e UDP.

    Il seguente diagramma mostra un esempio di architettura di forwarding del protocollo interno. Per scoprire come configurare questa opzione, consulta Configurare il forwarding del protocollo interno.

    Architettura di inoltro del protocollo interno.
    Architettura di inoltro dei protocolli interni

    Con il forwarding del protocollo interno, puoi modificare il target di una regola di forwarding per passare da un'istanza di destinazione a un servizio di backend di un bilanciatore del carico passthrough. Per maggiori dettagli, vedi Passare da un'istanza di destinazione a un servizio di backend.

Regole di forwarding

Ogni regola di forwarding corrisponde a un indirizzo IP, a un protocollo e, facoltativamente, a informazioni sulla porta (se specificate e se il protocollo supporta le porte). Quando una regola di forwarding fa riferimento a un'istanza di destinazione, Google Cloud instrada i pacchetti corrispondenti alla specifica di indirizzo, protocollo e porta della regola di inoltro alla VM a cui fa riferimento l'istanza di destinazione.

  • Forwarding del protocollo interno:

    • Supporto degli indirizzi IPv4: un indirizzo IPv4 interno regionale (statico riservato o temporaneo) dall'intervallo IPv4 principale di una subnet.

    • Supporto degli indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo di /96 indirizzi IP dall'intervallo di indirizzi IPv6 interno /64 della subnet. La subnet deve essere una subnet a doppio stack con ipv6-access-type impostato su INTERNAL. Gli indirizzi IPv6 interni sono disponibili solo nel livello Premium. La prenotazione di un indirizzo IPv6 interno regionale è supportata solo per le istanze, quindi devi utilizzare un indirizzo IPv6 temporaneo per la regola di forwarding.

    • Opzioni di protocollo: TCP(predefinito) e UDP.

    • Opzioni di specifica delle porte:un elenco di massimo cinque porte contigue o non contigue o tutte le porte.

  • Inoltro del protocollo esterno:

    • Supporto degli indirizzi IPv4: la regola di forwarding fa riferimento a un singolo indirizzo IPv4 esterno regionale. Gli indirizzi IPv4 esterni regionali provengono da un pool univoco per ogni regione Google Cloud. L'indirizzo IP può essere un indirizzo statico riservato o un indirizzo temporaneo.

    • Supporto degli indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo di /96 indirizzi IP dall'intervallo di indirizzi IPv6 esterni /64 della subnet. La subnet deve essere una subnet a doppio stack con ipv6-access-type impostato su EXTERNAL. Gli indirizzi IPv6 esterni sono disponibili solo nel livello Premium. L'intervallo di indirizzi IPv6 può essere un indirizzo statico riservato o un indirizzo temporaneo.

    • Opzioni di protocollo: AH, ESP, ICMP, SCTP, TCP (predefinito), UDP e L3_DEFAULT:

      • L'impostazione del protocollo della regola di forwarding L3_DEFAULT può essere utilizzata per gestire tutto il traffico del protocollo IP.
      • Le regole di inoltro IPv6 non supportano l'impostazione del protocollo ICMP perché il protocollo ICMP supporta solo gli indirizzi IPv4. Per gestire il traffico ICMPv6 e GRE, imposta il protocollo della regola di forwarding su L3_DEFAULT.
    • Opzioni di specifica della porta:un intervallo di porte contigue o tutte le porte.

Tieni presente quanto segue quando utilizzi le regole di inoltro:

  • Per l'inoltro del protocollo, una regola di forwarding può fare riferimento a una sola istanza di destinazione.

  • Per i bilanciatori del carico di rete passthrough interni e i bilanciatori del carico di rete passthrough esterni basati sui servizi di backend, una regola di forwarding può fare riferimento a un solo servizio di backend.

  • Puoi passare dal forwarding del protocollo interno a un bilanciatore del carico di rete passthrough interno senza eliminare e ricreare la regola di forwarding. Per passare dal forwarding del protocollo esterno a un bilanciatore del carico di rete passthrough esterno basato su servizio di backend, devi eliminare e ricreare la regola di forwarding. Per maggiori dettagli, consulta Passare da un'istanza di destinazione a un servizio di backend.

  • Le informazioni sulla porta possono essere specificate solo per i protocolli che hanno un concetto di porta: TCP, UDP o SCTP.

  • L'opzione di protocollo L3_DEFAULT inoltra tutti i protocolli AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP. Per i protocolli TCP, UDP e SCTP, L3_DEFAULT inoltra tutte le porte.

  • Se prevedi pacchetti UDP frammentati, esegui una delle seguenti operazioni per assicurarti che tutti i frammenti (inclusi quelli senza informazioni sulla porta) vengano inviati all'istanza:

    • Utilizza una singola regola di forwarding L3_DEFAULT oppure
    • Utilizza una singola regola di forwarding UDP configurata per inoltrare tutte le porte.

Istanze di destinazione

Un'istanza di destinazione è una risorsa di zona che fa riferimento a un'istanza VM nella stessa zona. La regola di forwarding che fa riferimento all'istanza di destinazione deve trovarsi nella regione contenente la zona dell'istanza di destinazione. Poiché a un'istanza di destinazione non è applicato un criterio Cloud NAT, può essere utilizzata per il traffico IPsec che non può attraversare NAT.

Supporto di più NIC

Un'istanza di destinazione supporta la specifica dell'interfaccia di rete (NIC) dell'istanza VM a cui fa riferimento. Utilizza il flag --network per specificare il nome di una rete VPC in cui la VM a cui si fa riferimento ha una NIC:

  • Se ometti il flag --network, l'istanza di destinazione invia i pacchetti all'interfaccia nic0 della VM a cui fa riferimento.
  • Se utilizzi il flag --network, la VM a cui fa riferimento l'istanza di destinazione deve avere una NIC nella rete VPC.
  • Per il forwarding del protocollo interno, la subnet utilizzata dalla regola di forwarding deve trovarsi nella rete VPC utilizzata dall'interfaccia di rete dell'istanza di destinazione.

Supporto IPv6

Se vuoi che il deployment del forwarding del protocollo esterno supporti il traffico IPv6, l'istanza VM deve essere configurata in una subnet a doppio stack che si trovi nella stessa regione della regola di forwarding IPv6. Puoi utilizzare una sottorete con ipv6-access-type impostato su EXTERNAL o INTERNAL per l'istanza VM. L'utilizzo di una subnet con ipv6-access-type impostato su INTERNAL richiede l'utilizzo di una subnet a doppio stack separata con ipv6-access-type impostato su EXTERNAL per la regola di inoltro esterno. Per istruzioni, vedi Aggiungere una sottorete dual-stack.

Inoltre, l'istanza VM stessa deve essere un'istanza dual-stack. Imposta stack-type della VM su IPv4_IPv6. La VM eredita l'impostazione ipv6-access-type (EXTERNAL o INTERNAL) dalla sottorete. Per le istruzioni, consulta Creare una VM e attivare IPv6. Se vuoi utilizzare una VM esistente, aggiornala in modo che sia dual-stack utilizzando il comando gcloud compute instances network-interfaces update.

Indirizzi IP per i pacchetti di richiesta e risposta

Quando un'istanza di destinazione riceve un pacchetto da un client, gli indirizzi IP di origine e di destinazione del pacchetto di richiesta sono come mostrato in questa tabella.

Tabella 1. Indirizzi IP di origine e di destinazione per i pacchetti di richiesta
Tipo di forwarding del protocollo Indirizzo IP di origine Indirizzo IP di destinazione
Forwarding del protocollo esterno L'indirizzo IP esterno associato a una VM Google Cloud o un indirizzo IP esterno di un client su internet. L'indirizzo IP della regola di forwarding.
Inoltro del protocollo interno L'indirizzo IP interno di un client; per i client Google Cloud, l'indirizzo IPv4 o IPv6 interno principale o un indirizzo IPv4 di un intervallo IP alias dell'interfaccia di rete di una VM. L'indirizzo IP della regola di forwarding.

Il software in esecuzione sulle VM delle istanze di destinazione deve essere configurato per eseguire quanto segue:

  • Ascolta (associa a) l'indirizzo IP della regola di forwarding o a qualsiasi indirizzo IP (0.0.0.0 o ::).
  • Se il protocollo della regola di forwarding supporta le porte, ascolta (associa) una porta inclusa nella regola di forwarding.

I pacchetti di ritorno vengono inviati direttamente dall'istanza di destinazione al client. Gli indirizzi IP di origine e di destinazione del pacchetto di risposta dipendono dal protocollo:

  • TCP è un protocollo orientato alla connessione. Le istanze di destinazione devono rispondere con pacchetti che hanno indirizzi IP di origine corrispondenti all'indirizzo IP della regola di regola di forwarding. In questo modo, il client può associare i pacchetti di risposta alla connessione TCP appropriata.
  • AH, ESP, GRE, ICMP, ICMPv6 e UDP sono senza connessione. Le istanze di destinazione possono inviare pacchetti di risposta con indirizzi IP di origine corrispondenti all'indirizzo IP della regola di forwarding o a qualsiasi indirizzo IP assegnato alla NIC della VM nella stessa rete VPC della regola di forwarding. In pratica, la maggior parte dei client si aspetta che la risposta provenga dallo stesso indirizzo IP a cui ha inviato i pacchetti.

La tabella seguente riassume le origini e le destinazioni per i pacchetti di ritorno:

Tabella 2. Indirizzi IP di origine e di destinazione per i pacchetti di risposta
Tipo di traffico Indirizzo IP di origine Indirizzo IP di destinazione
TCP L'indirizzo IP della regola di forwarding. L'indirizzo IP di origine del pacchetto di richiesta.
AH, ESP, GRE, ICMP, ICMPv6 e UDP* Per la maggior parte dei casi d'uso, l'indirizzo IP della regola di inoltro. L'indirizzo IP di origine del pacchetto di richiesta.

* AH, ESP, GRE, ICMP e ICMPv6 sono supportati solo con il forwarding del protocollo esterno.

Con l'inoltro del protocollo interno, è possibile impostare la sorgente del pacchetto di risposta sull'indirizzo IPv4 o IPv6 interno principale della NIC della VM o su un intervallo di indirizzi IP alias. Se nella VM è attivato l'inoltro IP, è possibile utilizzare anche origini di indirizzi IP arbitrari. Il mancato utilizzo dell'indirizzo IP della regola di forwarding come origine è uno scenario avanzato perché il client riceve un pacchetto di risposta da un indirizzo IP interno che non corrisponde all'indirizzo IP a cui ha inviato un pacchetto di richiesta.

Connettività in uscita a internet dalle istanze di destinazione

Le istanze VM a cui fanno riferimento le istanze di destinazione possono avviare connessioni a internet utilizzando l'indirizzo IP della regola di forwarding associata come indirizzo IP di origine della connessione in uscita.

In genere, un'istanza VM utilizza sempre il proprio indirizzo IP esterno o Cloud NAT per avviare le connessioni. L'indirizzo IP della regola di forwarding viene utilizzato per avviare le connessioni dalle istanze di destinazione solo in scenari speciali, ad esempio quando è necessario che le istanze VM iniziano e ricevano connessioni allo stesso indirizzo IP esterno.

I pacchetti in uscita inviati dalle VM dell'istanza di destinazione direttamente a internet non hanno limitazioni per i protocolli e le porte di traffico. Anche se un pacchetto in uscita utilizza l'indirizzo IP della regola di regola di forwarding come origine, il protocollo e la porta di origine del pacchetto non devono corrispondere alla specifica della regola di forwarding e del protocollo della regola di inoltro. Tuttavia, i pacchetti di risposta in entrata devono corrispondere all'indirizzo IP, al protocollo e alla porta di destinazione della regola di forwarding. Per ulteriori informazioni, consulta Percorsi per i bilanciatori del carico di rete passthrough esterni e per il forwarding del protocollo esterno.

Questo percorso per la connettività a internet da una VM istanza di destinazione è il comportamento predefinito previsto in base alle regole del firewall implicite di Google Cloud. Tuttavia, se hai dubbi sulla sicurezza di lasciare aperto questo percorso, puoi utilizzare regole firewall in uscita mirate per bloccare il traffico in uscita non richiesto verso internet.

Limitazioni

  • Una regola di forwarding non può fare riferimento a più di un'istanza di destinazione.
  • I controlli di integrità non sono supportati con le istanze target. Devi assicurarti che il software necessario sia in esecuzione e operativo sulla VM a cui fa riferimento l'istanza di destinazione.
  • Il forwarding del protocollo interno per il traffico IPv6 presenta le seguenti limitazioni:
    • Il protocollo L3_DEFAULT non è supportato. Utilizza TCP o UDP.
    • Le NIC multiple non sono supportate.

API e riferimento gcloud

Per le regole di inoltro, consulta quanto segue:

Per le istanze target, consulta quanto segue:

Prezzi

Il forwarding del protocollo viene addebitato alla stessa tariffa del bilanciamento del carico. È previsto un addebito per la regola di forwarding e un addebito per i dati in entrata elaborati dall'istanza di destinazione.

Per tutte le informazioni sui prezzi, consulta la sezione Prezzi.

Quote e limiti

Per le quote relative alle regole di inoltro per il forwarding del protocollo, consulta Quote e limiti: regole di inoltro.

Passaggi successivi