Panoramica del forwarding del protocollo

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

Puoi utilizzare l'inoltro 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 modificando l'istanza di destinazione a cui fa riferimento la regola di forwarding.
  • Inoltra i pacchetti a VM diverse in base al protocollo e alla porta. Due regole di inoltro possono condividere lo stesso indirizzo IP, a condizione che 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 il suo indirizzo IPv4 esterno, il forwarding del protocollo conserva l'indirizzo IP di destinazione della regola di forwarding.
  • Invia pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di forwarding.

Il forwarding del protocollo è diverso da un bilanciatore del carico pass-through nei seguenti modi:

  • Nessun bilanciamento del carico. Un'istanza di destinazione distribuisce i pacchetti a una sola 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 forwarding esterne regionali o interne regionali e un oggetto istanza di destinazione a livello di zona. L'istanza di destinazione e la VM a cui fa riferimento devono trovarsi in una zona nella regione della regola di forwarding.

  • Forwarding del protocollo esterno. Puoi configurare più regole di forwarding per indirizzare a una singola istanza di destinazione, il che ti consente di utilizzare più indirizzi IP esterni con una VM. Puoi utilizzarlo in scenari in cui potresti voler pubblicare dati da una sola istanza VM, ma tramite diversi indirizzi IP esterni o diversi protocolli e porte. Ciò è particolarmente utile per configurare l'hosting virtuale SSL. Il forwarding del protocollo esterno può gestire le connessioni dai client IPv6.

    L'inoltro di 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 configurarlo, consulta Configurare l'inoltro del protocollo esterno.

    Architettura di inoltro del protocollo esterno.
    Architettura di inoltro del protocollo esterno (fai clic per ingrandire).
  • Forwarding del protocollo interno. Il forwarding del protocollo interno utilizza un indirizzo IPv4 interno regionale (dall'intervallo di indirizzi IPv4 principale di una subnet) o un intervallo di indirizzi IPv6 interni regionali (dall'intervallo di indirizzi IPv6 di una subnet).

    Il forwarding del protocollo interno supporta i protocolli TCP e UDP.

    Il seguente diagramma mostra un esempio di architettura di forwarding del protocollo interno. Per scoprire come configurarlo, consulta Configurare l'inoltro del protocollo interno.

    Architettura di forwarding del protocollo interno.
    Architettura di forwarding del protocollo interno (fai clic per ingrandire).

    Con l'inoltro del protocollo interno, puoi modificare la destinazione di una regola di forwarding per passare da un'istanza di destinazione a un servizio di backend di un bilanciatore del carico pass-through. 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, un protocollo e, facoltativamente, informazioni sulla porta (se specificate e se il protocollo supporta le porte). Quando una regola di forwarding fa riferimento a un'istanza di destinazione, Trusted Cloud by S3NS instrada i pacchetti che corrispondono all'indirizzo, al protocollo e alla specifica della porta della regola di forwarding alla VM a cui fa riferimento l'istanza di destinazione.

  • Forwarding del protocollo interno:

    • Supporto dell'indirizzo IPv4. Un indirizzo IPv4 interno regionale (statico prenotato o temporaneo) dall'intervallo IPv4 principale di una subnet.

    • Supporto degli indirizzi IPv6. La regola di forwarding fa riferimento a un intervallo /96 di indirizzi IP dall'intervallo di indirizzi IPv6 interno /64 della subnet. La subnet deve essere una delle seguenti:

      • Una subnet a doppio stack (IPv4 e IPv6)
      • Una subnet a stack singolo (solo IPv6)

    L'impostazione ipv6-access-type della subnet deve essere impostata su INTERNAL.

    Gli indirizzi IPv6 interni sono disponibili solo nel livello Premium. L'intervallo di indirizzi IPv6 può essere un indirizzo statico riservato o un indirizzo temporaneo.

    • Opzioni del protocollo. TCP(predefinito) e UDP.

    • Opzioni di specifica della porta. Un elenco di un massimo di cinque porte contigue o non contigue o tutte le porte.

  • Forwarding del protocollo esterno:

    • Supporto dell'indirizzo IPv4. La regola di forwarding fa riferimento a un singolo indirizzo IPv4 esterno regionale. Gli indirizzi IPv4 esterni a livello di regione provengono da un pool univoco per ogni Trusted Cloud regione. 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 /96 di indirizzi IP dall'intervallo di indirizzi IPv6 esterno /64 della subnet. La subnet deve essere una delle seguenti:

      • Una subnet a doppio stack (IPv4 e IPv6)
      • Una subnet a stack singolo (solo IPv6)

    La subnet ipv6-access-type deve essere impostata 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 del protocollo. AH, ESP, ICMP, SCTP, TCP (predefinito), UDP e L3_DEFAULT :

      • L'opzione del protocollo della regola di forwarding L3_DEFAULT inoltra tutto il traffico AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP. Per i protocolli TCP, UDP e SCTP, L3_DEFAULT inoltra anche tutte le porte.
      • Le regole di forwarding 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 contiguo o tutte le porte.

Quando utilizzi le regole di inoltro, tieni presente quanto segue:

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

  • 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 dall'inoltro di protocollo esterno a un bilanciatore del carico di rete passthrough esterno basato su un servizio di backend, devi eliminare e ricreare la regola di forwarding. Per maggiori dettagli, vedi Alternare un'istanza di destinazione e 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.

  • Se prevedi pacchetti UDP frammentati, procedi in uno dei seguenti modi 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 è applicata una policy Cloud NAT, può essere utilizzata per il traffico IPsec che non può attraversare NAT.

Supporto di più NIC

