Neste tutorial, descrevemos como configurar uma política de firewall de rede global para permitir o tráfego interno entre sub-redes da VM em uma rede VPC personalizada.
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:- Criar uma rede VPC personalizada com duas sub-redes.
- Criar duas instâncias de VM do Linux (uma VM cliente e uma VM do servidor) sem endereços IP externos em sub-redes separadas da rede VPC.
- Criar um Cloud Router e um gateway do Cloud NAT como prática recomendada para fazer o download de pacotes de software.
- Instalar o servidor Apache na VM do servidor.
- Crie uma política de firewall de rede global com as seguintes regras:
- Permitir o tráfego de saída para qualquer destino.
- Ative a geração de registros de firewall.
- Usar o Identity-Aware Proxy (IAP) para permitir a conectividade SSH às VMs.
- Permita que a VM do cliente se conecte à VM do servidor que executa o servidor Apache.
- Teste a conexão.
O diagrama a seguir mostra o fluxo de tráfego entre sub-redes de uma rede VPC personalizada depois que uma política de firewall de rede global permite o tráfego de entrada interna.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Ative a API Compute Engine no projeto.
- Verifique se você tem o papel de Administrador de rede do Compute (
roles/compute.networkAdmin
) e o papel de gerenciamento de identidade e acesso. - Se você preferir trabalhar na linha de comando, instale a Google Cloud CLI. Para informações conceituais e de instalação sobre a ferramenta,
consulte visão geral da CLI gcloud.
Observação: se você ainda não executou a CLI do Google Cloud, primeiro execute
gcloud init
para inicializar o diretório gcloud.
Criar uma rede VPC personalizada com sub-redes
Nesta seção, você cria uma rede VPC de modo personalizado com duas sub-redes IPv4.
Console
No Console do Google Cloud, acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
vpc-fw-rules
.Em Descrição, insira
VPC network for the firewall rules tutorial
.Em Modo de criação da sub-rede, selecione Personalizado.
Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para uma sub-rede:
- Name:
subnet-fw-rules-server
- Região:
us-central1 (Iowa)
- Intervalo IPv4:
10.0.0.0/24
- Acesso privado do Google: ativado
- Name:
Clique em Concluído.
Clique em Adicionar sub-rede e especifique os seguintes parâmetros de configuração:
- Name:
subnet-fw-rules-client
- Região:
us-central1 (Iowa)
- Intervalo IPv4:
192.168.10.0/24
- Acesso privado do Google: ativado
- Name:
Clique em Concluído.
Role para baixo e clique em Criar.
gcloud
Para criar uma rede VPC, execute o seguinte comando:
gcloud compute networks create vpc-fw-rules \ --subnet-mode=custom \ --description="VPC network for the firewall rules tutorial"
Opcional: na caixa de diálogo Autorizar o Cloud Shell, clique em Autorizar.
Para criar uma sub-rede, execute o comando a seguir.
gcloud compute networks subnets create subnet-fw-rules-server \ --network=vpc-fw-rules \ --region=us-central1 \ --range=10.0.0.0/24 \ --enable-private-ip-google-access
Para criar outra sub-rede, execute o seguinte comando:
gcloud compute networks subnets create subnet-fw-rules-client \ --network=vpc-fw-rules \ --region=us-central1 \ --range=192.168.10.0/24 \ --enable-private-ip-google-access
Por padrão, a rede VPC tem duas regras IPv4 implícitas:
- Uma regra de saída
allow
com destino0.0.0.0/0
e a menor prioridade possível (65535) que permite que qualquer instância envie tráfego para qualquer destino, exceto o tráfego bloqueado pelo Google Cloud. - Uma entrada
deny
com a origem0.0.0.0/0
e a menor prioridade possível (65.535) que protege todas as instâncias bloqueando a entrada de conexões.
Para mais informações, consulte Regras implícitas.
Criar VMs de cliente e servidor
Nesta seção, você criará duas VMs do Linux sem endereços IP externos nas sub-redes da rede VPC criada na seção anterior.
Criar a VM do servidor
Console
Para criar a VM do servidor, siga estas etapas:
No console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
vm-fw-rules-server
.Em Região, selecione
us-central1 (Iowa)
.Role para baixo, expanda Opções avançadas e depois expanda Rede.
Na seção Interfaces de rede, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-fw-rules
- Sub-rede:
subnet-fw-rules-server IPv4 (10.0.0.0/24)
- Endereço IPv4 externo: nenhum
- Rede:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar a VM do servidor, execute o seguinte comando:
gcloud compute instances create vm-fw-rules-server \ --network=vpc-fw-rules \ --zone=us-central1-a \ --subnet=subnet-fw-rules-server \ --stack-type=IPV4_ONLY \ --no-address
Criar a VM do cliente
Console
Para criar a VM do cliente, siga estas etapas:
No console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
vm-fw-rules-client
.Em Região, selecione
us-central1 (Iowa)
.Role para baixo, expanda Opções avançadas e depois expanda Rede.
Na seção Interfaces de rede, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-fw-rules
- Sub-rede:
subnet-fw-rules-client IPv4 (192.168.10.0/24)
- Endereço IPv4 externo: nenhum
- Rede:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar a VM, execute o seguinte comando:
gcloud compute instances create vm-fw-rules-client \ --network=vpc-fw-rules \ --zone=us-central1-a \ --subnet=subnet-fw-rules-client \ --stack-type=IPV4_ONLY \ --no-address
Criar um Cloud Router e um gateway NAT do Cloud
Na seção anterior, você criou duas VMs do Linux sem endereços IPv4 públicos. Para permitir que essas VMs acessem a Internet pública, crie um Cloud Router e um gateway do Cloud NAT.
Console
No Console do Google Cloud, acesse a página do Cloud NAT.
Clique em Primeiros passos ou Criar gateway Cloud NAT.
Em Nome do gateway, digite
gateway-fw-rules
.Em Tipo de NAT, selecione Public.
Na seção Selecionar o Cloud Router, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-fw-rules
- Região:
us-central1
- Cloud Router: criar novo roteador.
- Em Nome, insira
router-fw-rules
. - Clique em Criar.
- Em Nome, insira
- Rede:
Clique em Criar.
gcloud
Para criar um Cloud Router, execute o seguinte comando:
gcloud compute routers create router-fw-rules \ --network=vpc-fw-rules \ --region=us-central1
Para criar um gateway do Cloud NAT, execute o seguinte comando:
gcloud compute routers nats create gateway-fw-rules \ --router=router-fw-rules \ --region=us-central1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
Criar uma política de firewall de rede global
Nesta seção, você criará uma política de firewall de rede global com o seguinte:
- Uma regra de saída com
0.0.0.0./0
como destino. Geração de registros ativada. O recurso de geração de registros de regras de firewall permite auditar, verificar e analisar os efeitos das suas regras de firewall.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Clique em Criar política de firewall.
Na seção Configurar política, em Nome da política, digite
fw-policy
.Em Escopo da implantação, selecione Global e clique em Continuar.
Para criar regras para sua política, na seção Adicionar regras, clique em Adicionar regra.
- Em Prioridade, digite
65534
. - Em Direção do tráfego, selecione Saída.
- Em Registros, selecione Ativado.
- Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
- Na seção Destino, em Intervalos de IP, digite
0.0.0.0/0
. - Na seção Protocolo e portas, selecione Permitir tudo.
- Clique em Criar.
- Em Prioridade, digite
Clique em Continuar.
Para associar uma rede VPC à política, na seção Associar política a redes VPC, clique em Associar.
Marque a caixa de seleção
vpc-fw-rules
e clique em Associar.Clique em Continuar.
Clique em Criar.
gcloud
Para criar uma política de firewall, execute o seguinte comando:
gcloud compute network-firewall-policies create fw-policy \ --global
Para criar uma regra de firewall que permita o tráfego para todos os destinos e ative os registros, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 65534 \ --firewall-policy=fw-policy \ --direction=EGRESS \ --action=ALLOW \ --dest-ip-ranges=0.0.0.0/0 \ --layer4-configs=all \ --global-firewall-policy \ --enable-logging
Para associar a política de firewall à rede VPC, execute o seguinte comando:
gcloud compute network-firewall-policies associations create \ --firewall-policy=fw-policy \ --network=vpc-fw-rules \ --name=pol-association-fw-rules \ --global-firewall-policy
Adicionar uma regra de firewall para o IAP
Na seção anterior, você criou VMs do Linux sem endereços IP externos. Nesta seção, você ativará o Identity-Aware Proxy (IAP) para permitir acesso administrativo às instâncias de VM que não têm endereços IP externos.
Para permitir que o IAP se conecte às suas instâncias da VM, crie uma regra de firewall que:
- aplica-se a todas as instâncias da VM que você quer que sejam acessíveis usando o IAP.
- permite o tráfego de entrada do intervalo de IP
35.235.240.0/20
. Esse intervalo contém todos os endereços IP que o IAP usa para o encaminhamento de TCP. - permite conexões com todas as portas que você quer que sejam acessíveis usando o encaminhamento IAP para TCP, por exemplo, porta
22
para SSH e porta3389
para RDP.
Console
Para permitir o acesso RDP e SSH a todas as instâncias de VM na rede vpc-fw-rules, faça o seguinte:
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique em
fw-policy
.Clique em Criar regra.
Em Prioridade, digite
500
.Em Direção de tráfego, selecione Entrada.
Em Registros, selecione Ativado.
Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
Na seção Origem, em Intervalos de IP, insira
35.235.240.0/20
.Na seção Protocolos e portas, selecione Portas e protocolos especificados.
Marque a caixa de seleção TCP e, em TCP, insira
22
e3389
separados por vírgula.Clique em Criar.
gcloud
Para permitir o acesso RDP e SSH a todas as instâncias de VM na rede vpc-fw-rules, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 500 \ --firewall-policy=fw-policy \ --direction=INGRESS \ --action=ALLOW \ --src-ip-ranges=35.235.240.0/20 \ --global-firewall-policy \ --layer4-configs tcp:22,tcp:3389 \ --enable-logging
Instalar o servidor Apache
Nesta seção, você instalará o servidor Apache na VM do servidor.
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna Conectar da VM
vm-fw-rules-server
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para instalar o pacote
apache2
, execute o seguinte comando no prompt de comando:sudo apt update && sudo apt -y install apache2
Depois da instalação do Apache, o sistema operacional inicia automaticamente o servidor Apache.
Para verificar se o Apache está em execução, execute o seguinte comando:
sudo systemctl status apache2 --no-pager
Para substituir a página da Web padrão do servidor da Web Apache, execute o seguinte comando:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
Feche a caixa de diálogo SSH no navegador.
Testar a conexão
Depois de instalar o servidor Apache na VM do servidor, conecte-se à VM do servidor pela VM do cliente usando o endereço IP interno da VM do servidor.
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna IP interno da VM
vm-fw-rules-server
, copie o endereço IP interno da VM.Na coluna Conectar da VM
vm-fw-rules-client
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para verificar a conexão, execute o seguinte comando:
curl INTERNAL_IP -m 2
Substitua
INTERNAL_IP
pelo endereço IP da VMvm-fw-rules-server
.A mensagem
Connection timed out
é esperada porque cada VM cria uma regra de firewall de entrada implícita que nega todo o tráfego. Para permitir o tráfego, adicione uma regra de entrada à política de firewall.Feche a caixa de diálogo SSH no navegador.
Atualizar a política de firewall de rede global para permitir o tráfego interno
Nesta seção, você atualiza a política de firewall da rede global para permitir o tráfego interno da sub-rede da VM do cliente.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique em
fw-policy
.Clique em Criar regra.
Em Prioridade, digite
501
.Em Direção de tráfego, selecione Entrada.
Em Registros, selecione Ativado.
Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
Na seção Origem, em Intervalos de IP, insira
192.168.10.0/24
.O intervalo de IP
192.168.10.0/24
foi atribuído a subnet-fw-rules-client.Na seção Destino, em Tipo de IP, selecione IPv4. Em Intervalos de IP, especifique
10.0.0.0/24
.Lembre-se de que o intervalo de IP
10.0.0.0/24
foi atribuído a subnet-fw-rules-server.Clique em Criar.
gcloud
Para atualizar a política de firewall, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 501 \ --firewall-policy=fw-policy \ --direction=INGRESS \ --action=ALLOW \ --src-ip-ranges=192.168.10.0/24 \ --dest-ip-ranges=10.0.0.0/24 \ --layer4-configs=all \ --global-firewall-policy \ --enable-logging
Testar a conexão
Depois de criar a política de firewall, conecte-se à VM do servidor pela VM do cliente usando o endereço IP interno da VM do servidor.
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna IP interno da VM
vm-fw-rules-server
, copie o endereço IP interno da VM.Na coluna Conectar da VM
vm-fw-rules-client
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para verificar a conexão, execute o seguinte comando:
curl INTERNAL_IP -m 2
Substitua
INTERNAL_IP
pelo endereço IP da VMvm-fw-rules-server
.A mensagem esperada é
<!doctype html><html><body><h1>Hello World!</h1></body></html>
.Feche a caixa de diálogo SSH no navegador.
Para ver os registros de firewall, consulte Ver registros.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Nesta seção, você vai excluir os recursos criados neste tutorial.
Excluir a política de firewall
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique no nome
fw-policy
.Clique na guia Associações.
Marque a caixa de seleção de
vpc-fw-rules
e clique em Remover associação.Na caixa de diálogo Remover uma associação de política de firewall, clique em Remover.
Ao lado do título
fw-policy
, clique em Excluir.Na caixa de diálogo Excluir uma política de firewall, clique em Excluir.
Depois que uma política é excluída, o console do Google Cloud mostra a página Políticas de firewall.
gcloud
Remova a associação entre a política de firewall e a rede VPC.
gcloud compute network-firewall-policies associations delete \ --name=pol-association-fw-rules \ --firewall-policy=fw-policy \ --global-firewall-policy
Se você configurar a associação entre a política de firewall e a rede VPC pelo console do Google Cloud, não use o comando da CLI gcloud para remover a associação. Se você não se lembra de como criou a associação ou se recebeu o erro
The network firewall policy does not have an association with pol-association-fw-rules.
ao executar o comando, use o console do Google Cloud para remover a associação.Exclua a política de firewall.
gcloud compute network-firewall-policies delete fw-policy \ --global
Excluir as VMs
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Marque as caixas de seleção das VMs
vm-fw-rules-client
evm-fw-rules-server
.Clique em Excluir.
Na caixa de diálogo Excluir 2 instâncias?, clique em Excluir.
gcloud
Para excluir as VMs vm-fw-rules-client
e vm-fw-rules-server
, execute o seguinte comando:
gcloud compute instances delete vm-fw-rules-client vm-fw-rules-server \ --zone=us-central1-a
Quando solicitado, pressione Y para confirmar e depois Enter.
Excluir o gateway do Cloud NAT e o Cloud Router
Console
No Console do Google Cloud, acesse a página do Cloud Routers.
Marque a caixa de seleção
router-fw-rules
Clique em Excluir.
Na caixa de diálogo Delete router-fw-rules, clique em Delete.
Quando você exclui um Cloud Router, o gateway do Cloud NAT associado também é excluído.
gcloud
Para excluir o Cloud Router router-fw-rules, execute o seguinte comando:
gcloud compute routers delete router-fw-rules \ --region=us-central1
Quando solicitado, pressione Y para confirmar e depois Enter.
Quando você exclui um Cloud Router, o gateway do Cloud NAT associado também é excluído.
Excluir a rede VPC e as sub-redes dela
Console
No Console do Google Cloud, acesse a página Redes VPC.
Na coluna Nome, clique em
vpc-fw-rules
.Clique em Excluir rede VPC.
Na caixa de diálogo Excluir uma rede, clique em Excluir.
Quando você exclui uma VPC, as sub-redes dela também são excluídas.
gcloud
Para excluir as sub-redes da rede VPC
vpc-fw-rules
, execute o seguinte comando:gcloud compute networks subnets delete subnet-fw-rules-client subnet-fw-rules-server \ --region=us-central1
Quando solicitado, pressione Y para confirmar e pressione Enter.
Para excluir a rede VPC
vpc-fw-rules
, execute o seguinte comando:gcloud compute networks delete vpc-fw-rules
Quando solicitado, pressione Y para confirmar e depois Enter.