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 inoltro. La La regola di forwarding fa riferimento a un oggetto denominato istanza di destinazione, 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 dell'istanza di destinazione oppure modificando all'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 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 un NAT 1:1 configurazione per il proprio indirizzo IPv4 esterno, l'inoltro di protocollo mantiene all'indirizzo IP di destinazione della regola di forwarding.
- Invia i pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di inoltro.
L'inoltro del protocollo è diverso da un caricamento passthrough Google Cloud nel nei seguenti modi:
- Nessun bilanciamento del carico. Un'istanza di destinazione distribuisce i pacchetti solo in un VM.
- Nessun controllo di integrità. A differenza di un servizio di backend, un'istanza di destinazione per supportare 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 inoltro.
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 usare questa opzione in scenari in cui vuoi gestire i dati di una sola istanza VM, ma attraverso diverse indirizzi IP o protocolli e porte diversi. Ciò è particolarmente utile per per configurare l'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 forwarding del protocollo esterno dell'architettura. Per informazioni sulla configurazione, vedi Configurare il protocollo esterno di routing.
Inoltro 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).
L'inoltro 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 configurare questa opzione, consulta Configurare il forwarding del protocollo interno.
Con il forwarding del protocollo interno, puoi modificare la destinazione di un forwarding per passare da un'istanza di destinazione a un servizio di backend di un e il bilanciatore del carico passthrough. Per maggiori dettagli, consulta Passare da un'istanza di destinazione all'altra e un backend Google Cloud.
Regole di forwarding
Ogni regola di inoltro corrisponde a un indirizzo IP, a un protocollo e, facoltativamente, a informazioni sulla porta (se specificate e se il protocollo supporta le porte). Quando viene eseguito un inoltro fa riferimento a un'istanza di destinazione, Google Cloud instrada i pacchetti l'indirizzo, il protocollo e le specifiche della porta della regola di forwarding alla VM a cui viene fatto riferimento dall'istanza di destinazione.
Inoltro del protocollo interno:
Supporto degli indirizzi IPv4: un indirizzo IPv4 interno a livello di regione di destinazione (statico riservato o temporaneo) dall'intervallo IPv4 principale di una subnet.
Supporto degli indirizzi IPv6: la regola di inoltro 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 conipv6-access-type
impostato suINTERNAL
. Gli indirizzi IPv6 interni sono disponibili solo nel livello Premium. Prenotare un IPv6 interno a livello di regione indirizzo è supportato solo per le istanze, quindi devi utilizzare un indirizzo IPv6 temporaneo la regola di forwarding.Opzioni di protocollo:
TCP
(valore predefinito) eUDP
.Opzioni di specifica delle porte:un elenco di massimo cinque porte contigue o o tutte le porte non contigue.
Inoltro del protocollo esterno:
Supporto degli indirizzi IPv4: la regola di inoltro fa riferimento a un singolo indirizzo IPv4 esterno regionale. IPv4 esterno a livello di regione provengono da un pool univoco per ogni regione Google Cloud. L'indirizzo IP può essere un indirizzo statico riservato o un indirizzo temporaneo.
Supporto di indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo di indirizzi IP
/96
indirizzi dell'intervallo di indirizzi IPv6 esterni/64
della subnet. La subnet deve essere una subnet a doppio stack conipv6-access-type
impostato suEXTERNAL
. Esterni Gli indirizzi IPv6 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
(valore predefinito),UDP
eL3_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. La pubblicazione di annunci ICMPv6 e GRE imposta il protocollo della regola di forwarding suL3_DEFAULT
.
- L'impostazione del protocollo della regola di forwarding
Opzioni di specifica delle porte:un intervallo di porte contigue o tutte le porte.
Quando lavori con le regole di forwarding, tieni presente quanto segue:
Per l'inoltro del protocollo, una regola di inoltro 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 inoltro 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 inoltro. 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 utilizzano il concetto di porta:
TCP
,UDP
oSCTP
.L'opzione del protocollo
L3_DEFAULT
inoltra tutti AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP protocolli. Per i protocolli TCP, UDP e SCTP,L3_DEFAULT
inoltra tutti 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 di
L3_DEFAULT
oppure - Utilizza una singola regola di inoltro
UDP
configurata per inoltrare tutte le porte.
- Utilizza una singola regola di forwarding di
Istanze di destinazione
Un'istanza di destinazione è una risorsa di zona che fa riferimento a un'istanza VM nella nella stessa zona. La regola di forwarding che fa riferimento all'istanza di destinazione deve trovarsi in la regione contenente la zona dell'istanza di destinazione. Poiché un'istanza di destinazione non dispone di un criterio Cloud NAT applicato, può essere utilizzato per IPsec traffico 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'interfaccianic0
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 Essere collocato nella rete VPC utilizzata dall'istanza di destinazione interfaccia di rete.
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. Usando una subnet con
ipv6-access-type
impostato su INTERNAL
richiede l'uso di un doppio stack separato
subnet con ipv6-access-type
impostato su EXTERNAL
per il forwarding esterno
personalizzata. Per istruzioni, consulta Aggiungere un componente dual stack
subnet.
Inoltre, l'istanza VM stessa deve essere un'istanza dual-stack. Imposta stack-type
della VM su IPv4_IPv6
. La VM eredita ipv6-access-type
(EXTERNAL
o INTERNAL
) dalla subnet. Per istruzioni, vedi
Crea una VM e abilita
IPv6. Se
quando vuoi utilizzare una VM esistente, aggiornala in modo che sia a doppio stack utilizzando
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 sono quelli mostrati in questa tabella.
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 a indirizzo IP esterno di un client su internet. | L'indirizzo IP della regola di forwarding. |
Inoltro interno del protocollo | 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 inoltro. |
Il software in esecuzione sulle VM dell'istanza di destinazione deve essere configurato per eseguire seguenti:
- Ascolta (associa a) l'indirizzo IP della regola di inoltro o a qualsiasi indirizzo IP
(
0.0.0.0
o::
). - Se il protocollo della regola di forwarding supporta le porte, resta in ascolto (associazione a) inclusa nella regola di forwarding.
I pacchetti di ritorno vengono inviati direttamente dall'istanza di destinazione al client. La gli indirizzi IP di origine e di destinazione del pacchetto di risposte 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 inoltro. 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 che corrispondono all'indirizzo IP della regola di forwarding o a qualsiasi indirizzo IP assegnato al NIC della VM nella stessa rete VPC della regola di forwarding. In pratica, la maggior parte i client si aspettano che la risposta provenga dallo stesso indirizzo IP a cui e pacchetti inviati.
La tabella seguente riassume le origini e le destinazioni per i pacchetti di ritorno:
Tipo di traffico | Indirizzo IP di origine | Indirizzo IP di destinazione |
---|---|---|
TCP | L'indirizzo IP della regola di inoltro. | L'indirizzo IP di origine del pacchetto di richiesta. |
AH, ESP, GRE, ICMP, ICMPv6 e UDP* | Nella maggior parte dei casi d'uso, l'indirizzo IP della regola di forwarding.† | 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 il forwarding del protocollo interno, è possibile impostare il valore l'origine del pacchetto di risposta all'indirizzo IPv4 interno principale o IPv6 del NIC della VM o un intervallo di indirizzi IP alias. Se per la VM è abilitato l'IP forwarding, possono essere utilizzate anche origini di indirizzi IP arbitrari. Il mancato utilizzo dell'indirizzo IP della regola di inoltro 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à a 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 inoltro associata come indirizzo IP di origine della connessione in uscita.
In genere, un'istanza VM utilizza sempre il proprio indirizzo IP esterno, Cloud NAT per avviare le connessioni. Utilizzi l'IP della regola di forwarding per avviare le connessioni dalle istanze di destinazione solo in scenari speciali ad esempio quando è necessario che le istanze VM abbiano origine e ricezione delle connessioni 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 inoltro come origine, il protocollo e la porta di origine del pacchetto non devono corrispondere alla specifica della porta e del protocollo della regola di inoltro. Tuttavia, i pacchetti di risposta in entrata devono corrispondere l'indirizzo IP, il protocollo e la porta di destinazione della regola di forwarding. Per maggiori informazioni per informazioni, vedi Percorsi per bilanciatori del carico di rete passthrough esterni e protocollo esterno di routing.
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ò puntare 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.
- L'inoltro del protocollo interno per il traffico IPv6 presenta le seguenti limitazioni:
- Il protocollo
L3_DEFAULT
non è supportato. UsaTCP
oUDP
. - Le NIC multiple non sono supportate.
- Il protocollo
API e riferimento gcloud
Per le regole di forwarding, consulta quanto segue:
Per le istanze di destinazione, consulta quanto segue:
Prezzi
Il forwarding del protocollo viene addebitato alla stessa tariffa del bilanciamento del carico. C'è un per la regola di forwarding e per i dati in entrata elaborati l'istanza di destinazione.
Per tutte le informazioni sui prezzi, consulta la sezione Prezzi.
Quote e limiti
Per le quote delle regole di forwarding per l'inoltro del protocollo, consulta Quote e limiti: regole di forwarding.