Pular para o conteúdo principal
BlogRedeComo criar um gateway NAT em uma VPC com a Linode

Como criar um gateway NAT em uma VPC com a Linode

Texto: Como criar um gateway NAT em uma VPC com a Linode

Um de nossos clientes que lida com dados confidenciais de clientes precisava de uma infraestrutura de nuvem segura para seus aplicativos da Web e bancos de dados. Implementamos um gateway NAT em uma VPC para permitir que as instâncias em sub-redes privadas acessassem a Internet para atualizações e chamadas de API, bloqueando o tráfego de entrada. Essa solução fornece acesso à Internet para instâncias privadas sem expô-las diretamente à Internet pública, aumentando a segurança. Veja o que fizemos:

Este diagrama ilustra uma configuração típica de VPC dividida em três seções principais: VPC, sub-rede pública e sub-rede privada. Primeiro, temos a caixa verde externa, a VPC, que isola os recursos dentro dela de outras redes. Os usuários acessam o servidor da Web por meio da Internet pública usando um endereço IP estático atribuído via NAT 1:1. O servidor da Web processa as solicitações e, se necessário, comunica-se com o servidor de banco de dados. O servidor da Web se comunica com o servidor de banco de dados por meio do servidor roteador. O servidor roteador usa o NAT personalizado para rotear com segurança o tráfego entre as sub-redes pública e privada. O servidor de banco de dados, localizado na sub-rede privada, recebe solicitações do servidor da Web por meio do site VLAN. O isolamento da sub-rede privada garante que o servidor de banco de dados não seja exposto diretamente à Internet, aumentando a segurança. Neste tutorial, examinaremos as etapas para configurar essa arquitetura, garantindo uma comunicação segura e eficiente entre as sub-redes privada e pública. Criaremos uma VPC com uma sub-rede pública e uma privada, configuraremos o gateway NAT e instalaremos o VLAN. 

Tutorial

Neste tutorial, criaremos um Gateway NAT em uma VPC, exatamente como no diagrama que acabamos de ver. Se você já tem uma conta Linode, pode passar para a etapa 1. Se não tiver uma conta da Linode, use este link para se registrar e obter US$ 100 em créditos gratuitos para seguir as etapas seguintes. No Linode Dashboard, vamos criar um VPC com duas sub-redes: uma sub-rede pública e uma sub-rede privada. Na sub-rede privada, adicionaremos um banco de dados e, na sub-rede privada, adicionaremos duas instâncias: uma que atuará como servidor da Web e outra que atuará como servidor de roteador (NAT personalizado). 

Etapa 1: criar uma VPC

A primeira etapa para criar um gateway NAT em uma VPC é criar a VPC para isolar logicamente nossos recursos. Lembre-se de que essa é a caixa verde do diagrama que vimos. As sub-redes privadas e públicas viverão dentro dessa VPC.

Para fazer isso, no Linode Cloud Manager, clique em VPC no painel esquerdo e, em seguida, clique em Criar VPC.

Etapa 2: Configurar a sub-rede pública

Em seguida, precisamos adicionar uma sub-rede pública na VPC que conterá o servidor do roteador (NAT personalizado) e o servidor da Web. Lembre-se de que esse é o quadrado azul do diagrama que examinamos.

Na parte inferior da tela, onde está escrito Subnets, adicione um rótulo para a sub-rede pública. Essa sub-rede hospedará o servidor do roteador (NAT personalizado) e o servidor da Web.

Em seguida, clique em Create VPC para provisionar a VPC.

Você verá a sub-rede pública criada com o ID de sub-rede e o intervalo de IP correspondentes.

Etapa 3: Implantar o servidor do roteador e o servidor da Web

Em seguida, precisamos implantar duas instâncias do Linode na sub-rede pública. Uma instância do Linode atuará como nosso servidor de roteador (NAT personalizado), que tratará das operações de NAT para gerenciar o tráfego entre as sub-redes pública e privada. O outro servidor atuará como servidor da Web para lidar com o tráfego de entrada da Internet e encaminhar as solicitações necessárias para a sub-rede privada. Primeiro, criaremos o servidor do roteador. No Cloud Manager, clique em Linodes no painel esquerdo e, em seguida, clique em Create Linode (Criar Linode). Escolha a mesma região que você escolheu quando criou a VPC e, em seguida, selecione a opção Dedicated 8 GB CPU (CPU dedicada de 8 GB).

Em seguida, role para baixo e atribua a VPC que você criou na Etapa 1 e, em seguida, escolha a sub-rede pública no menu suspenso.

Clique em Create Linode para concluir o provisionamento dessa instância.

Agora, vamos criar o servidor da Web usando o mesmo processo descrito acima. Clique em Create Linode, selecione a região que você escolheu para a VPC e atribua a VPC a essa instância. Agora você verá o servidor da Web e o servidor do roteador listados na VPC sob a sub-rede pública. 

Etapa 4: criar uma sub-rede privada

Em seguida, precisamos criar a sub-rede privada dentro da VPC para hospedar o servidor de banco de dados, que não terá acesso direto à Internet pública. Agora estamos construindo a caixa roxa.

Em sua VPC, clique em Create Subnet (Criar sub-rede) e, em seguida, insira um rótulo e atribua o intervalo de IPs privados. Essa sub-rede mantém seu banco de dados protegido contra ameaças externas.

