Nesta página, descrevemos os comandos para trabalhar com regras de firewall da nuvem privada virtual (VPC) e oferecemos alguns exemplos de como usá-las. Com as regras de firewall da VPC, é possível permitir ou negar o tráfego de/para instâncias de máquina virtual (VM) em uma rede VPC com base em número de porta, tag ou protocolo.
Antes de começar
Para saber mais sobre regras de firewall, como regras implícitas e regras geradas pelo sistema para redes padrão, consulte Regras de firewall da VPC.
Antes de configurar as regras de firewall, revise os componentes da regra de firewall para se familiarizar com os componentes de firewall usados no Google Cloud.
Criar regras de firewall da VPC
As regras de firewall são identificadas no nível da rede e se aplicam apenas à rede em que são criadas. No entanto, o nome escolhido para cada uma precisa ser único no projeto.
Uma regra de firewall pode conter intervalos IPv4 ou IPv6, mas não ambos.
Quando você cria uma regra de firewall, é possível optar por ativar a geração de registros das regras de firewall. Se você ativar a geração de registros, poderá omitir os campos de metadados para economizar custos de armazenamento. Para mais informações, consulte Usar regras de firewall.
Se você quiser especificar várias contas de serviço para o campo de conta de serviço de origem ou destino, use a Google Cloud CLI, a API ou as bibliotecas de cliente.
A rede padrão fornece regras de firewall automáticas no momento da criação. As redes personalizadas e de modo automático permitem que você crie facilmente firewalls semelhantes durante a criação da rede, caso esteja usando o console do Google Cloud. Se você estiver usando a gcloud CLI ou a API e quiser criar regras de firewall semelhantes às fornecidas pela rede padrão, consulte Configurar regras de firewall para ver casos de uso comuns.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Clique em Criar regra de firewall.
Digite um Nome para a regra do firewall.
O nome precisa ser exclusivo no projeto.
(Opcional) É possível ativar o registro de regras de firewall:
- Clique em Registros > Ativado.
- Para omitir metadados, clique em Mostrar detalhes de registros e desmarque a caixa de seleção Incluir metadados.
Especifique a Rede da regra de firewall.
Especifique a Prioridade da regra.
Quanto menor o número, mais alta a prioridade.
Em Direção do tráfego, escolha entrada ou saída.
Em Ação se houver correspondência, escolha permitir ou negar.
Especifique os Destinos da regra.
- Se você quiser que a regra se aplique a todas as instâncias na rede, escolha All instances in the network.
- Se você quiser que a regra se aplique a determinadas instâncias por tags de rede (destino), escolha Tags de destino especificadas e, no campo Tags de destino, digite as tags às quais a regra deve ser aplicada.
- Para que a regra se aplique a determinadas instâncias por conta de serviço associada, escolha Conta de serviço especificada, indique se a conta de serviço está no projeto atual ou em outro em Escopo da conta de serviço e, no campo Conta de serviço de destino, escolha ou digite o nome da conta de serviço.
Para uma regra de entrada, especifique o Filtro de origem.
- Para filtrar o tráfego de entrada por intervalos de IPv4 de origem, selecione Intervalos IPv4 e insira os blocos CIDR no campo Intervalos IPv4 de origem. Use
0.0.0.0/0
para qualquer origem IPv4. - Para filtrar o tráfego de entrada por intervalos IPv6 de origem, selecione Intervalos IPv6
e insira os blocos CIDR no campo Intervalos IPv6 de origem. Use
::/0
para qualquer origem IPv6. - Para filtrar o tráfego de entrada por tag de rede, escolha Tags de origem e digite as tags de rede no campo Tags de origem. Para ver o limite do número de tags de origem, consulte Limites por rede. A filtragem por tag de origem só estará disponível se o destino não for especificado pela conta de serviço. Para mais informações, consulte filtragem por conta de serviço versus tag de rede.
- Para filtrar o tráfego de entrada por conta de serviço, selecione Conta de serviço, indique se a conta está no projeto atual ou em outro em Escopo da conta de serviço e escolha ou digite o nome da conta no campo Conta de serviço de origem. A filtragem por conta de serviço de origem só estará disponível se o destino não for especificado pela tag de rede. Para mais informações, consulte filtragem por conta de serviço versus tag de rede.
- Especifique um Segundo filtro de origem, se quiser. Os filtros de origem secundários não podem usar os mesmos critérios de filtro que o principal. Os intervalos de IP de origem podem ser usados com tags de origem ou conta de serviço de origem. O conjunto de origens efetivas é a união dos endereços IP do intervalo de origem e as instâncias identificadas pelas tags de rede ou contas de serviço. Ou seja, se o intervalo de IP de origem ou as tags de origem (ou contas de serviço de origem) corresponderem aos critérios do filtro, a origem será incluída no conjunto de origem efetivo.
- As tags de origem e a conta de serviço de origem não podem ser usadas em conjunto.
- Para filtrar o tráfego de entrada por intervalos de IPv4 de origem, selecione Intervalos IPv4 e insira os blocos CIDR no campo Intervalos IPv4 de origem. Use
Para uma regra de entrada, especifique o Filtro de destino:
- Para filtrar o tráfego de entrada por intervalos IPv4 de destino, selecione
Intervalos IPv4 e insira os blocos CIDR no campo
Intervalos IPv4 de destino. Use
0.0.0.0/0
para qualquer destino IPv4. - Para filtrar o tráfego de entrada por intervalos IPv6 de destino, selecione
Intervalos IPv6 e insira os blocos CIDR no campo
Intervalos IPv6 de destino. Use
::/0
para qualquer destino IPv6. Para mais informações, consulte Destino das regras de entrada.
- Para filtrar o tráfego de entrada por intervalos IPv4 de destino, selecione
Intervalos IPv4 e insira os blocos CIDR no campo
Intervalos IPv4 de destino. Use
Para uma regra de saída, especifique o Filtro de destino.
- Para filtrar o tráfego de saída por intervalos IPv4 de destino, selecione Intervalos IPv4 e insira os blocos CIDR no campo Intervalos IPv4 de destino. Use
0.0.0.0/0
para qualquer destino IPv4. - Para filtrar o tráfego de saída por intervalos IPv6 de destino, selecione Intervalos IPv6 e insira os blocos CIDR no campo Intervalos IPv6 de destino. Use
::/0
para qualquer destino IPv6.
- Para filtrar o tráfego de saída por intervalos IPv4 de destino, selecione Intervalos IPv4 e insira os blocos CIDR no campo Intervalos IPv4 de destino. Use
Para uma regra de saída, especifique o Filtro de origem:
- Para filtrar o tráfego de saída por intervalos de IPv4 de origem, selecione
Intervalos IPv4 e insira os blocos CIDR no campo
Intervalos IPv4 de origem. Use
0.0.0.0/0
para qualquer origem IPv4. - Para filtrar o tráfego de saída por intervalos IPv6 de origem, selecione
Intervalos IPv6 e insira os blocos CIDR no campo
Intervalos IPv6 de origem. Use
::/0
para qualquer destino IPv6. Para mais informações, consulte Origem das regras de saída.
- Para filtrar o tráfego de saída por intervalos de IPv4 de origem, selecione
Intervalos IPv4 e insira os blocos CIDR no campo
Intervalos IPv4 de origem. Use
Defina os Protocolos e portas a que a regra se aplica:
- Para que a regra se aplique a todos os protocolos e portas, selecione Permitir tudo ou Negar tudo, dependendo da ação.
Para definir protocolos e portas de destino específicos, selecione Portas e protocolos especificados:
- Selecione TCP para incluir o protocolo TCP e as
portas. Digite
all
ou uma lista de portas de destino delimitadas por vírgulas, como20-22, 80, 8080
. - Selecione UDP para incluir o protocolo UDP e
as portas. Digite
all
ou uma lista de portas de destino delimitadas por vírgulas, como67-69, 123
. Selecione Outros para incluir protocolos como
icmp
,sctp
ou um número de protocolo. Por exemplo, useicmp
ou o número do protocolo1
para ICMP IPv4. Use o número de protocolo58
para IPv6 ICMP.Para mais informações, consulte protocolos e portas de destino.
- Selecione TCP para incluir o protocolo TCP e as
portas. Digite
(Opcional) É possível criar a regra de firewall, mas não aplicá-la, definindo seu estado de aplicação como desativada. Clique em Desativar regra e selecione Desativada.
Clique em Criar.
gcloud
Para criar uma regra de firewall da VPC, use o
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]
Use os parâmetros da seguinte maneira. Mais detalhes sobre cada um estão disponíveis na documentação de referência do SDK.
--network
A rede da regra. Se omitida, a regra será criada na rededefault
. Se você não tiver uma rede padrão ou quiser criar a regra em uma rede específica, use este campo.--priority
Um valor numérico que indica a prioridade da regra. Quanto menor o número, mais alta a prioridade.--direction
A direção do tráfego, que pode seringress
ouegress
.--action
A ação na correspondência, que pode serallow
oudeny
. Precisa ser usado com a sinalização--rules
.- Especifique um destino de uma das seguintes maneiras:
Na regra de entrada, a fim de refinar ainda mais o destino, use
--destination-ranges
para especificar intervalos de endereços IPv4 ou IPv6 no formato CIDR. Se--destination-ranges
for omitido, o destino de entrada será qualquer endereço IPv4,0.0.0.0/0
. Para mais informações, consulte Destinos das regras de entrada e Endereços IP e de destino das regras de entrada.Para uma regra de entrada, especifique uma origem:
--source-ranges
Use esta sinalização para especificar intervalos de endereços IPv4 ou IPv6 de origem no formato CIDR.- Se
--source-ranges
,source-tags
e--source-service-accounts
forem omitidos, a origem de entrada será qualquer endereço IPv4,0.0.0.0/0
. --source-tags
Use esta sinalização para especificar instâncias de origem por tags de rede. A filtragem por tag de origem só estará disponível se o destino não for especificado pela conta de serviço. Para mais informações, consulte Filtragem por conta de serviço versus tag de rede.--source-ranges
e--source-tags
podem ser usadas juntas. Se ambos forem especificados, o conjunto de origens efetivas será a união dos endereços IP do intervalo de origem e as instâncias identificadas pelas tags de rede, mesmo se as instâncias marcadas tiverem IPs fora dos intervalos de origem.--source-service-accounts
Use este sinalizador para especificar instâncias pelas contas de serviço que elas usam. A filtragem por conta de serviço de origem só estará disponível se o destino não for especificado pela tag de rede. Para mais informações, consulte filtragem por conta de serviço versus tag de rede.--source-ranges
e--source-service-accounts
podem ser usadas juntas. Se ambos forem especificados, o conjunto de origem efetivo será a união dos endereços IP do intervalo de origem e as instâncias identificadas pelas contas de serviço de origem, mesmo que estas instâncias não tenham IPs nos intervalos de origem.
Na regra de saída, a fim de refinar ainda mais a origem, use
--source-ranges
para especificar intervalos de endereços IPv4 ou IPv6 no formato CIDR. Se--source-ranges
for omitido, a origem de saída será qualquer endereço IPv4,0.0.0.0/0
. Para mais informações, consulte Origens das regras de saída e Endereços IP e de destino das regras de saída.Para uma regra de saída, especifique um destino:
--destination-ranges
Use esta sinalização para especificar intervalos de endereços IPv6 ou IPv6 de destino no formato CIDR.- Se
--destination-ranges
for omitido, o destino de saída será qualquer endereço IPv4,0.0.0.0/0
.
--rules
Uma lista de protocolos e portas de destino a que a regra se aplica. Useall
para tornar a regra aplicável a todos os protocolos e todas as portas. Requer a sinalização--action
.Por padrão, as regras de firewall são criadas e aplicadas automaticamente. No entanto, é possível alterar esse comportamento.
- Se
--disabled
e--no-disabled
forem omitidos, a regra de firewall será criada e aplicada. --disabled
Adicione este sinalizador para criar a regra de firewall, mas não para aplicá-la. Ela permanecerá desativada até que você atualize a regra de firewall para ativá-la.--no-disabled
Adicione esta sinalização para garantir que a regra de firewall seja aplicada.
- Se
--enable-logging | --no-enable-logging
É possível ativar o registro de regras de firewall ao criar ou atualizar uma regra. O recurso de geração de registros de regras de firewall permite auditar, verificar e analisar os efeitos das suas regras de firewall. Consulte a geração de registros de regras de firewall para mais detalhes.--logging-metadata
Se você ativar a geração de registros, por padrão, a geração de registros de regras de firewall incluirá campos de base e metadados. É possível omitir campos de metadados para economizar custos de armazenamento. Para mais informações, consulte Como usar a geração de registros de regras de firewall.
Terraform
Para criar uma regra de firewall, use um recurso google_compute_firewall
.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
API
Crie uma regra de firewall da 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 }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada.NETWORK
: o nome da rede VPC em que a regra de firewall foi criada.RULE_NAME
: o nome da regra de firewall.Para uma regra de firewall de entrada, especifique a origem e o destino de entrada:
Use os campos
sourceRanges
,sourceTags
ousourceServiceAccounts
para especificar a origem de entrada.sourceRanges
pode ser intervalos IPv4 ou IPv6, mas não uma combinação de ambos. Para usar o intervalo0.0.0.0/0
, não especifique nenhum campo.Não é possível usar os campos
sourceTags
esourceServiceAccounts
juntos. No entanto, é possível usarsourceRanges
comsourceTags
ousourceServiceAccounts
. Se você fizer isso, a conexão precisará corresponder a um ou outro para que a regra de firewall seja aplicada.Para os campos de destino, se você usar o campo
sourceTags
, não poderá usar o campotargetServiceAccounts
. Você precisa usar o campotargetTags
ou nenhum campo de destino. Da mesma forma, se você usar o camposourceServiceAccounts
, não poderá usar o campotargetTags
. Se você não especificar um campo de destino, a regra será aplicada a todos os destinos na rede.Use o campo
destinationRanges
para especificar o destino de entrada.destinationRanges
pode ser um intervalo IPv4 ou IPv6, mas não uma combinação dos dois.
Se você não especificar um destino, o Google Cloud usará0.0.0.0/0
. Para mais informações, consulte Destinos das regras de entrada e Endereços IP e de destino das regras de entrada.
Para uma regra de firewall de saída, especifique a origem e o destino da saída:
Use o campo
sourceRanges
para especificar a origem da saída.sourceRange
pode ser intervalos IPv4 ou IPv6, mas não uma combinação de ambos.
Se você não especificar uma origem, o Google Cloud usará0.0.0.0/0
. Para mais informações, consulte Origens das regras de saída e Endereços IP e de destino das regras de saída.Use o campo
destinationRanges
para especificar o destino.destinationRanges
pode ser intervalos IPv4 ou IPv6, mas não uma combinação de ambos.
Se você não especificar um destino, o Google Cloud usará0.0.0.0/0
. Use o campotargetTags
outargetServiceAccounts
para especificar a quais destinos a regra se aplica. Se você não especificar um campo de destino, a regra será aplicada a todos os destinos na rede.
Para mais informações e descrições de cada campo, consulte o método firewalls.insert
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Atualizar regras de firewall da VPC
É possível modificar alguns componentes de uma regra de firewall, como os protocolos e portas especificados para a condição de correspondência. Não é possível modificar o nome de uma regra de firewall, a rede, a ação, se houver correspondência, e a direção do tráfego.
Se for preciso mudar o nome, a rede ou o componente de ação ou de direção, exclua a regra e crie uma nova.
Se você quiser adicionar ou remover várias contas de serviço, use a CLI gcloud, a API ou as bibliotecas de cliente. Não é possível usar o Console do Google Cloud para especificar várias contas de serviço de destino ou de origem.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Clique na regra do firewall que você quer modificar.
Clique em Editar.
Modifique qualquer um dos componentes editáveis para atender às suas necessidades.
Clique em Salvar.
gcloud
Para atualizar as regras de firewall da VPC, use o 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]
A descrição de cada sinalização é a mesma usada na criação de regras de firewall. Veja mais detalhes sobre cada uma na documentação de referência do SDK.
API
Use PATCH para atualizar os seguintes campos: allowed
, description
, sourceRanges
, sourceTags
ou targetTags
. Use PUT ou POST para todos os outros campos.
(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 }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada.NETWORK
: o nome da rede VPC em que a regra de firewall está localizada.RULE_NAME
: o nome da regra de firewall a ser atualizada.
Para mais informações e descrições de cada campo, consulte o método firewalls.patch
ou firewalls.update
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Listar regras de firewall da VPC para uma rede VPC
É possível listar todas as regras de firewall do projeto ou de uma determinada rede VPC. Para cada regra de firewall, o Google Cloud mostra detalhes como o tipo, os destinos e os filtros da regra.
Se a Geração de registros de regras de firewall for ativada, o Firewall Insights poderá fornecer insights sobre suas regras de firewall para ajudá-lo a entender e otimizar com segurança as configurações. Por exemplo, é possível ver quais regras allow
não foram usadas nas últimas seis semanas.
Para mais informações, consulte Como usar a tela de detalhes das regras de firewall na documentação do Firewall Insights.
Console
Para mostrar todas as regras de firewall para todas as redes do seu projeto, faça o seguinte:
No Console do Google Cloud, acesse a página políticas de Firewall.
Para mostrar regras de firewall em uma rede específica, siga estas etapas:
No Console do Google Cloud, acesse a página Redes VPC.
Clique no Nome de uma rede VPC para acessar a respectiva página de detalhes.
Na página de detalhes da rede, clique na guia Firewalls.
Expanda vpc-firewall-rules.
gcloud
Para produzir uma lista classificada de regras de firewall
da VPC para uma determinada rede, use o
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 )"
Substitua NETWORK
pelo nome da rede para listar
as regras de firewall.
API
Lista todas as regras de firewall de uma determinada rede.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/?filter=network="NETWORK
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada.NETWORK
: o nome da rede VPC que contém as regras de firewall a serem listadas.
Para mais informações, consulte o
método firewalls.list
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Liste regras de firewall da VPC para uma interface de rede de uma instância de VM
O Console do Google Cloud lista, para cada interface de rede, todas as regras de firewall que se aplicam à interface e às regras que estão sendo usadas por ela. As regras de firewall podem mascarar outras regras. Assim, nem todas as regras que se aplicam a uma interface são usadas por ela.
As regras de firewall são associadas e aplicadas às instâncias de VM por meio do parâmetro de destino de uma regra. Ao visualizar todas as regras aplicadas, é possível verificar se uma determinada regra é aplicada a uma interface.
Se a Geração de registros de regras de firewall for ativada, o Firewall Insights poderá fornecer insights sobre suas regras de firewall para ajudá-lo a entender e otimizar com segurança as configurações. Por exemplo, é possível ver quais regras em uma interface ocorreram nas últimas seis semanas. Para mais informações, consulte Como usar a tela de detalhes da interface de rede da VM na documentação do Firewall Insights.
Console
Para visualizar as regras de firewall que se aplicam a uma interface de rede específica de uma instância de VM:
No console do Google Cloud, acesse a página Instâncias de VMs.
Encontre a instância que você quer ver.
No menu mais ações (
) da instância, selecione Ver detalhes da rede.Se uma instância tiver várias interfaces de rede, selecione a interface de rede que será exibida no campo Interface de rede selecionada.
Na seção Detalhes do firewall e das rotas, selecione a guia Firewalls.
Expanda vpc-firewall-rules.
Visualize a tabela para determinar se o tráfego de ou para um endereço IP específico é permitido.
Ver detalhes da regra de firewall da VPC
É possível examinar uma regra de firewall para ver o nome, a rede aplicável e os componentes dela, inclusive se a regra está ativada ou desativada.
Console
- Liste suas regras de firewall. É possível ver uma lista de todas as regras ou apenas aquelas em uma rede específica.
- Clique na regra que você quer ver.
gcloud
O comando a seguir descreve uma regra de firewall individual. Como os nomes de regras de firewall são únicos no projeto, não é preciso especificar uma rede ao descrever uma regra existente.
gcloud compute firewall-rules describe RULE_NAME
Substitua RULE_NAME
pelo nome da regra
de firewall.
API
Descreve uma determinada regra de firewall da VPC.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Substitua os marcadores por valores válidos:
PROJECT_ID
: o ID do projeto em que a regra de firewall está localizada.RULE_NAME
: o nome da regra de firewall a ser descrita.
Para mais informações, consulte o
método firewalls.get
.
Excluir regras de firewall da VPC
Console
- Liste suas regras de firewall da VPC. É possível ver uma lista de todas as regras ou apenas aquelas em uma rede específica.
- Clique na regra que você quer excluir.
- Clique em Excluir.
- Clique em Excluir novamente para confirmar.
gcloud
Para excluir uma regra de firewall da VPC, use o
comando gcloud compute firewall-rules delete
:
gcloud compute firewall-rules delete RULE_NAME
Substitua RULE_NAME
pelo nome da regra a ser excluída.
API
Exclua uma regra de firewall da VPC.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que a regra de firewall está localizada.RULE_NAME
: o nome da regra de firewall a ser excluída.
Para mais informações, consulte o
método
firewalls.delete
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Monitorar regras de firewall da VPC
É possível ativar o registro de regras de firewall para ver qual regra permitiu ou bloqueou o tráfego. Consulte Usar o registro de regras de firewall para ver instruções.
Configurar regras de firewall para casos de uso comuns
Veja nas seções a seguir exemplos de como usar a CLI gcloud e a API para recriar as regras de firewall predefinidas criadas para redes padrão. Você pode usar os exemplos para criar regras semelhantes para suas redes de modo automático e personalizado. Cada regra de firewall pode incluir intervalos de endereços IPv4 ou IPv6, mas não ambos.
Permitir conexões de entrada internas entre VMs
Os exemplos a seguir criam uma regra de firewall que permite conexões
TCP, UDP e ICMP às instâncias de VM, semelhante à regra allow-internal
para
redes padrão:
gcloud
Use o 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
Substitua:
RULE_NAME
: o nome desta regra de firewall.NETWORK
: o nome da rede à qual se aplica essa regra de firewall. O valor padrão édefault
.ICMP_PROTOCOL
: o tipo de protocolo ICMP. Especifique o ICMPv4 usando o nome do protocoloicmp
ou o número do protocolo1
. Especifique o ICMPv6 usando o protocolo número58
.SUBNET_RANGES
: um ou mais intervalos de endereços IP. A inclusão de um intervalo de endereços IP significa que o tráfego desse intervalo pode alcançar qualquer destino de VM na rede VPC. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall.Intervalos de sub-rede IPv4:
- As redes VPC de modo automático usam intervalos de endereços IP que estão
dentro de
10.128.0.0/9
. - As redes de modo personalizado podem usar qualquer intervalo IPv4 válido. Se você não estiver usando intervalos contíguos para as sub-redes na rede VPC, talvez seja necessário especificar vários intervalos.
- É possível usar
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
para permitir o tráfego de todos os intervalos de endereços IPv4 privados (intervalos RFC 1918).
Intervalos de sub-rede IPv6:
Se você tiver atribuído um intervalo de endereços IPv6 interno à sua rede VPC, use esse intervalo como um intervalo de origem. A utilização do intervalo IPv6 interno da rede VPC significa que a regra de firewall inclui todos os intervalos de sub-rede IPv6 internos atuais e futuros. Encontre o intervalo IPv6 interno da rede VPC usando o seguinte comando:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Também é possível especificar intervalos de sub-rede IPv6 específicos.
Para permitir o tráfego dos intervalos de sub-rede IPv6 externos de sub-redes de pilha dupla, você precisa especificar o intervalo de endereços IPv6 de cada sub-rede que quer incluir.
- As redes VPC de modo automático usam intervalos de endereços IP que estão
dentro de
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" ] }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada;RULE_NAME
: o nome da regra de firewall.NETWORK
: o nome da rede VPC em que a regra de firewall foi criada. O valor padrão édefault
.ICMP_PROTOCOL
: o tipo de protocolo ICMP. Especifique o ICMPv4 usando o nome do protocoloicmp
ou o número do protocolo1
. Especifique o ICMPv6 usando o protocolo número58
.INTERNAL_SOURCE_RANGES
: um ou mais intervalos de IP. Para permitir o tráfego interno em todas as sub-redes nas redes VPC, especifique os intervalos de endereços IP usados na rede VPC. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall.Intervalos de sub-rede IPv4:
- As redes VPC de modo automático usam intervalos de endereços IP que estão
dentro de
10.128.0.0/9
. - As redes de modo personalizado podem usar qualquer intervalo IPv4 válido. Se você não estiver usando intervalos contíguos para as sub-redes na rede VPC, talvez seja necessário especificar vários intervalos.
- É possível usar
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
para permitir o tráfego de todos os intervalos de endereços IPv4 privados (intervalos RFC 1918).
Intervalos de sub-rede IPv6:
Se você tiver atribuído um intervalo de endereços IPv6 interno à sua rede VPC, use esse intervalo como um intervalo de origem. A utilização do intervalo IPv6 interno da rede VPC significa que a regra de firewall inclui todos os intervalos de sub-rede IPv6 internos atuais e futuros. Encontre o intervalo IPv6 interno da rede VPC usando o seguinte comando:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Também é possível especificar intervalos de sub-rede IPv6 específicos.
Para permitir o tráfego dos intervalos de sub-rede IPv6 externos de sub-redes de pilha dupla, você precisa especificar o intervalo de endereços IPv6 de cada sub-rede que quer incluir.
- As redes VPC de modo automático usam intervalos de endereços IP que estão
dentro de
Permitir conexões SSH de entrada a VMs
Os exemplos a seguir criam uma regra de firewall que permite conexões SSH às
instâncias de VM, semelhante à regra allow-ssh
para redes padrão:
gcloud
Use o 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
Substitua:
RULE_NAME
: o nome desta regra de firewall.NETWORK
: o nome da rede à qual se aplica essa regra de firewall. O valor padrão édefault
.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- A inclusão de
35.235.240.0/20
nos intervalos de origem permitirá conexões SSH usando o encaminhamento de TCP do Identity-Aware Proxy (IAP) se todos os outros pré-requisitos forem atendidos. Para mais informações, consulte Como usar o IAP para encaminhamento de TCP. - O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- A inclusão de
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" ] }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada;RULE_NAME
: o nome da regra de firewall.NETWORK
: o nome da rede VPC em que a regra de firewall foi criada.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- A inclusão de
35.235.240.0/20
nos intervalos de origem permitirá conexões SSH usando o encaminhamento de TCP do Identity-Aware Proxy (IAP) se todos os outros pré-requisitos forem atendidos. Para mais informações, consulte Como usar o IAP para encaminhamento de TCP. - O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- A inclusão de
Permitir conexões RDP de entrada a VMs
Os exemplos a seguir criam uma regra de firewall que permite conexões do protocolo da área de trabalho remota (RDP, na sigla em inglês) da Microsoft às instâncias de VM, semelhante à regra allow-rdp
para redes padrão:
gcloud
Use o 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
Substitua:
RULE_NAME
: o nome desta regra de firewall.NETWORK
: o nome da rede à qual se aplica essa regra de firewall. O valor padrão édefault
.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- A inclusão de
35.235.240.0/20
nos intervalos de origem permitirá conexões RDP usando o encaminhamento de TCP do Identity-Aware Proxy (IAP) se todos os outros pré-requisitos forem atendidos. Para mais informações, consulte Como usar o IAP para encaminhamento de TCP. - O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- A inclusão de
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" ] }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada;RULE_NAME
: o nome da regra de firewall.NETWORK
: o nome da rede VPC em que a regra de firewall foi criada.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- A inclusão de
35.235.240.0/20
nos intervalos de origem permitirá conexões RDP usando o encaminhamento de TCP do Identity-Aware Proxy (IAP) se todos os outros pré-requisitos forem atendidos. Para mais informações, consulte Como usar o IAP para encaminhamento de TCP. - O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- A inclusão de
Permitir conexões ICMP de entrada a VMs
Os exemplos a seguir criam uma regra de firewall que permite conexões SSH às
instâncias de VM, semelhante à regra allow-icmp
para redes padrão:
gcloud
Use o 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
Substitua:
RULE_NAME
: o nome da regra de firewall.NETWORK
: o nome da rede à qual se aplica essa regra de firewall. O valor padrão édefault
.ICMP_PROTOCOL
: o tipo de protocolo ICMP. Especifique o ICMPv4 usando o nome do protocoloicmp
ou o número do protocolo1
. Especifique o ICMPv6 usando o protocolo número58
.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- O uso de
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" ] }
Substitua:
PROJECT_ID
: o ID do projeto em que a rede VPC está localizada;RULE_NAME
: o nome da regra de firewall.NETWORK
: o nome da rede VPC em que a regra de firewall foi criada.ICMP_PROTOCOL
: o tipo de protocolo ICMP a ser usado. Especifique o ICMPv4 usando o nome do protocoloicmp
ou o número do protocolo1
. Especifique o ICMPv6 usando o protocolo número58
.RANGES_OUTSIDE_VPC_NETWORK
: um ou mais intervalos de endereços IP. É possível especificar intervalos IPv4 ou IPv6 em uma determinada regra de firewall. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todos as origens IPv4 ou IPv6.- O uso de
0.0.0.0/0
como um intervalo de origem permite o tráfego de todas as origens IPv4, incluindo origens fora do Google Cloud. - O uso de
::/0
como um intervalo de origem permite o tráfego de todas as origens IPv6, incluindo origens fora do Google Cloud.
- O uso de
Outros exemplos de configuração
A Figura 1 descreve um exemplo de configuração para uma rede VPC chamada my-network
. A rede contém o seguinte:
- Uma sub-rede chamada
subnet1
, com o intervalo de IP10.240.10.0/24
e uma única instância - Uma sub-rede chamada
subnet2
, com o intervalo de IP192.168.1.0/24
- Uma instância chamada
vm1
emsubnet2
com uma tag dewebserver
e endereço IP interno192.168.1.2
- Uma instância chamada
vm2
emsubnet2
com uma tag dedatabase
e endereço IP interno192.168.1.3
Exemplo 1: negar todas as conexões TCP de entrada, exceto as de subnet1 para a porta 80
Este exemplo cria um conjunto de regras de firewall que negam todas as conexões TCP de entrada, exceto as conexões destinadas à porta 80
da subnet1
.
gcloud
Crie uma regra de firewall para negar todo o tráfego TCP de entrada para instâncias marcadas com
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
Substitua
NETWORK_NAME
pelo nome da rede.Crie uma regra de firewall para permitir que todos os endereços IP em
subnet1
(10.240.10.0/24
) acessem a porta TCP80
em instâncias marcadas comwebserver
.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
Substitua
NETWORK_NAME
pelo nome da rede.
Exemplo 2: negar todas as conexões TCP de saída, exceto as para a porta 80 da vm1
gcloud
Crie uma regra de firewall para negar todo o tráfego TCP de saída.
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
Substitua
NETWORK_NAME
pelo nome da rede.Crie uma regra de firewall para permitir o tráfego TCP destinado à 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
Substitua
NETWORK_NAME
pelo nome da rede.
Exemplo 3: permitir as conexões TCP de saída para a porta 443 de um host externo
Crie uma regra de firewall que permita que instâncias marcadas com webserver
enviem o tráfego TCP de saída para a porta 443
de um endereço IP externo de amostra, 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
Substitua NETWORK_NAME
pelo nome da rede.
Exemplo 4: permitir conexões SSH de vm2 para vm1
Crie uma regra de firewall que permita o tráfego SSH de instâncias com a tag
database
(vm2
) para chegar a instâncias com a 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
Substitua NETWORK_NAME
pelo nome da rede.
Exemplo 5: permitir TCP:1443 do servidor web ao banco de dados usando as contas de serviço
Para mais informações sobre contas de serviço e papéis, consulte Conceder papéis a contas de serviço.
Considere o cenário na figura 2, em que há dois aplicativos com escalonamento automático feito por meio de modelos: um aplicativo de servidor da Web associado a uma conta de serviço my-sa-webserver
e um aplicativo de banco de dados associado uma conta de serviço my-sa-database
. Um administrador de segurança quer permitir o tráfego TCP de VMs com a conta de serviço my-sa-webserver
para a porta de destino 1443
das VMs com a conta my-sa-database
.
As etapas de configuração, incluindo a criação de contas de serviço, são as seguintes:
gcloud
Um projeto EDITOR ou PROPRIETÁRIO do projeto cria as contas de serviço
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"
Um PROPRIETÁRIO do projeto atribui ao desenvolvedor do servidor da Web web-dev@example.com um papel serviceAccountUser para a conta de serviço
my-sa-webserver
definindo uma Política do Identity and Access Management (IAM).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'
Um PROPRIETÁRIO do projeto atribui ao desenvolvedor do servidor da Web
db-dev@example.com
um papel serviceAccountUser para a conta de serviçomy-sa-database
definindo uma política do 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'
O desenvolvedor
web-dev@example.com
, que tem o papel de administrador da instância, cria um modelo de instância de servidor da Web e autoriza a execução das instâncias como conta de serviçomy-sa-webserver
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-webserver@my-project-123.iam.gserviceaccount.com
O desenvolvedor
db-dev@example.com
, que tem o papel de administrador de instância, cria o modelo de instância do banco de dados e autoriza a execução das instâncias como conta de serviçomy-sa-database
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-database@my-project-123.iam.gserviceaccount.com
O administrador de segurança cria uma regra de firewall que permite o tráfego TCP de VMs com a conta de serviço
my-sa-webserver
para alcançar a porta 1443 das VMs com a conta de serviçomy-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
Solução de problemas
Mensagens de erro ao criar ou atualizar uma regra de firewall
Talvez você verá uma das seguintes mensagens de erro:
Should not specify destination range for ingress direction.
Os intervalos de destino não são parâmetros válidos para regras de firewall de entrada. Presume-se que as regras de firewall sejam regras de entrada, a menos que a direção de
egress
seja expressamente especificada. Se você criar uma regra que não especifique uma direção, ela será criada como uma regra de entrada, que não permite um intervalo de destino. Além disso, os intervalos de origem não são parâmetros válidos para as regras de saída.Firewall direction cannot be changed once created.
Não é possível mudar a direção de uma regra de firewall existente. Crie uma nova regra com os parâmetros corretos e exclua a antiga.
Firewall traffic control action cannot be changed once created.
Não é possível alterar a ação de uma regra de firewall existente. Crie uma nova regra com os parâmetros corretos e exclua a antiga.
Service accounts must be valid RFC 822 email addresses.
A conta de serviço especificada na regra de firewall precisa ser um endereço de e-mail formatado conforme a norma 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.
Não é possível especificar contas de serviço e tags na mesma regra.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.
Erro de recurso não encontrado
Ao excluir uma rede VPC ou uma regra de firewall, talvez seja exibida uma
mensagem semelhante a esta: The resource "aet-uscentral1-subnet--1-egrfw" was not found.
Esse erro pode impedir que você exclua uma regra de firewall implícita ou acesse os detalhes dela. Uma regra de firewall nesse estado também pode impedir que você exclua uma rede VPC.
Para excluir uma regra de firewall ou uma rede bloqueada dessa maneira, primeiro exclua o conector de acesso VPC sem servidor associado e tente novamente. Para mais informações sobre como excluir um conector de acesso VPC sem servidor, consulte Excluir um conector.
Erro de muitos firewalls grandes
Talvez você veja a seguinte mensagem de erro:
Google Compute Engine: The network contains too many large firewalls.
Para manter a segurança e o desempenho, há um limite na complexidade e no número de regras de firewall que podem ser implementadas em uma rede VPC. Se você encontrar esse erro, peça à equipe de gerenciamento de conta para simplificar ou consolidar as regras de firewall.
Não é possível conectar-se à instância de VM
Para se conectar a uma instância de VM, verifique suas regras de firewall.
gcloud
Para iniciar a conexão de outra instância de VM, liste as regras de firewall de saída para essa instância.
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 )"
Substitua
NETWORK_NAME
pelo nome da rede.Verifique se o IP de destino é negado por alguma regra de saída. A regra com a prioridade mais alta (número de prioridade mais baixa) substitui regras de prioridade mais baixa. Para duas regras com a mesma prioridade, opta-se pela regra de negação.
Verifique a regra de firewall de entrada para a rede que contém a instância de VM de destino.
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 )"
Substitua
NETWORK_NAME
pelo nome da rede.Exemplo de saída. A saída dependerá da lista de regras de 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
Também é possível executar testes de conectividade de/para instâncias de VM em uma rede VPC para outra rede VPC ou rede de nuvem que não seja do Google para solucionar problemas se o tráfego estiver sendo descartado por qualquer regra de firewall de entrada ou saída. Para saber mais sobre como executar os testes de conectividade para solucionar problemas em vários casos, veja Como executar Testes de conectividade
Minha regra de firewall está ativada ou desativada?
Para ver se uma regra de firewall está ativada ou desativada, visualize os detalhes das regras de firewall.
No console do Google Cloud, procure Ativado ou Desativado na seção Aplicação.
Na saída da CLI gcloud, procure o campo disabled
.
Se o valor é disabled:false
, a regra está ativada e sendo aplicada. Se o
valor é disabled: true
, a regra está desativada.
Qual regra é aplicada em uma instância de VM?
Depois da criação de uma regra, é possível verificar se ela está sendo aplicada corretamente em uma instância específica. Para mais informações, consulte Como listar regras de firewall para uma interface de rede de uma instância de VM.
As regras de firewall com tags de origem não são aplicadas imediatamente
As regras de firewall de entrada que usam tags de origem podem levar algum tempo para serem propagadas. Para mais detalhes, consulte considerações relacionadas a tags de origem para regras de firewall de entrada.
A seguir
- Para uma introdução às regras de firewall, consulte Regras de firewall da VPC.