Utilizzo delle regole firewall VPC
In questa pagina vengono descritti i comandi per l'utilizzo delle regole firewall e vengono forniti alcuni esempi di utilizzo.
Prima di iniziare
Per scoprire di più sulle regole firewall, ad esempio regole implicite e generate dal sistema per le reti predefinite, consulta Regole firewall VPC.
Prima di configurare le regole firewall, esamina i componenti delle regole firewall per acquisire familiarità con i componenti firewall utilizzati in Google Cloud.
Creazione di regole firewall
Le regole firewall vengono definite a livello di rete e si applicano solo alla rete in cui vengono create; tuttavia, il nome che scegli per ciascuna di esse deve essere univoco 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 di metadati per risparmiare sui costi di archiviazione. Per ulteriori informazioni, consulta la pagina relativa all'uso del logging delle regole firewall.
Se vuoi specificare più account di servizio per il campo dell'account di servizio di destinazione o di origine, utilizza l'interfaccia a Google Cloud CLI, l'API o le librerie client.
La rete predefinita fornisce regole firewall automatiche al momento della creazione. Le reti personalizzate e in modalità automatica consentono di creare facilmente firewall simili durante la creazione della rete se utilizzi la console Google Cloud. Se utilizzi l'interfaccia a riga di comando gcloud o l'API e vuoi creare regole firewall simili a quelle fornite dalla rete predefinita, consulta la sezione Configurare le regole firewall per casi d'uso comuni.
Console
Nella console Google Cloud, vai alla pagina 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 > On.
- Per omettere i metadati, fai clic su Mostra log di log, quindi deseleziona la casella di controllo Includi metadati.
Specifica la Rete per la regola firewall.
Specifica la priorità della regola.
Più basso è il numero, maggiore è la priorità.
In Direzione del traffico, scegli traffico in entrata o in uscita.
Per l'azione in caso di corrispondenza, scegli Consenti o Nega.
Specifica i Target della regola.
- Se vuoi applicare la regola a tutte le istanze della rete, scegli Tutte le istanze nella rete.
- Se vuoi che la regola venga applicata a determinate istanze in base ai tag di rete (target), scegli Tag di destinazione specificati e poi nel campo Tag di destinazione digita i tag a cui deve essere applicata la regola.
- Se vuoi che la regola venga applicata alle istanze selezionate in base all'account di servizio associato, scegli Account di servizio specificato, indica se l'account di servizio si trova nel progetto attuale o un altro in Ambito dell'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 di origine:
- 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 a intervalli IPv6 di origine, seleziona Intervalli IPv6 e inserisci i blocchi CIDR nel campo Intervalli IPv6 di origine. Utilizza
::/0
per qualsiasi origine IPv6. - Per filtrare il traffico in entrata in base al tag di rete, scegli Tag di origine, quindi digita i tag di rete nel campo Tag di origine. Per il limite relativo al numero di tag di origine, consulta Limiti per rete. Il filtro per tag di origine è disponibile solo se la destinazione non è specificata dall'account di servizio. Per ulteriori informazioni, consulta la pagina relativa al filtro per account di servizio e 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 attuale o in un altro sotto Ambito account di servizio, quindi scegli o digita il nome dell'account di servizio nel campo Account di servizio di origine. Il filtro per account di servizio di origine è disponibile solo se la destinazione non è specificata dal tag di rete. Per ulteriori informazioni, consulta la pagina relativa al filtro per account di servizio e tag di rete.
- Se vuoi, puoi specificare un secondo filtro di origine. I filtri origine non possono utilizzare gli stessi criteri del filtro principale. Gli intervalli IP di origine possono essere utilizzati insieme ai tag di origine o all'account di servizio di origine. Il set di origine effettivo è l'unione degli indirizzi IP dell'intervallo di origine e delle istanze identificate dai tag di rete o dagli account di servizio. Ciò significa che, se l'intervallo IP di origine o i tag di origine (o gli account di servizio di origine) corrispondono ai criteri di filtro, l'origine è inclusa nel set di origini efficaci.
- 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 in uscita, specifica il Filtro destinazione:
- Per filtrare il traffico in uscita in base a 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 a 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 a intervalli IPv4 di destinazione, seleziona Intervalli IPv4 e inserisci i blocchi CIDR nel campo Intervalli IPv4 di destinazione. Utilizza
Definisci i protocolli e le porte a cui si applica la regola:
- Per fare in modo che la regola venga applicata a tutti i protocolli e alle porte di destinazione, seleziona Consenti tutto o Blocca tutto, a seconda dell'azione.
Per definire protocolli e porte di destinazione specifici, seleziona Protocolli e porte specificati:
- Seleziona TCP per includere le porte di destinazione e il protocollo TCP. Inserisci
all
o un elenco di porte di destinazione delimitate 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 delimitate da virgole, ad esempio67-69, 123
. Seleziona Altro per includere protocolli come
icmp
,sctp
o un numero di protocollo. Ad esempio, utilizzaicmp
o il numero di protocollo1
per IPv4 ICMP. Utilizza il numero di protocollo58
per IPv6 ICMP.Per saperne di più, vedi protocolli e porte di destinazione.
- Seleziona TCP per includere le porte di destinazione e il protocollo TCP. 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 Disattivata.
Fai clic su Crea.
gcloud
Il comando gcloud
per creare regole firewall è il seguente:
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 degli SDK.
--network
la rete per la regola. Se omessa, la regola 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 la priorità per la regola. Più basso è il numero, maggiore è la priorità.--direction
La direzione del traffico,ingress
oegress
.--action
l'azione sulla corrispondenza,allow
odeny
. Deve essere utilizzato con il flag--rules
.- Specifica un target in uno dei seguenti modi:
- Ometti
--target-tags
e--target-service-accounts
se la regola deve essere applicata a tutte le destinazioni nella rete. - Utilizza il flag
--target-tags
per definire i target in base ai tag di rete. - Utilizza il flag
--target-service-accounts
per definire i target in base agli account di servizio associati.
- Ometti
Per la regola in entrata, per perfezionare ulteriormente la destinazione, utilizza
--destination-ranges
per specificare gli intervalli di indirizzi IPv4 o IPv6 in formato CIDR. Se--destination-ranges
viene omesso, la destinazione in entrata è qualsiasi indirizzo IPv4,0.0.0.0/0
. Per ulteriori informazioni, consulta Destinazioni per le regole in entrata e Indirizzi di destinazione e IP per le regole in entrata.Per una regola in entrata, 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
vengono omessi, l'origine in entrata è un indirizzo IPv4,0.0.0.0/0
. --source-tags
Usa questo flag per specificare le istanze di origine in base ai tag di rete. Il filtro per tag di origine è disponibile solo se la destinazione non è specificata dall'account di servizio. Per ulteriori informazioni, consulta la pagina relativa all'applicazione di filtri per account di servizio e tag di rete.--source-ranges
e--source-tags
possono essere utilizzati insieme. Se entrambi sono specificati, il set di origine effettivo è l'unione degli indirizzi IP dell'intervallo di origine e le 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 dal tag di rete. Per ulteriori informazioni, consulta la pagina relativa al filtro per account di servizio e tag di rete.--source-ranges
e--source-service-accounts
possono essere utilizzati insieme. Se entrambi sono specificati, il set di origine effettivo è l'unione degli indirizzi IP degli intervalli di origine e le 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 in uscita, per perfezionare ulteriormente l'origine, utilizza
--source-ranges
per
specificare gli intervalli di indirizzi IPv4 o IPv6 in formato CIDR. Se--source-ranges
viene omesso, l'origine in uscita è qualsiasi indirizzo IPv4,0.0.0.0/0
. Per scoprire di più, consulta Origini per le regole in uscita e Indirizzi di destinazione e IP per le regole in uscita.Per una regola in uscita, specifica una destinazione:
--destination-ranges
Utilizza questo flag per specificare intervalli di indirizzi IPv4 o IPv6 di destinazione 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 porte di destinazione a cui si applica la regola. Utilizzaall
per rendere la regola applicabile a tutti i protocolli e a tutte le porte di destinazione. Richiede il flag--action
.Per impostazione predefinita, le regole firewall vengono create e applicate automaticamente, tuttavia puoi modificare questo comportamento.
- Se
--disabled
e--no-disabled
vengono omessi, la regola firewall viene creata e applicata. --disabled
Aggiungi questo flag per creare la regola firewall, ma non applicarla. La regola firewall rimane disattivata fino a quando non aggiorna la regola firewall per abilitarla.--no-disabled
Aggiungi questo flag per assicurarti che la regola firewall venga applicata.
- Se
--enable-logging | --no-enable-logging
Puoi abilitare 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 informazioni dettagliate, vedi Logging delle regole firewall.--logging-metadata
Se abiliti il logging, per impostazione predefinita, il logging delle regole firewall include campi di base e di metadati. Puoi omettere i campi di metadati per risparmiare sui costi di archiviazione. Per ulteriori informazioni, consulta Utilizzo del logging delle regole firewall.
API
Creare una regola firewall.
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 si trova la rete VPC.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 l'origine in entrata.sourceRanges
può essere un intervallo IPv4 o IPv6, ma non una combinazione di entrambi. Per utilizzare l'intervallo0.0.0.0/0
, non specificare alcun campo.Non puoi utilizzare insieme i campi
sourceTags
esourceServiceAccounts
. Tuttavia, puoi utilizzaresourceRanges
consourceTags
osourceServiceAccounts
. Se sì, la connessione deve corrispondere all'una o all'altra affinché la regola firewall venga applicata.Per i campi di destinazione, se utilizzi il campo
sourceTags
, non puoi utilizzare il campotargetServiceAccounts
. Devi utilizzare il campotargetTags
o nessun campo di destinazione. Analogamente, se utilizzi il camposourceServiceAccounts
, non puoi utilizzare il campotargetTags
. Se non specifichi un campo target, la regola si applica a tutti i target nella rete.Utilizza il campo
destinationRanges
per specificare la destinazione in entrata.destinationRanges
può essere un intervallo IPv4 o IPv6, ma non una combinazione di entrambi.
Se non specifichi una destinazione, Google Cloud utilizza0.0.0.0/0
. Per ulteriori informazioni, consulta Destinazioni per le regole in entrata e Destinazioni e indirizzi IP per le regole in entrata.
Nota: specificare gli intervalli di indirizzi IP di destinazione per una regola in entrata è una funzionalità di anteprima.
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 un intervallo 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 in uscita e Indirizzi di destinazione e IP per le regole in uscita.
Nota: specificare gli intervalli di indirizzi IP di origine per una regola in uscita è una funzionalità di anteprima.Utilizza il campo
destinationRanges
per specificare la destinazione.destinationRanges
può essere un intervallo 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 a quali target si applica la regola. Se non specifichi un campo target, la regola si applica a tutti i target nella rete.
Per ulteriori informazioni e descrizioni per ogni campo, consulta il metodo firewalls.insert
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Terraform
Puoi utilizzare una risorsa Terraform per creare una regola firewall.
Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Lavorare con una configurazione Terraform.
Aggiorna regole firewall
Puoi modificare alcuni componenti di una regola firewall, ad esempio i protocolli e le porte di destinazione specificati per la condizione di corrispondenza. Non puoi modificare il nome, la rete, l'azione alla corrispondenza e la direzione del traffico di una regola firewall.
Se devi modificare il nome, la rete o il componente dell'azione o della direzione, devi eliminare la regola e crearne una nuova.
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 account di servizio di origine.
Console
Nella console Google Cloud, vai alla pagina Firewall.
Fai clic sulla regola firewall da modificare.
Fai clic su Modifica.
Modifica uno qualsiasi dei componenti modificabili per soddisfare le tue esigenze.
Fai clic su Salva.
gcloud
Il comando gcloud
per l'aggiornamento delle regole firewall è il seguente:
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 della creazione di regole firewall e ulteriori dettagli su ciascuno sono disponibili nella documentazione di riferimento degli SDK.
API
Usa PATCH per aggiornare i seguenti campi: allowed
, description
, sourceRanges
, sourceTags
o targetTags
. Utilizza 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 si trova la rete VPC.NETWORK
: il nome della rete VPC 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 il metodo firewalls.patch
o firewalls.update
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Elenca le regole del firewall per una rete VPC
Puoi elencare tutte le regole firewall per il tuo progetto o per una determinata rete VPC. Per ogni regola firewall, Google Cloud mostra dettagli quali il tipo, le destinazioni e i filtri della regola.
Se abiliti il logging delle regole del firewall, Firewall Insights può fornire insight sulle regole firewall per aiutarti a comprendere e ottimizzare meglio le configurazioni. Ad esempio, puoi controllare quali regole allow
non sono state utilizzate nelle ultime sei settimane.
Per ulteriori informazioni, consulta la pagina Utilizzo della schermata dei dettagli delle regole firewall nella documentazione di Firewall Insights.
Console
Per visualizzare tutte le regole firewall per tutte le reti del progetto:
Nella console Google Cloud, vai alla pagina Firewall.
Per visualizzare le regole firewall in una determinata rete:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per accedere alla relativa pagina dei dettagli.
Nella pagina dei dettagli della rete, fai clic sulla scheda Firewall.
Espandi vpc-firewall-rules.
gcloud
Il comando seguente genera un elenco ordinato di regole firewall per una determinata rete.
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 in cui elencare le regole firewall.
API
Elenca tutte le regole firewall per una determinata 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 si trova la rete VPC.NETWORK
: il nome della rete VPC che contiene le regole firewall da elencare.
Per ulteriori informazioni, consulta il metodo
firewalls.list
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Elenca le regole del firewall per un'interfaccia di rete di un'istanza VM
Per ogni interfaccia di rete, la console Google Cloud elenca tutte le regole firewall applicabili all'interfaccia e le regole effettivamente utilizzate dall'interfaccia. Le regole firewall possono mascherare altre regole, quindi tutte quelle che si applicano a un'interfaccia potrebbero non essere effettivamente utilizzate dall'interfaccia.
Le regole firewall vengono associate e applicate alle istanze VM tramite il parametro di destinazione di una regola. Visualizzando tutte le regole applicate, puoi controllare se a una interfaccia viene applicata una regola particolare.
Se abiliti il logging delle regole del firewall, Firewall Insights può fornire insight sulle regole firewall per aiutarti a comprendere e ottimizzare meglio le configurazioni. Ad esempio, puoi visualizzare quali regole in un'interfaccia sono state interessate nelle ultime sei settimane. Per ulteriori informazioni, consulta la pagina relativa all'utilizzo della schermata dei dettagli dell'interfaccia di rete della VM nella documentazione di Firewall Insights.
Console
Per visualizzare le regole che si applicano a una specifica interfaccia di rete 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 dettagli di rete.
Se un'istanza ha più interfacce di rete, seleziona l'interfaccia di rete da visualizzare nel campo Interfaccia di rete selezionata.
Nella sezione Firewall e dettagli dei percorsi, seleziona la scheda Firewall.
Espandi vpc-firewall-rules.
Visualizza la tabella per determinare se il traffico da o verso un indirizzo IP specifico è consentito.
Visualizza i dettagli delle regole del firewall
Puoi controllare una regola firewall per visualizzarne il nome, la rete applicabile e i componenti, inclusa l'attivazione o disattivazione della regola.
Console
- Elenca le tue regole firewall. Puoi visualizzare un elenco di tutte le regole o solo quelle di una rete specifica.
- Fai clic sulla regola per visualizzarla.
gcloud
Il comando seguente descrive una singola regola firewall. Poiché i nomi delle regole firewall sono univoci per il progetto, non devi specificare una rete quando descrivi una regola firewall esistente.
gcloud compute firewall-rules describe RULE_NAME
Sostituisci RULE_NAME
con il nome della regola firewall.
API
Descrivi una determinata regola firewall.
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 la regola firewall.RULE_NAME
: il nome della regola firewall da descrivere.
Per ulteriori informazioni, consulta il metodo
firewalls.get
.
Elimina regole firewall
Console
- Elenca le tue regole firewall. Puoi visualizzare un elenco di tutte le regole o solo quelle di una rete specifica.
- Fai clic sulla regola da eliminare.
- Fai clic su Elimina.
- Fai di nuovo clic su Elimina per confermare.
gcloud
Il comando seguente elimina una regola firewall.
gcloud compute firewall-rules delete RULE_NAME
Sostituisci RULE_NAME
con il nome della regola da eliminare.
API
Eliminare una regola firewall.
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 il metodo firewalls.delete
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Monitora regole firewall
Puoi abilitare il logging per le regole firewall per vedere quale regola ha consentito o bloccato il traffico. Per istruzioni, consulta la pagina Utilizzo del logging delle regole firewall.
Configura regole firewall per casi d'uso comuni
Le seguenti sezioni forniscono esempi di come utilizzare l'interfaccia a riga di comando gcloud e l'API per ricreare le regole firewall predefinite create per le reti predefinite. Puoi utilizzare gli esempi per creare regole simili per le reti personalizzate e in modalità automatica. Ogni regola firewall può includere intervalli di indirizzi IPv4 o IPv6, ma non entrambi.
Consenti connessioni interne in entrata tra le VM
Gli esempi seguenti creano una regola firewall per consentire le connessioni TCP, UDP e ICMP interne alle istanze VM, in modo simile alla regola allow-internal
per le reti predefinite:
gcloud
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
: nome della rete alla quale si applica questa regola firewall. Il valore predefinito èdefault
.ICMP_PROTOCOL
: tipo di protocollo ICMP. Specifica ICMPv4 utilizzando il nome di 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 da tale 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 si trovano all'interno di
10.128.0.0/9
. - Le reti in modalità personalizzata possono utilizzare qualsiasi intervallo IPv4 valido. Se non utilizzi intervalli contigui per le subnet nella rete VPC, potresti dover 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 utilizzare questo intervallo come 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 da includere.
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP che si trovano all'interno 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": [ "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
: 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 in tutte le subnet nelle reti VPC, specifica gli intervalli di indirizzi IP utilizzati nella tua 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 si trovano all'interno di
10.128.0.0/9
. - Le reti in modalità personalizzata possono utilizzare qualsiasi intervallo IPv4 valido. Se non utilizzi intervalli contigui per le subnet nella rete VPC, potresti dover 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 utilizzare questo intervallo come 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 da includere.
- Le reti VPC in modalità automatica utilizzano intervalli di indirizzi IP che si trovano all'interno di
Consenti connessioni SSH in entrata con le VM
Gli esempi seguenti creano una regola firewall per consentire le connessioni SSH alle tue istanze VM, in modo simile alla regola allow-ssh
per le reti predefinite:
gcloud
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
: nome della rete alla quale si applica questa regola firewall. Il valore predefinito èdefault
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente le connessioni SSH che utilizzano l'inoltro TCP di Identity-Aware Proxy (IAP) se tutti gli altri prerequisiti sono soddisfatti. Per saperne di più, consulta Utilizzo di IAP per l'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'utilizzo di
::/0
come intervallo di origine consente il traffico da tutte le origini IPv6, 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ù intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6.- L'inclusione di
35.235.240.0/20
negli intervalli di origine consente le connessioni SSH che utilizzano l'inoltro TCP di Identity-Aware Proxy (IAP) se tutti gli altri prerequisiti sono soddisfatti. Per saperne di più, consulta Utilizzo di IAP per l'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'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 le connessioni Microsoft Remote Desktop Protocol (RDP) alle istanze VM, in modo simile alla regola allow-rdp
per le reti predefinite:
gcloud
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
: nome della rete alla quale si applica questa regola firewall. Il valore predefinito èdefault
.RANGES_OUTSIDE_VPC_NETWORK
: uno o più intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire 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 utilizzando Identity-Aware Proxy (IAP) TCP se vengono soddisfatti tutti gli altri prerequisiti. Per saperne di più, consulta Utilizzo di IAP per l'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'utilizzo di
::/0
come intervallo di origine consente il traffico da tutte le origini IPv6, 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ù intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire 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 utilizzando Identity-Aware Proxy (IAP) TCP se vengono soddisfatti tutti gli altri prerequisiti. Per saperne di più, consulta Utilizzo di IAP per l'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'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 ICMP in entrata alle VM
Gli esempi seguenti creano una regola firewall per consentire le connessioni ICMP alle istanze VM, in modo simile alla regola allow-icmp
per le reti predefinite:
gcloud
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
: nome della rete alla quale si applica questa regola firewall. Il valore predefinito èdefault
.ICMP_PROTOCOL
: tipo di protocollo ICMP. 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ù intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6.- 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'utilizzo di
::/0
come intervallo di origine consente il traffico da tutte le origini IPv6, 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
: 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ù intervalli di indirizzi IP. Puoi specificare intervalli IPv4 o IPv6 in una determinata regola firewall. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6.- 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'utilizzo di
::/0
come intervallo di origine consente il traffico da tutte le origini IPv6, incluse quelle esterne a Google Cloud.
- L'utilizzo di
Altri esempi di configurazione
Il diagramma seguente mostra una configurazione firewall di esempio. Lo scenario riguarda un my-network
che contiene quanto segue:
- una subnet
subnet1
con intervallo IP10.240.10.0/24
- una subnet
subnet2
con intervallo IP192.168.1.0/24
- istanza
vm1
insubnet2
con tagwebserver
e IP interno192.168.1.2
- istanza
vm2
insubnet2
con tagdatabase
e IP interno192.168.1.3
Esempio 1: impedisci il collegamento di tutte le connessioni TCP in entrata ad eccezione di quelle alla porta 80
di subnet1
Questo esempio crea un insieme di regole firewall che rifiutano 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 verso le istanze con tag
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 IP in
subnet1
(10.240.10.0/24
) di accedere alla porta TCP80
sulle istanze codificate 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: impedisci il collegamento di tutte le connessioni TCP in uscita, tranne quelle alla porta 80
di 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 la regola del 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 con tag webserver
di inviare il traffico TCP in uscita alla 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 le connessioni SSH da vm2
a vm1
Crea una regola firewall che consenta al traffico SSH da istanze con tag database
(vm2
) di raggiungere le istanze con 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: consenti TCP:1443 dal server web al database utilizzando gli account di servizio
Per ulteriori informazioni sugli account di servizio e sui ruoli, consulta Concedere i ruoli agli account di servizio.
Considera lo scenario nel diagramma di seguito, in cui sono presenti due applicazioni di cui viene eseguita la scalabilità automatica tramite i modelli, un'applicazione server web my-sa-web
e un'applicazione di database "my-sa-db". Un amministratore di sicurezza vuole consentire i flussi TCP alla porta di destinazione 1443
da my-sa-web
a my-sa-db
.
La procedura di configurazione, inclusa la creazione degli account di servizio, è la seguente:
gcloud
Un EDITOR o PROPRIETARIO del progetto crea gli account di servizio
my-sa-web
emy-sa-db
.gcloud iam service-accounts create my-sa-web \ --display-name "webserver service account"
gcloud iam service-accounts create my-sa-db \ --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 serviziomy-sa-web
impostando un criterio Identity and Access Management (IAM).gcloud iam service-accounts add-iam-policy-binding \ my-sa-web@my-project.iam.gserviceaccount.com \ --member='user:web-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Un PROPRIETARIO del progetto assegna allo sviluppatore del database "db-dev@example.com" un ruolo serviceAccountUser per l'account di servizio
my-sa-db
impostando un criterio IAM.gcloud iam service-accounts add-iam-policy-binding \ my-sa-db@my-project.iam.gserviceaccount.com \ --member='user:db-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Lo sviluppatore
web-dev@example.com
, con ruolo di amministratore di istanza, crea il modello di istanza server web e autorizza le istanze a essere eseguite come account di serviziomy-sa-web
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME] \ --service-account my-sa-web@my-project-123.iam.gserviceaccount.com
Lo sviluppatore
db-dev@example.com
, con il ruolo Amministratore istanze, crea il modello di istanza di database e autorizza le istanze a essere eseguite come account di serviziomy-sa-db
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-db@my-project-123.iam.gserviceaccount.com
L'amministratore della sicurezza crea le regole firewall utilizzando gli account di servizio per consentire il traffico
TCP:1443
dall'account di serviziomy-sa-web
all'account di serviziomy-sa-db
.gcloud compute firewall-rules create RULE_NAME \ --network network_a \ --allow TCP:1443 \ --source-service-accounts my-sa-web@my-project.iam.gserviceaccount.com \ --target-service-accounts my-sa-db@my-project.iam.gserviceaccount.com
Risolvere i problemi
Messaggi di errore durante la creazione o l'aggiornamento di una regola firewall
Potresti vedere 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 non venga specificata una direzione di
egress
. Se crei una regola che non specifica una direzione, viene creata come regola in entrata, che non consente un intervallo di destinazione. Inoltre, gli intervalli di origine non sono parametri validi per le regole 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 vecchia.
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, quindi eliminare quella vecchia.
Service accounts must be valid RFC 822 email addresses.
L'account di servizio specificato nella regola firewall deve essere un indirizzo email nel formato 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 sia 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 troppi firewall di grandi dimensioni
Potresti visualizzare il seguente messaggio di errore:
Google Compute Engine: The network contains too many large firewalls.
Per mantenere la sicurezza e le prestazioni, c'è un limite alla complessità e al numero di regole firewall che possono essere implementate in una rete VPC. Se vedi questo errore, chiedi al team di gestione del tuo account di semplificare o consolidare le regole firewall.
Impossibile connettersi all'istanza VM
Se non riesci a connetterti a un'istanza VM, controlla le regole firewall.
gcloud
Se stai avviando la connessione da un'altra istanza VM, elenca le regole del firewall in uscita per l'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 che l'IP di destinazione venga negato da eventuali regole del traffico in uscita. La regola con la priorità più alta (numero di priorità più basso) sostituisce le regole con priorità inferiore. Per due regole con la stessa priorità, la regola di negazione ha la precedenza.
Verifica la regola firewall in entrata per la rete che contiene l'istanza VM di destinazione.
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.Output di esempio. L'output dipenderà dall'elenco delle 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 e 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 eliminato da eventuali regole firewall in entrata o in uscita. Per ulteriori informazioni su come eseguire i test di connettività per risolvere vari scenari, consulta la sezione Esecuzione dei test di connettività.
La regola firewall è attivata o disattivata?
Per verificare se una regola firewall è abilitata o disattivata, visualizza i dettagli delle regole firewall.
Nella console Google Cloud, cerca Abilitata o Disattivata in Applicazione.
Nell'output dell'interfaccia a riga di comando gcloud, cerca il campo disabled
.
Se è indicato disabled:false
, la regola è attivata e applicata. Se è specificato disabled: true
, la regola è disattivata.
Quale regola viene applicata a un'istanza VM?
Dopo aver creato una regola, puoi controllare se viene applicata correttamente su una determinata istanza. Per ulteriori informazioni, consulta la pagina relativa all'elenco delle regole firewall per un'interfaccia di rete di un'istanza VM.
Le regole firewall con tag di origine non hanno effetto immediato
La propagazione delle regole firewall in entrata che utilizzano tag di origine può richiedere tempo. Per i dettagli, consulta le considerazioni relative ai tag di origine per le regole firewall in entrata.
Passaggi successivi
- Per un'introduzione alle regole firewall, consulta Regole firewall VPC.