Etapa 5: Implantar o servidor de banco de dados 

Agora, vamos implementar uma instância do Linode na sub-rede privada para servir como nosso servidor de banco de dados. Essa instância só será acessível a partir da sub-rede pública por meio do endereço seguro VLAN. No painel esquerdo do Linode Cloud Manager, clique em Linodes e, em seguida, clique em Create Linode. Digite database-server como o rótulo, escolha vpc-nat-gateway-demo como a VPC e escolha private-subnet como a sub-rede. 

Quando esse servidor for implantado, você verá o seguinte:

Em seguida, precisamos editar a configuração e marcar a caixa Atribuir um endereço IP público para este Linode. Fazemos isso porque precisamos fazer download de ferramentas de rede desse servidor. 

Etapa 6: Configurar VLAN

Em seguida, precisamos estabelecer um VLAN para permitir a comunicação segura entre as sub-redes pública e privada. O servidor do banco de dados e o servidor do roteador podem se comunicar entre si com o VLAN.

Isso garante que o tráfego entre o servidor Web e o servidor de banco de dados permaneça privado e seguro. No servidor do roteador, clique na guia Configurations (Configurações) e, em seguida, clique em Edit (Editar). Adicione um endereço VLAN e digite um endereço (use o texto do espaço reservado como orientação).

Agora, vamos acessar o servidor do roteador e adicionar o endereço VLAN à configuração.

Etapa 7: Encaminhar o tráfego do servidor de banco de dados para o servidor do roteador

Lembre-se de que atribuímos um IP público para podermos acessar a Internet e fazer download de algumas ferramentas de rede.

Agora, vamos fazer o download ipconfig usando os seguintes comandos:

$ modprobe iptable_nat

$ echo 1 > /proc/sys/net/ipv4/ip_forward

$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ iptables -A FORWARD -i eth1 -j ACCEPT  

Em seguida, precisamos voltar ao servidor de banco de dados e remover a caixa de seleção do IP público para que ele não tenha acesso à Internet.

O servidor de banco de dados agora está isolado de forma segura na sub-rede privada. Agora ele poderá se comunicar com o servidor do roteador. Vamos fazer um ping na VPC do servidor do roteador.

Em seguida, precisamos fazer com que o servidor de banco de dados roteie o tráfego em VLAN. Para fazer isso, execute o seguinte comando no servidor de banco de dados:

route add default gw {VLAN-IP-FOR-ROUTER} 

Em seguida, execute a rota.

Você verá o site VLAN listado aqui.

Agora precisamos configurar o servidor do roteador para encaminhar o tráfego da eth1 (VLAN) para a Internet. Nesta etapa, estamos ativando o NATing no servidor e ativando o encaminhamento de IP.

No servidor do roteador, execute estes comandos:

$ modprobe iptable_nat

$ echo 1 > /proc/sys/net/ipv4/ip_forward

$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ iptables -A FORWARD -i eth1 -j ACCEPT 

Configuramos com êxito um gateway NAT em uma VPC.

Vantagens dessa arquitetura

Há algumas vantagens importantes no uso dessa arquitetura. Primeiro, você obtém segurança aprimorada. Uma VPC permite o isolamento de recursos em sub-redes distintas (públicas e privadas). Um gateway NAT garante que as instâncias em sub-redes privadas possam acessar a Internet sem expô-las diretamente às ameaças da Internet pública. Ao usar um gateway NAT em uma VPC, somente o tráfego de saída é permitido de instâncias privadas para a Internet, evitando conexões de entrada não solicitadas que poderiam representar riscos à segurança. Colocamos o banco de dados dentro da sub-rede privada, e os itens confidenciais aqui são protegidos da exposição direta à Internet, reduzindo o risco de violações de dados.

Essa arquitetura também aumenta muito a escalabilidade. Os gateways NAT são projetados para gerenciar volumes substanciais de tráfego e podem se ajustar automaticamente às demandas crescentes, eliminando a necessidade de intervenção manual. À medida que a carga de tráfego aumenta, o gateway NAT dimensiona seus recursos para manter o desempenho ideal e garantir a disponibilidade contínua. Essa escalabilidade automatizada é particularmente vantajosa para as plataformas de comércio eletrônico, que frequentemente apresentam padrões de tráfego flutuantes devido a vendas sazonais, promoções e comportamentos variáveis dos clientes. Ao aproveitar os gateways NAT, os desenvolvedores podem garantir que seus aplicativos permaneçam responsivos e confiáveis, mesmo sob alta demanda, proporcionando, em última análise, uma melhor experiência ao usuário e apoiando o crescimento dos negócios.

A criação de um gateway NAT em um VPC usando a Linode oferece uma maneira segura e eficiente de gerenciar o tráfego de rede entre recursos públicos e privados. Ele garante que suas instâncias privadas possam acessar os recursos externos necessários e, ao mesmo tempo, protegê-las da exposição direta à Internet, aumentando a segurança, a escalabilidade e a eficiência da sua infraestrutura de nuvem. 

Seguindo as etapas descritas acima e usando o diagrama fornecido como referência, você pode não apenas proteger os dados confidenciais dos seus clientes, mas também otimizar o desempenho da sua rede. Se você é um desenvolvedor que deseja otimizar sua segurança na nuvem e quer criar mais recursos na nuvem, use este link para se candidatar a até US$ 5.000 em créditos Linode.

Comentários

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *