Questa pagina descrive i comandi per lavorare con le regole firewall Virtual Private Cloud (VPC) e presenta alcuni esempi di utilizzo. Le regole firewall VPC consentono di consentire o negare il traffico da o verso le istanze di macchine virtuali (VM) in una rete VPC in base al numero di porta, al tag o al protocollo.
Prima di iniziare
Per scoprire di più sulle regole firewall VPC, ad esempio le regole implicite e quelle generate dal sistema per le reti predefinite, consulta Regole firewall VPC.
Prima di configurare le regole firewall, esamina i componenti delle regole firewall per familiarizzare con i componenti del firewall utilizzati in Google Cloud.
Creare regole firewall VPC
Le regole firewall VPC sono definite a livello di rete e solo si applicano alla rete in cui sono stati creati; ma il nome che scegli ciascuna deve essere univoca per il progetto.
Una regola firewall può contenere intervalli IPv4 o IPv6, ma non entrambi.
Quando crei una regola firewall, puoi scegliere di abilitare il logging delle regole firewall. Se abiliti il logging, puoi omettere i campi dei metadati per risparmiare spazio di archiviazione costi aggiuntivi. Per ulteriori informazioni, vedi Usa il logging delle regole firewall.
Se vuoi specificare più account di servizio per la destinazione o l'origine dell'account di servizio, utilizza Google Cloud CLI, l'API o il client librerie.
La rete predefinita fornisce regole firewall automatiche al momento della creazione. Le reti personalizzate e in modalità automatica ti consentono di creare facilmente firewall simili durante la creazione della rete se utilizzi la console Google Cloud. Se utilizzi gcloud CLI o l'API e vuoi creare regole firewall simili a quelle fornite dalla rete predefinita, consulta Configurare le regole firewall per i casi d'uso comuni.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall.
Inserisci un nome per la regola firewall.
Questo nome deve essere univoco per il progetto.
(Facoltativo) Puoi attivare il logging delle regole firewall:
- Fai clic su Log > Attivato.
- Per omettere i metadati, fai clic su Mostra dettagli log, quindi cancella sulla casella di controllo Includi metadati.
Specifica la Rete per la regola firewall.
Specifica la Priorità della regola.
Più basso è il numero, maggiore è la priorità.
Per Direzione del traffico, scegli in entrata o in uscita.
Per l'Azione in caso di corrispondenza, scegli Consenti o Nega.
Specifica i target della regola.
- Se vuoi che la regola venga applicata a tutte le istanze nella rete, scegli Tutte le istanze nella rete.
- Se vuoi che la regola venga applicata a determinate istanze in base alla rete (destinazione) scegli Tag di destinazione specificati, quindi nel Tag di destinazione, digita i tag a cui deve essere applicata la regola.
- Se vuoi che la regola venga applicata a istanze selezionate in base all'account di servizio associato, scegli Account di servizio specificato, indica se l'account di servizio si trova nel progetto corrente o in un altro in Ambito account di servizio e poi nel campo Account di servizio di destinazione, scegli o digita il nome dell'account di servizio.
Per una regola in entrata, specifica il filtro Sorgente:
- Per filtrare il traffico in entrata in base agli intervalli IPv4 di origine, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel
campo Intervalli IPv4 di origine. Utilizza
0.0.0.0/0
per qualsiasi origine IPv4. - Per filtrare il traffico in entrata in base agli intervalli IPv6 di origine, seleziona Intervalli IPv6, quindi inserisci i blocchi CIDR nel campo Intervalli IPv6 di origine. Utilizza
::/0
per qualsiasi origine IPv6. - Per filtrare il traffico in entrata per tag di rete, scegli Tag sorgente, e digita i tag di rete nel campo Tag di origine. Per il limite al numero di tag di origine, consulta Per rete. limiti. Il filtro per tag di origine è disponibile solo se la destinazione non è specificata dall'account di servizio. Per ulteriori informazioni, vedi Filtro in base all'account di servizio rispetto al tag di rete.
- Per filtrare il traffico in entrata in base all'account di servizio, scegli Account di servizio, indica se l'account di servizio si trova nel progetto corrente o in un altro in Ambito account di servizio e poi scegli o digita il nome dell'account di servizio nel campo Account di servizio di origine. Filtro per servizio di origine è disponibile solo se il target non è specificato dal tag di rete. Per ulteriori informazioni, vedi filtrando per account di servizio rispetto a tag di rete.
- Se vuoi, specifica un secondo filtro di origine. I filtri delle origini secondarie non possono utilizzare gli stessi criteri di filtro dell'origine principale. Gli intervalli IP di origine possono essere utilizzati insieme ai tag di origine o all'account di servizio di origine. L'insieme di origini effettivo è la unione degli indirizzi IP dell'intervallo di origine e delle istanze identificate da tag di rete o account di servizio. Vale a dire che se l'intervallo IP di origine o i tag di origine (o i tag account di servizio) corrispondono ai criteri del filtro, l'origine è inclusa nel set di origini effettive.
- I tag di origine e l'account di servizio di origine non possono essere utilizzati insieme.
- Per filtrare il traffico in entrata in base agli intervalli IPv4 di origine, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel
campo Intervalli IPv4 di origine. Utilizza
Per una regola di ingresso, specifica il Filtro destinazione:
- Per filtrare il traffico in entrata in base agli intervalli IPv4 di destinazione, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel campo
Intervalli IPv4 di destinazione. Utilizza
0.0.0.0/0
per qualsiasi destinazione IPv4. - Per filtrare il traffico in entrata in base agli intervalli IPv6 di destinazione, seleziona
Intervalli IPv6 e inserisci i blocchi CIDR nel campo
Intervalli IPv6 di destinazione. Utilizza
::/0
per qualsiasi destinazione IPv6. Per ulteriori informazioni, consulta Destinazione per le regole di ingresso.
- Per filtrare il traffico in entrata in base agli intervalli IPv4 di destinazione, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel campo
Intervalli IPv4 di destinazione. Utilizza
Per una regola in uscita, specifica il filtro di destinazione:
- Per filtrare il traffico in uscita in base agli intervalli IPv4 di destinazione, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel campo
Intervalli IPv4 di destinazione. Utilizza
0.0.0.0/0
per qualsiasi destinazione IPv4. - Per filtrare il traffico in uscita in base agli intervalli IPv6 di destinazione, seleziona
Intervalli IPv6 e inserisci i blocchi CIDR nel
campo Intervalli IPv6 di destinazione. Utilizza
::/0
per qualsiasi destinazione IPv6.
- Per filtrare il traffico in uscita in base agli intervalli IPv4 di destinazione, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel campo
Intervalli IPv4 di destinazione. Utilizza
Per una regola in uscita, specifica il filtro di origine:
- Per filtrare il traffico in uscita in base agli intervalli IPv4 di origine, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel
campo Intervalli IPv4 di origine. Utilizza
0.0.0.0/0
per qualsiasi origine IPv4. - Per filtrare il traffico in uscita in base agli intervalli IPv6 di origine, seleziona
Intervalli IPv6 e inserisci i blocchi CIDR nel campo
Intervalli IPv6 di origine. Utilizza
::/0
per qualsiasi destinazione IPv6. Per ulteriori informazioni, vedi Origine per le regole di uscita.
- Per filtrare il traffico in uscita in base agli intervalli IPv4 di origine, seleziona
Intervalli IPv4 e inserisci i blocchi CIDR nel
campo Intervalli IPv4 di origine. Utilizza
Definisci i protocolli e le porte a cui si applica la regola:
- Per applicare la regola a tutti i protocolli e le porte di destinazione, seleziona Consenti tutto o Nega tutto, a seconda dell'azione.
Per definire protocolli e porte di destinazione specifici, seleziona Protocolli e porte specificati:
- Seleziona TCP per includere il protocollo TCP e le porte di destinazione. Inserisci
all
o un elenco di porte di destinazione separate da virgole, ad esempio20-22, 80, 8080
. - Seleziona UDP per includere il protocollo UDP e le porte di destinazione. Inserisci
all
o un elenco di porte di destinazione separate da virgole, ad esempio67-69, 123
. Seleziona Altro per includere protocolli come
icmp
,sctp
o un numero di protocollo. Ad esempio, usaicmp
o numero di protocollo1
per ICMP IPv4. Utilizza il numero di protocollo58
per ICMP con IPv6.Per ulteriori informazioni, consulta Protocolli e porte di destinazione.
- Seleziona TCP per includere il protocollo TCP e le porte di destinazione. Inserisci
(Facoltativo) Puoi creare la regola firewall, ma non applicarla impostando il relativo stato di applicazione su disattivata. Fai clic su Disattiva regola, quindi Seleziona Disattivato.
Fai clic su Crea.
gcloud
Per creare una regola firewall VPC, utilizza
Comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ [--network NETWORK; default="default"] \ [--priority PRIORITY;default=1000] \ [--direction (ingress|egress|in|out); default="ingress"] \ [--action (deny | allow )] \ [--target-tags TAG[,TAG,...]] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--source-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--source-tags TAG,TAG,] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--destination-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--rules (PROTOCOL[:PORT[-PORT]],[PROTOCOL[:PORT[-PORT]],...]] | all ) \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging] \ [--logging-metadata LOGGING_METADATA]
Utilizza i parametri come segue. Ulteriori dettagli su ciascuno sono disponibili nella documentazione di riferimento dell'SDK.
--network
La rete per la regola. Se omesso, il valore viene creata nella retedefault
. Se non hai una rete predefinita o vuoi creare la regola in una rete specifica, devi utilizzare questo campo.--priority
Un valore numerico che indica il priorità per personalizzata. Più basso è il numero, maggiore è la priorità.--direction
La direzione di di traffico,ingress
oegress
.--action
L'azione in caso di corrispondenza,allow
odeny
. Deve essere utilizzato con il flag--rules
.- Specifica un target in uno dei seguenti modi:
Per la regola in entrata, per perfezionare ulteriormente la destinazione, utilizza
--destination-ranges
per specificare intervalli di indirizzi IPv4 o IPv6 nel CIDR formato. Se--destination-ranges
viene omesso, la destinazione di ingresso è qualsiasi indirizzo IPv4,0.0.0.0/0
. Per ulteriori informazioni, vedi Destinazioni per le regole in entrata e indirizzi IP e di destinazione per le regole in entrata.Per una regola di ingresso, specifica un'origine:
--source-ranges
Utilizza questo flag per specificare intervalli di indirizzi IPv4 o IPv6 di origine in formato CIDR.- Se
--source-ranges
,source-tags
e--source-service-accounts
omessi, l'origine in entrata è qualsiasi indirizzo IPv4,0.0.0.0/0
. --source-tags
Utilizza questo flag per specificare le istanze di origine in base alla rete i tag. Il filtro per tag di origine è disponibile solo se il target non è specificato dall'account di servizio. Per ulteriori informazioni, consulta la sezione Filtro per account di servizio o tag di rete.--source-ranges
e--source-tags
possono essere utilizzati insieme. Se entrambi sono specificati, l'insieme di origini effettive è l'unione degli indirizzi IP dell'intervallo di origine e delle istanze identificate dai tag di rete, anche se le istanze taggate non hanno IP negli intervalli di origine.--source-service-accounts
Utilizza questo flag per specificare le istanze in base agli account di servizio che utilizzano. Il filtro per account di servizio di origine è disponibile solo se la destinazione non è specificata per tag di rete. Per ulteriori informazioni, consulta la sezione Filtro per account di servizio o tag di rete.--source-ranges
e--source-service-accounts
possono essere utilizzati insieme. Se vengono specificati entrambi, l'insieme di origini effettivo è l'unione degli indirizzi IP dell'intervallo di origine e delle istanze identificate dagli account di servizio di origine, anche se le istanze identificate dagli account di servizio di origine non hanno IP negli intervalli di origine.
Per la regola di uscita, per perfezionare ulteriormente l'origine, utilizza
--source-ranges
per specificare intervalli di indirizzi IPv4 o IPv6 in formato CIDR. Se--source-ranges
viene omesso, l'origine di uscita è qualsiasi indirizzo IPv4,0.0.0.0/0
. Per ulteriori informazioni, vedi Origini per le regole in uscita e Indirizzi IP e di destinazione per le regole in uscita.Per una regola in uscita, specifica una destinazione:
--destination-ranges
Usa questo flag per specificare intervalli di destinazione Indirizzi IPv4 o IPv6 in formato CIDR.- Se
--destination-ranges
viene omesso, la destinazione in uscita è qualsiasi Indirizzo IPv4,0.0.0.0/0
.
--rules
Un elenco di protocolli e destinazione porte a cui la regola . Utilizzaall
per rendere la regola applicabile a tutti i protocolli e a tutti porte di destinazione. Richiede il flag--action
.Per impostazione predefinita, le regole firewall vengono create e applicate automaticamente. ma puoi modificare questo comportamento.
- Se vengono omessi sia
--disabled
sia--no-disabled
, il firewall viene creata e applicata in modo forzato. --disabled
Aggiungi questo flag per creare la regola firewall ma non per applicarla li annotino. La regola del firewall rimane disattivata finché non aggiorni la regola del firewall per attivarla.--no-disabled
Aggiungi questo flag per assicurarti che la regola firewall venga applicata.
- Se vengono omessi sia
--enable-logging | --no-enable-logging
Puoi attivare il logging delle regole firewall per una regola quando la crei o la aggiorni. Il logging delle regole firewall consente di controllare, verificare e analizzare gli effetti delle regole firewall. Per maggiori dettagli, consulta Logging delle regole firewall.--logging-metadata
Se abiliti il logging, per impostazione predefinita, le regole firewall Il logging include campi di base e di metadati. Puoi omettere i campi dei metadati per risparmiare sui costi di archiviazione. Per ulteriori informazioni, consulta Utilizzare il logging delle regole firewall.
Terraform
Per creare una regola firewall, puoi utilizzare una risorsa google_compute_firewall
.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
API
Creare una regola firewall VPC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui il VPC in cui si trova la rete.NETWORK
: il nome della rete VPC in cui viene creata la regola firewall.RULE_NAME
: il nome della regola firewall.Per una regola firewall in entrata, specifica l'origine e la destinazione in entrata:
Utilizza i campi
sourceRanges
,sourceTags
osourceServiceAccounts
per specificare la sorgente di ingresso.sourceRanges
può essere intervalli IPv4 o IPv6, ma non una combinazione di entrambi. Per utilizzare l'intervallo0.0.0.0/0
, non specificare alcun campo.Non puoi utilizzare i campi
sourceTags
esourceServiceAccounts
insieme. Tuttavia, puoi utilizzaresourceRanges
consourceTags
osourceServiceAccounts
. In questo caso, la connessione deve corrispondere una o l'altra per applicare la regola firewall.Per i campi target, se utilizzi il campo
sourceTags
, non puoi utilizzare il campotargetServiceAccounts
. Devi utilizzare il campotargetTags
o nessun campo di destinazione. Analogamente, se utilizzisourceServiceAccounts
non puoi usare il campotargetTags
. Se non specifichi un campo target, la regola si applica a tutti i target della rete.Utilizza il campo
destinationRanges
per specificare la destinazione di ingresso.destinationRanges
può essere IPv4 o IPv6 ma non una combinazione di entrambi.
Se non specifichi di destinazione, Google Cloud utilizza0.0.0.0/0
. Per ulteriori informazioni, consulta Destinazioni per le regole di ingresso e Destinazione e indirizzi IP per le regole di ingresso.
Per una regola firewall in uscita, specifica l'origine e la destinazione in uscita:
Utilizza il campo
sourceRanges
per specificare l'origine in uscita.sourceRange
può essere intervalli IPv4 o IPv6, ma non una combinazione di entrambi.
Se non specifichi un'origine, Google Cloud utilizza0.0.0.0/0
. Per ulteriori informazioni, consulta Origini per le regole di uscita e Destinazione e indirizzi IP per le regole di uscita.Utilizza il campo
destinationRanges
per specificare la destinazione.destinationRanges
possono essere intervalli IPv4 o IPv6, ma non una combinazione di entrambi.
Se non specifichi una destinazione, Google Cloud utilizza0.0.0.0/0
. Utilizza il campotargetTags
otargetServiceAccounts
per specificare le destinazioni a cui si applica la regola. Se non specifichi una destinazione la regola si applica a tutte le destinazioni nella rete.
Per ulteriori informazioni e descrizioni per ogni campo, consulta
firewalls.insert
.
C#
Vai
Java
Node.js
PHP
Python
Ruby
Aggiorna le regole firewall VPC
Puoi modificare alcuni componenti di una regola firewall VPC, ad esempio: i protocolli e le porte di destinazione specificati per la condizione di corrispondenza. Tu non può modificare il nome di una regola firewall, la rete, azione in caso di corrispondenza, e la direzione del traffico.
Per modificare il nome, la rete o il componente azione o direzione, devi eliminare la regola e crearne una nuova una.
Se vuoi aggiungere o rimuovere più account di servizio, utilizza l'interfaccia a riga di comando gcloud, l'API o le librerie client. Non puoi utilizzare la console Google Cloud per specificare più account di servizio di destinazione o di origine.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic sulla regola firewall che vuoi modificare.
Fai clic su Modifica.
Modificare uno degli elementi modificabili componenti specifici per soddisfare le tue esigenze.
Fai clic su Salva.
gcloud
Per aggiornare le regole firewall VPC, utilizza il comando
gcloud compute firewall-rules update
:
gcloud compute firewall-rules update RULE_NAME \ [--priority=PRIORITY] \ [--description=DESCRIPTION] \ [--target-tags=TAG,...] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--source-ranges=CIDR_RANGE,...] \ [--source-tags=TAG,...] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--destination-ranges=CIDR_RANGE,...] \ [--rules=[PROTOCOL[:PORT[-PORT]],…]] \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging]
Le descrizioni di ogni flag sono le stesse utilizzate per la creazione di regole di firewall e sono disponibili ulteriori dettagli su ciascun flag nella documentazione di riferimento dell'SDK.
API
Utilizza PATCH per aggiornare i seguenti campi: allowed
, description
,
sourceRanges
, sourceTags
o targetTags
. Usa PUT o POST per tutti gli altri
campi.
(PATCH|(POST|PUT)) https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui il VPC in cui si trova la rete.NETWORK
: il nome della rete VPC in cui in cui si trova la regola firewall.RULE_NAME
: il nome della regola firewall da aggiornare.
Per ulteriori informazioni e descrizioni per ogni campo, consulta
firewalls.patch
oppure
firewalls.update
.
C#
Vai
Java
Node.js
PHP
Python
Ruby
Elenco regole firewall VPC per una rete VPC
Puoi elencare tutte le regole firewall VPC per il tuo progetto per una determinata rete VPC. Per ogni regola firewall, Google Cloud mostra dettagli come il tipo, le destinazioni e i filtri della regola.
Se attivi
Logging delle regole firewall,
Firewall Insights può fornire insight sulle tue regole firewall
per aiutarti a comprendere meglio e a ottimizzare
in sicurezza le loro configurazioni. Ad esempio, puoi visualizzare le regole allow
che non sono state utilizzate nelle ultime sei settimane.
Per ulteriori informazioni, consulta la sezione Utilizzare la schermata Dettagli regole firewall nella documentazione di Firewall Insights.
Console
Per mostrare tutte le regole firewall VPC per tutte le reti nel tuo progetto:
Nella console Google Cloud, vai alla pagina Criteri firewall.
Per visualizzare le regole firewall VPC in una determinata rete:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per passare alla relativa pagina dei dettagli.
Nella pagina dei dettagli relativa alla rete, fai clic sulla scheda Firewall.
Espandi vpc-firewall-rules.
gcloud
Per produrre un elenco ordinato delle regole firewall VPC per una determinata rete, utilizza il comando gcloud compute firewall-rules list
:
gcloud compute firewall-rules list --filter network=NETWORK \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, targetTags.list():label=TARGET_TAGS )"
Sostituisci NETWORK
con il nome della rete da elencare
regole firewall.
API
Elenca tutte le regole firewall VPC per una data rete.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/?filter=network="NETWORK
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui il VPC in cui si trova la rete.NETWORK
: il nome della rete VPC che contiene le regole firewall da elencare.
Per ulteriori informazioni, consulta
firewalls.list
.
C#
Vai
Java
Node.js
PHP
Python
Ruby
Elenca le regole firewall VPC per un'interfaccia di rete di un'istanza VM
Per ogni interfaccia di rete, nella console Google Cloud sono elencate tutte le Regole firewall VPC che si applicano all'interfaccia e regole che effettivamente utilizzate dall'interfaccia. Le regole firewall possono mascherare altre regole, pertanto tutte le regole che si applicano a un'interfaccia potrebbero non essere effettivamente a riga di comando.
Le regole firewall vengono associate e applicate alle istanze VM tramite il parametro target di una regola. Se visualizzi tutte le regole applicate, puoi verificare se una determinata regola è applicata a un'interfaccia.
Se attivi la registrazione delle regole del firewall, Firewall Insights può fornire informazioni sulle tue regole firewall per aiutarti a comprenderle meglio e ottimizzarne le configurazioni in sicurezza. Per Ad esempio, puoi vedere quali regole in un'interfaccia hanno avuto corrispondenze nelle ultime sei settimane. Per ulteriori informazioni, consulta la sezione Utilizzare la schermata dei dettagli dell'interfaccia di rete della VM nella documentazione di Firewall Insights.
Console
Per visualizzare le regole VPC che si applicano a un'interfaccia di rete specifica di un'istanza VM:
Nella console Google Cloud, vai alla pagina Istanze VM.
Trova l'istanza da visualizzare.
Nel menu Altre azioni dell'istanza (
), seleziona Visualizza i dettagli della rete.Se un'istanza ha più interfacce di rete, seleziona l'interfaccia di rete da visualizzare nel campo Interfaccia di rete selezionata.
Nella sezione Dettagli firewall e route, seleziona la scheda Firewall.
Espandi vpc-firewall-rules.
Visualizza la tabella per determinare se il traffico verso o da un indirizzo IP specifico è consentito.
Visualizza i dettagli della regola firewall VPC
Puoi ispezionare una regola firewall VPC per visualizzarne il nome, la rete applicabile e i componenti, incluso se la regola è attivata o disattivata.
Console
- Elenca le tue regole firewall. Puoi visualizzare un elenco di tutte le regole o solo di quelle di una determinata rete.
- Fai clic sulla regola per visualizzarla.
gcloud
Il seguente comando descrive una singola regola del firewall VPC. Poiché i nomi delle regole firewall sono univoci per il progetto, non è necessario specificare una rete quando descrivi una regola firewall esistente.
gcloud compute firewall-rules describe RULE_NAME
Sostituisci RULE_NAME
con il nome del firewall
personalizzata.
API
Descrive una determinata regola firewall VPC.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Sostituisci i segnaposto con valori validi:
PROJECT_ID
: l'ID del progetto in cui si trova il firewall .RULE_NAME
: il nome della regola firewall da descrivere.
Per ulteriori informazioni, consulta
firewalls.get
.
Elimina le regole firewall VPC
Console
- Elenca il tuo firewall VPC le regole del caso. Puoi visualizzare un elenco di tutte le regole o solo di quelle di una determinata in ogni rete.
- Fai clic sulla regola da eliminare.
- Fai clic su Elimina.
- Fai di nuovo clic su Elimina per confermare.
gcloud
Per eliminare una regola firewall VPC, utilizza il comando
gcloud compute firewall-rules delete
:
gcloud compute firewall-rules delete RULE_NAME
Sostituisci RULE_NAME
con il nome della regola da eliminare.
API
Elimina una regola firewall VPC.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la regola firewall.RULE_NAME
: il nome della regola firewall da eliminare.
Per ulteriori informazioni, consulta
firewalls.delete
.
C#
Vai
Java
Node.js
PHP
Python
Ruby
Monitorare le regole firewall VPC
Puoi abilitare il logging per le regole firewall VPC per vedere quale regola ha consentito o bloccato quale traffico. Per istruzioni, consulta Utilizzare il logging delle regole firewall.
Configurare le regole firewall VPC per i casi d'uso comuni
Le sezioni seguenti forniscono esempi di come utilizzare la CLI gcloud e l'API per ricreare le regole firewall VPC predefinite create per le reti predefinite. Puoi utilizzare gli esempi per creare regole simili per le tue reti personalizzate e in modalità automatica. Ogni regola firewall può includere indirizzi IPv4 Intervalli di indirizzi IPv6, ma non entrambi.
Consenti connessioni in entrata interne tra le VM
I seguenti esempi creano una regola firewall per consentire TCP, UDP e
Connessioni ICMP alle istanze VM, in modo simile alla regola allow-internal
per
reti predefinite.
gcloud
Usa il comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:0-65535,udp:0-65535,ICMP_PROTOCOL \ --source-ranges=SUBNET_RANGES
Sostituisci quanto segue:
RULE_NAME
: il nome di questa regola firewall.NETWORK
: il nome della rete a cui si applica questa regola del firewall. Il valore predefinito èdefault
.ICMP_PROTOCOL
: il tipo di protocollo ICMP. Specifica ICMPv4 utilizzando il nome del protocolloicmp
o il numero di protocollo1
. Specifica ICMPv6 utilizzando il numero di protocollo58
.SUBNET_RANGES
: uno o più intervalli di indirizzi IP. Se includi un intervallo di indirizzi IP, il traffico di quell'intervallo può raggiungere qualsiasi destinazione VM nella rete VPC. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall.Intervalli di subnet IPv4:
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP che
in
10.128.0.0/9
. - Le reti in modalità personalizzata possono utilizzare qualsiasi Intervalli IPv4 validi. Se non utilizzi per le subnet nel tuo VPC potrebbe essere necessario specificare più intervalli.
- Puoi utilizzare
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
per consentire il traffico da tutti gli intervalli di indirizzi IPv4 privati (intervalli RFC 1918).
Intervalli di subnet IPv6:
Se hai assegnato un intervallo di indirizzi IPv6 interno alla tua rete VPC, puoi utilizzarlo come intervallo di origine. L'uso della rete VPC che l'intervallo IPv6 interno indica che la regola firewall include tutti gli intervalli di subnet IPv6 interne attuali e futuri. Puoi trovare l'intervallo IPv6 interno della rete VPC utilizzando il seguente :
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Puoi anche specificare intervalli di subnet IPv6 interni specifici.
Per consentire il traffico dagli intervalli di subnet IPv6 esterni delle subnet a doppio stack, devi specificare l'intervallo di indirizzi IPv6 di ogni subnet che vuoi includere.
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP che
in
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "0-65535" ] }, { "IPProtocol": "udp", "ports": [ "0-65535" ] }, { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "SUBNET_RANGES" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la rete VPC.RULE_NAME
: il nome della regola firewall.NETWORK
: il nome della rete VPC in cui viene creata la regola firewall. Il valore predefinito èdefault
.ICMP_PROTOCOL
: il tipo di protocollo ICMP. Specifica ICMPv4 utilizzando il nome di protocolloicmp
o il numero di protocollo1
. Specifica ICMPv6 utilizzando il numero di protocollo58
.INTERNAL_SOURCE_RANGES
: uno o più intervalli IP. Per consentire il traffico interno all'interno di tutte le subnet nelle reti VPC, specifica gli intervalli di indirizzi IP utilizzati nella rete VPC. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall.Intervalli di subnet IPv4:
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP contenuti in
10.128.0.0/9
. - Le reti in modalità personalizzata possono utilizzare qualsiasi Intervalli IPv4 validi. Se non utilizzi intervalli contigüe per le subnet nella rete VPC, potrebbe essere necessario specificare più intervalli.
- Puoi utilizzare
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
per consentire il traffico da tutti gli intervalli di indirizzi IPv4 privati (intervalli RFC 1918).
Intervalli di subnet IPv6:
Se hai assegnato un indirizzo IPv6 interno gamma alla rete VPC, puoi utilizzare questo intervallo come nell'intervallo di origine. L'utilizzo dell'intervallo IPv6 interno della rete VPC significa che la regola firewall include tutti gli intervalli di subnet IPv6 interni attuali e futuri. Puoi trovare l'intervallo IPv6 interno della rete VPC utilizzando il seguente comando:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Puoi anche specificare intervalli di subnet IPv6 interni specifici.
Per consentire il traffico dagli intervalli di subnet IPv6 esterni delle subnet a doppio stack, devi specificare l'intervallo di indirizzi IPv6 di ogni subnet che vuoi includere.
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP contenuti in
Consenti connessioni SSH in entrata alle VM
I seguenti esempi creano una regola firewall per consentire le connessioni SSH al tuo
Istanze VM, in modo simile alla regola allow-ssh
per le reti predefinite.
gcloud
Usa il comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:22 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Sostituisci quanto segue:
RULE_NAME
: il nome di questa regola firewall.NETWORK
: il nome della rete a cui si applica questa regola del firewall. Il valore predefinito èdefault
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più indirizzi IP intervalli di tempo. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola del firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici che devi consentire l'accesso da, anziché da tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente a SSH connessioni TCP tramite Identity-Aware Proxy (IAP) sono soddisfatti altri prerequisiti. Per ulteriori informazioni, vedi Utilizzo di IAP per l'inoltro TCP. - L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutti Origini IPv4, incluse quelle esterne a Google Cloud. - L'uso di
::/0
come intervallo di origine consente il traffico da tutti gli indirizzi IPv6 origini esterne, incluse quelle esterne a Google Cloud.
- L'inclusione di
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "22" ] } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la rete VPC.RULE_NAME
: il nome della regola firewall.NETWORK
: il nome della rete VPC in cui viene creata la regola firewall.RANGES_OUTSIDE_VPC_NETWORK
: uno o più indirizzi IP intervalli di tempo. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola del firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici che devi consentire l'accesso da, anziché da tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente a SSH connessioni TCP tramite Identity-Aware Proxy (IAP) sono soddisfatti altri prerequisiti. Per ulteriori informazioni, vedi Utilizzo di IAP per l'inoltro TCP. - L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutti Origini IPv4, incluse quelle esterne a Google Cloud. - L'utilizzo di
::/0
come intervallo di origine consente il traffico da tutte le origini IPv6, incluse quelle esterne a Google Cloud.
- L'inclusione di
Consenti connessioni RDP in entrata alle VM
Gli esempi seguenti creano una regola firewall per consentire Microsoft Remote Desktop
Connessioni protocollo (RDP) alle tue istanze VM, simili alla regola allow-rdp
per le reti predefinite.
gcloud
Usa il comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:3389 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Sostituisci quanto segue:
RULE_NAME
: il nome di questa regola firewall.NETWORK
: il nome della rete a cui si applica questa regola del firewall. Il valore predefinito èdefault
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in un determinato firewall personalizzata. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui deve essere consentito l'accesso anziché tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente le connessioni RDP che utilizzano l'inoltro TCP di Identity-Aware Proxy (IAP) se sono soddisfatti tutti gli altri prerequisiti. Per ulteriori informazioni, consulta Utilizzo di IAP per inoltro TCP. - L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutti Origini IPv4, incluse quelle esterne a Google Cloud. - L'uso di
::/0
come intervallo di origine consente il traffico da tutti gli indirizzi IPv6 origini esterne, incluse quelle esterne a Google Cloud.
- L'inclusione di
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "allowed": [ { "IPProtocol": "tcp", "ports": [ "3389" ] } ], "sourceRanges": [ "EXTERNAL_SOURCE_RANGES" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la rete VPC.RULE_NAME
: il nome della regola firewall.NETWORK
: il nome della rete VPC in cui viene creata la regola firewall.RANGES_OUTSIDE_VPC_NETWORK
: uno o più indirizzi IP intervalli di tempo. Puoi specificare intervalli IPv4 o IPv6 in un determinato firewall personalizzata. Come best practice, specifica gli intervalli di indirizzi IP specifici che devi consentire l'accesso da, anziché da tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente l'RDP connessioni TCP tramite Identity-Aware Proxy (IAP) sono soddisfatti altri prerequisiti. Per ulteriori informazioni, consulta Utilizzo di IAP per inoltro TCP. - L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutte le origini IPv4, incluse quelle esterne a Google Cloud. - L'uso di
::/0
come intervallo di origine consente il traffico da tutti gli indirizzi IPv6 origini esterne, incluse quelle esterne a Google Cloud.
- L'inclusione di
Consenti connessioni ICMP in entrata alle VM
I seguenti esempi creano una regola firewall per consentire le connessioni ICMP al tuo
Istanze VM, in modo simile alla regola allow-icmp
per le reti predefinite.
gcloud
Usa il comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=ICMP_PROTOCOL \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Sostituisci quanto segue:
RULE_NAME
: il nome della regola firewall.NETWORK
: il nome della rete di questo firewall è valida. Il valore predefinito èdefault
.ICMP_PROTOCOL
: il tipo di protocollo ICMP. Specifica ICMPv4 utilizzando il nome del protocolloicmp
o il numero di protocollo1
. Specifica ICMPv6 utilizzando il numero di protocollo58
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più indirizzi IP intervalli di tempo. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola del firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici che devi consentire l'accesso da, anziché da tutte le origini IPv4 o IPv6.- L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutti Origini IPv4, incluse quelle esterne a Google Cloud. - L'uso di
::/0
come intervallo di origine consente il traffico da tutti gli indirizzi IPv6 origini esterne, incluse quelle esterne a Google Cloud.
- L'utilizzo di
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la rete VPC.RULE_NAME
: il nome della regola firewall.NETWORK
: il nome della rete VPC in cui viene creata la regola firewall.ICMP_PROTOCOL
: il tipo di protocollo ICMP da utilizzare. Specifica ICMPv4 utilizzando il nome di protocolloicmp
o il numero di protocollo1
. Specifica ICMPv6 utilizzando il numero di protocollo58
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più indirizzi IP intervalli di tempo. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola del firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici che devi consentire l'accesso da, anziché da tutte le origini IPv4 o IPv6.- L'utilizzo di
0.0.0.0/0
come intervallo di origine consente il traffico da tutti Origini IPv4, incluse quelle esterne a Google Cloud. - L'uso di
::/0
come intervallo di origine consente il traffico da tutti gli indirizzi IPv6 origini esterne, incluse quelle esterne a Google Cloud.
- L'utilizzo di
Altri esempi di configurazione
La Figura 1 descrive una configurazione di esempio per una rete VPC
denominato my-network
. La rete contiene quanto segue:
- Una subnet denominata
subnet1
, con intervallo IP10.240.10.0/24
e una singola istanza - Una subnet denominata
subnet2
, con intervallo IP192.168.1.0/24
- Un'istanza denominata
vm1
insubnet2
con un tagwebserver
e un indirizzo IP interno192.168.1.2
- Un'istanza denominata
vm2
insubnet2
con un tagdatabase
e un indirizzo IP interno192.168.1.3
Esempio 1: nega tutte le connessioni TCP in entrata tranne quelle alla porta 80 dalla sottorete 1
Questo esempio crea un insieme di regole firewall VPC che negano tutte le connessioni TCP in entrata, ad eccezione delle connessioni destinate alla porta 80
da subnet1
.
gcloud
Crea una regola firewall per negare tutto il traffico TCP in entrata alle istanze помеченные
webserver
.gcloud compute firewall-rules create deny-subnet1-webserver-access \ --network NETWORK_NAME \ --action deny \ --direction ingress \ --rules tcp \ --source-ranges 0.0.0.0/0 \ --priority 1000 \ --target-tags webserver
Sostituisci
NETWORK_NAME
con il nome della rete.Crea una regola firewall per consentire a tutti gli indirizzi IP in
subnet1
(10.240.10.0/24
) di accedere alla porta TCP80
nelle istanze taggate conwebserver
.gcloud compute firewall-rules create vm1-allow-ingress-tcp-port80-from-subnet1 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:80 \ --source-ranges 10.240.10.0/24 \ --priority 50 \ --target-tags webserver
Sostituisci
NETWORK_NAME
con il nome della rete.
Esempio 2: nega tutte le connessioni TCP in uscita, ad eccezione di quelle alla porta 80 della VM1
gcloud
Creare una regola firewall per negare tutto il traffico TCP in uscita.
gcloud compute firewall-rules create deny-all-access \ --network NETWORK_NAME \ --action deny \ --direction egress \ --rules tcp \ --destination-ranges 0.0.0.0/0 \ --priority 1000
Sostituisci
NETWORK_NAME
con il nome della rete.Crea una regola firewall per consentire il traffico TCP destinato alla porta
vm1
80
.gcloud compute firewall-rules create vm1-allow-egress-tcp-port80-to-vm1 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:80 \ --destination-ranges 192.168.1.2/32 \ --priority 60
Sostituisci
NETWORK_NAME
con il nome della rete.
Esempio 3: consentire le connessioni TCP in uscita alla porta 443 di un host esterno
Crea una regola firewall che consenta alle istanze contrassegnate con webserver
di inviare
traffico TCP in uscita verso la porta 443
di un indirizzo IP esterno di esempio, 192.0.2.5
.
gcloud
gcloud compute firewall-rules create vm1-allow-egress-tcp-port443-to-192-0-2-5 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:443 \ --destination-ranges 192.0.2.5/32 \ --priority 70 \ --target-tags webserver
Sostituisci NETWORK_NAME
con il nome della rete.
Esempio 4: consentire connessioni SSH da vm2 a vm1
Crea una regola firewall che consenta il traffico SSH dalle istanze con il tagdatabase
(vm2
) per raggiungere le istanze con il tag webserver
(vm1
).
gcloud
gcloud compute firewall-rules create vm1-allow-ingress-tcp-ssh-from-vm2 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:22 \ --source-tags database \ --priority 80 \ --target-tags webserver
Sostituisci NETWORK_NAME
con il nome della rete.
Esempio 5: consentire TCP:1443 dal server web al database utilizzando gli account di servizio
Per ulteriori informazioni su account di servizio e ruoli, consulta Concedi ruoli agli account di servizio.
Considera lo scenario nella figura 2, in cui sono presenti due applicazioni con il ridimensionamento automatico tramite i modelli: un'applicazione web server associata a un account di servizio my-sa-webserver
e un'applicazione di database associata a un account di servizio my-sa-webserver
. Un livello di sicurezza
L'amministratore vuole consentire il traffico TCP dalle VM con il servizio my-sa-webserver
l'account sulla porta di destinazione 1443
delle VM con il servizio my-sa-database
.
I passaggi di configurazione, inclusa la creazione degli account di servizio, sono riportati di seguito.
gcloud
Un EDITOR del progetto o un OWNER (proprietario) del progetto crea gli account di servizio
my-sa-webserver
emy-sa-database
.gcloud iam service-accounts create my-sa-webserver \ --display-name "webserver service account"
gcloud iam service-accounts create my-sa-database \ --display-name "database service account"
UN PROPRIETARIO DEL PROGETTO assegna allo sviluppatore del server web web-dev@example.com un ruolo serviceAccountUser per l'account di servizio
my-sa-webserver
impostando un criterio IAM (Gestione di identità e accessi).gcloud iam service-accounts add-iam-policy-binding \ my-sa-webserver@my-project.iam.gserviceaccount.com \ --member='user:web-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Un PROPRIETARIO di progetto assegna allo sviluppatore di database
db-dev@example.com
un ruolo serviceAccountUser per l'account di serviziomy-sa-database
impostando un criterio IAM.gcloud iam service-accounts add-iam-policy-binding \ my-sa-database@my-project.iam.gserviceaccount.com \ --member='user:db-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Lo sviluppatore
web-dev@example.com
, che dispone del ruolo di amministratore dell'istanza, crea un modello di istanza del server web e autorizza le istanze a essere eseguite come account di serviziomy-sa-webserver
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-webserver@my-project-123.iam.gserviceaccount.com
Lo sviluppatore
db-dev@example.com
, che dispone del ruolo di amministratore dell'istanza, crea il modello di istanza del database e autorizza le istanze a essere eseguite come account di serviziomy-sa-database
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-database@my-project-123.iam.gserviceaccount.com
L'amministratore della sicurezza crea una regola firewall che consente il traffico TCP dalle VM con l'account di servizio
my-sa-webserver
di raggiungere la porta 1443 delle VM con l'account di serviziomy-sa-database
.gcloud compute firewall-rules create RULE_NAME \ --network network_a \ --allow TCP:1443 \ --source-service-accounts my-sa-webserver@my-project.iam.gserviceaccount.com \ --target-service-accounts my-sa-database@my-project.iam.gserviceaccount.com
Risoluzione dei problemi
Messaggi di errore durante la creazione o l'aggiornamento di una regola firewall VPC
Potresti visualizzare uno dei seguenti messaggi di errore:
Should not specify destination range for ingress direction.
Gli intervalli di destinazione non sono parametri validi per le regole firewall in entrata. Si presume che le regole firewall siano regole in entrata, a meno che una direzione di
egress
è specificato in modo specifico. Se crei una regola che non specifica una direzione, viene creata come regola di ingresso, che non consente un intervallo di destinazione. Inoltre, gli intervalli di origine non sono parametri validi per in uscita.Firewall direction cannot be changed once created.
Non puoi modificare la direzione di una regola firewall esistente. Devi creare una nuova regola con i parametri corretti, quindi eliminare quella precedente.
Firewall traffic control action cannot be changed once created.
Non puoi modificare l'azione di una regola firewall esistente. Devi creare una nuova regola con i parametri corretti ed eliminare quella precedente.
Service accounts must be valid RFC 822 email addresses.
L'account di servizio specificato nella regola firewall deve essere un indirizzo email formattato per RFC 822.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts invalid-email
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – Invalid value for field 'resource.sourceServiceAccounts[0]': 'invalid-email'. Service accounts must be valid RFC 822 email addresses.
ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
Non puoi specificare sia gli account di servizio che i tag nella stessa regola.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts test@google.com --target-tags target
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
Errore di risorsa non trovata
Quando elimini una rete VPC o una regola firewall, potresti visualizzare un messaggio simile al seguente:
The resource "aet-uscentral1-subnet--1-egrfw" was not found.
Questo errore può impedirti di eliminare una regola firewall implicita o di visualizzarne la regola. i dettagli. Una regola firewall in questo stato potrebbe anche impedirti di eliminare una rete VPC.
Per eliminare una regola firewall o una rete bloccata in questo modo, elimina prima il connettore di accesso VPC serverless associato e riprova. Per ulteriori informazioni su come eliminare un Connettore di accesso VPC serverless, consulta eliminare un connettore.
Errore: troppi firewall di grandi dimensioni
Potresti visualizzare il seguente messaggio di errore:
Google Compute Engine: The network contains too many large firewalls.
Per garantire sicurezza e prestazioni, esiste un limite alla complessità e al numero di regole del firewall che possono essere implementate in una rete VPC. Se viene visualizzato questo errore, chiedi al team di gestione dell'account di semplificare o consolida le regole firewall.
Impossibile connettersi all'istanza VM
Se non riesci a connetterti a un'istanza VM, controlla le regole del firewall.
gcloud
Se avvii la connessione da un'altra istanza VM, elenca le regole del firewall in uscita per quell'istanza.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter EGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Sostituisci
NETWORK_NAME
con il nome della rete.Verifica se l'IP di destinazione è negato da eventuali regole in uscita. La regola con la priorità più alta (numero con priorità più bassa) sostituisce le regole con priorità inferiore. Per due regole con la stessa priorità, la regola di rifiuto ha la precedenza.
Controlla la regola firewall in entrata per la rete che contiene la VM di destinazione in esecuzione in un'istanza Compute Engine.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter INGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Sostituisci
NETWORK_NAME
con il nome della rete.Esempio di output. L'output dipenderà dall'elenco di regole firewall.
NAME NETWORK DIRECTION PRIORITY SRC_RANGES DEST_RANGES ALLOW DENY SRC_TAGS SRC_SVC_ACCT TARGET_TAGS TARGET_SVC_ACCT default-allow-icmp default INGRESS 65534 0.0.0.0/0 icmp default-allow-internal default INGRESS 65534 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp default-allow-rdp default INGRESS 65534 0.0.0.0/0 tcp:3389 default-allow-ssh default INGRESS 65534 0.0.0.0/0 tcp:22 firewall-with-sa default INGRESS 1000 tcp:10000 test1@google.com target@google.com
Puoi anche eseguire test di connettività da/verso istanze VM in una rete VPC a un'altra rete VPC o a una rete non Google Cloud per risolvere i problemi se il traffico viene interrotto da regole firewall in entrata o in uscita. Per ulteriori informazioni su come eseguire i test di connettività per risolvere i problemi di vari scenari, consulta Eseguire i test di connettività.
La regola firewall VPC è abilitata o disattivata?
Per sapere se una regola firewall è abilitata o disabilitata, visualizza i dettagli delle regole firewall.
Nella console Google Cloud, cerca Abilitata o Disabilitata nella Sezione Applicazione.
Nell'output dell'interfaccia a riga di comando gcloud, cerca il campo disabled
.
Se è indicato disabled:false
, la regola è abilitata e in fase di applicazione. Se
indica disabled: true
, la regola è disattivata.
Quale regola viene applicata a un'istanza VM?
Dopo aver creato una regola, puoi verificare se viene applicata correttamente a una determinata istanza. Per ulteriori informazioni, vedi Elenco delle regole firewall per un'interfaccia di rete di un'istanza VM.
Le regole firewall VPC con tag di origine non hanno effetto immediato
La propagazione delle regole firewall in entrata che utilizzano i tag di origine può richiedere del tempo. Per vedi i dettagli. considerazioni che sono relative ai tag di origine per le regole firewall in entrata.
Passaggi successivi
- Per un'introduzione alle regole firewall, consulta Regole firewall VPC.