Il forwarding del protocollo che utilizza le istanze di destinazione supporta le istanze VM con interfacce di rete non nic0 (vNIC o interfacce di rete dinamiche) utilizzando il flag --network quando crei l'istanza di destinazione:

  • Se ometti il flag --network quando crei un'istanza di destinazione, Trusted Cloud distribuisce i pacchetti all'interfaccia nic0 della VM a cui viene fatto riferimento.
  • Se includi il flag --network quando crei un'istanza di destinazione, Trusted Cloud distribuisce i pacchetti alla NIC della VM di riferimento che si trova nella rete VPC specificata dal flag --network. Di conseguenza, la VM a cui viene fatto riferimento deve avere una NIC nella rete VPC specificata dal flag --network.
  • Il forwarding del protocollo interno e il forwarding del protocollo esterno IPv6 hanno il seguente requisito aggiuntivo perché le relative regole di forwarding utilizzano le subnet: quando configuri una regola di forwarding per fare riferimento a un'istanza di destinazione, la regola di forwarding deve utilizzare una subnet della rete VPC dell'istanza di destinazione. La regola di forwarding e l'istanza di destinazione non possono utilizzare reti VPC diverse, anche se queste reti sono connesse in qualche modo.

Supporto di IPv6 per le istanze VM

Se vuoi che il deployment dell'inoltro di protocolli supporti il traffico IPv6, l'istanza VM deve essere configurata in una subnet a doppio stack o solo IPv6 a stack singolo che si trova nella stessa regione della regola di forwarding IPv6.

Tieni presente che, sebbene le istanze solo IPv6 possano essere create in subnet a doppio stack e solo IPv6, le VM a doppio stack non possono essere create in subnet solo IPv6.

L'istanza VM può essere creata in una subnet con ipv6-access-type impostato su EXTERNAL o INTERNAL. La VM eredita l'impostazione ipv6-access-type (EXTERNAL o INTERNAL) dalla subnet.

Per istruzioni, consulta Crea un'istanza che utilizza indirizzi IPv6. Se vuoi utilizzare una VM esistente, puoi aggiornarla in modo che sia dual-stack utilizzando il comando gcloud compute instances network-interfaces update. L'aggiornamento delle VM esistenti a solo IPv6 non è supportato.

Indirizzi IP per i pacchetti di richiesta e di ritorno

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

Tabella 1. Indirizzi IP di origine e 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 Trusted Cloud o a un indirizzo IP esterno di un client su internet. L'indirizzo IP della regola di forwarding.
Forwarding del protocollo interno L'indirizzo IP interno di un client; per i Trusted Cloud client, 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 di istanza di destinazione deve essere configurato per eseguire le seguenti operazioni:

  • Ascolta (collega) l'indirizzo IP della regola di forwarding o qualsiasi indirizzo IP (0.0.0.0 o ::).
  • Se il protocollo della regola di forwarding supporta le porte, ascolta (collega) 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 è orientato alla connessione. Le istanze di destinazione devono rispondere con pacchetti che hanno indirizzi IP di origine corrispondenti all'indirizzo IP della regola di forwarding. Ciò garantisce che il client possa associare i pacchetti di risposta alla connessione TCP appropriata.
  • AH, ESP, GRE, ICMP, ICMPv6 e UDP non prevedono connessioni. Le istanze di destinazione possono inviare pacchetti di risposta con indirizzi IP di origine che corrispondono 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 riepiloga le origini e le destinazioni dei pacchetti di reso:

Tabella 2. Indirizzi IP di origine e destinazione per i pacchetti di ritorno
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 UDP1 Per la maggior parte dei casi d'uso, l'indirizzo IP della regola di forwarding.2 L'indirizzo IP di origine del pacchetto di richiesta.

1 AH, ESP, GRE, ICMP e ICMPv6 sono supportati solo con l'inoltro del protocollo esterno.

2 Con il forwarding del protocollo interno, è possibile impostare l'origine del pacchetto di risposta sull'indirizzo IPv4 o IPv6 interno primario della NIC della VM o su un intervallo di indirizzi IP alias. Se l'inoltro IP è abilitato per la VM, possono essere utilizzate anche origini di indirizzi IP arbitrari. L'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à internet in uscita 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. Utilizzi l'indirizzo IP della regola di forwarding per avviare le connessioni dalle istanze di destinazione solo in scenari speciali, ad esempio quando devi che le istanze VM originino e ricevano connessioni allo stesso indirizzo IP esterno.

I pacchetti in uscita inviati dalle VM delle istanze di destinazione direttamente a internet non hanno limitazioni per protocolli e porte del traffico. Anche se un pacchetto in uscita utilizza l'indirizzo IP della regola di forwarding come origine, il protocollo e la porta di origine del pacchetto non devono corrispondere alla specifica di protocollo e porta della regola di forwarding. 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 l'inoltro di protocollo esterno.

Questo percorso di connettività internet da una VM di istanza di destinazione è il comportamento predefinito previsto in base alle regole firewall implicite di Trusted Cloud. Tuttavia, se hai preoccupazioni per la sicurezza riguardo al mantenimento di questo percorso aperto, puoi utilizzare regole firewall per il traffico in uscita mirato per bloccare il traffico in uscita non richiesto verso internet.

Limitazioni

  • Una regola di forwarding non può puntare a più di un'istanza di destinazione.
  • I controlli di integrità non sono supportati con le istanze di destinazione. 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 non supporta il protocollo L3_DEFAULT. Utilizza TCP o UDP.

API e riferimento gcloud

Per le regole di forwarding, vedi quanto segue:

Per le istanze di destinazione, 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 uno 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 forwarding per il forwarding del protocollo, consulta Quote e limiti: regole di forwarding.

Passaggi successivi