Category: Azure

Microsoft Azure – Criando servidor de NAT para subnet privada

Microsoft Azure – Criando servidor de NAT para subnet privada

O post de hoje tem como pré requisito a leitura do post de criação de Virtual Network com subnet pública e privada.

A necessidade de um NAT para a subnet privada criada anteriormente na Azure é para a saída de pacotes oriundos da subnet privada para a internet.

A arquitetura final ao termino do post será como a da imagem a seguir:

Para o servidor de NAT e para o servidor de teste usaremos um servidor com o S.O CentOS 7.

Para não tornar o post extenso, vamos partir do pressuposto que o leitor já sabe criar servidores na Azure.

De acordo com o desenho da infraestrutura, o servidor de NAT deve ficar na subnet pública, deve conter um IP público estático e deve conter as seguintes regras de segurança aplicadas:

  • Porta 22 aberta para o IP de sua rede;
  • Todas as portas liberadas para o range de IP da sua Virtual Network, no nosso caso é para 10.40.0.0/16.

Para o servidor de teste criado na subnet privada, não é necessário nem recomendado ter um IP público para o servidor. As regras de segurança para esse servidor ficarão da seguinte forma:

  • Todas as portas liberadas para o range de IP da sua Virtual Network, no nosso caso é para 10.40.0.0/16.

Após criar o servidor de NAT, é necessário fazer algumas instalações/ configurações nele.

Acesse o seu servidor de NAT, com sua chave ou sua senha através do SSH, em seguida, se torne root com o comando:

Para gerenciamento do forward dos pacotes da subnet privada para a internet usaremos o IPTables, para isso precisamos instala-lo no servidor e habilitá-lo com os seguintes comandos:

Depois precisamos habilitar no kernel do servidor a feature de forward de pacotes usando o comando:

e depois trocando no aquivo /etc/sysctl.conf a opção  net.ipv4.ip_forward = 0 para net.ipv4.ip_forward = 1.

Feito as configurações do IPtables, precisamos dizer a ele quais são suas rules, no nosso caso vamos usar a seguinte regra:

Observe que depois que adicionamos a regra, é necessário salvá-la para não perde-la caso tenha algum restart do serviço de IPTables ou reboot do servidor.

O servidor de NAT está pronto e configurado, agora é preciso adicionar a rota para 0.0.0.0/0 apontando para o IP privado do servidor de NAT na tabela de roteamento da Subnet Privada e pronto 🙂

Acesse seu servidor de teste na subnet privada fazendo um jump pelo servidor de NAT e faça o teste pingando o site de google por exemplo.  

Bom pessoal, espero que tenham gostado do post, abraços.

 

Microsoft Azure – Criando uma Virtual network com subnet pública e privada.

Microsoft Azure – Criando uma Virtual network com subnet pública e privada.

Com o uso de provedores de infraestrutura tais como AWS, Microsot Azure, Digital Ocean entre outros, surgiu a necessidade de uma virtual network para as organizações e a implementação dos componentes que usamos na nuvem.

No post de hoje vamos ensinar como criar uma Virtual Network na Azure com subnet pública e privada, e também com suas respectivas tabelas de roteamento.

A arquitetura final será como a do desenho a seguir:

No post de hoje estou utilizando uma conta de estudante criada por meio do Microsoft Dream Spark.

Leia sobre contas de estudante na Microsoft Azure: (https://goo.gl/fckLqy).

Na imagem a seguir temos a página inicial da conta Azure, pode-se observar que encontramos nela alguns atalhos para alguns serviços no menu lateral e também alguns recursos pré-fixados.

O primeiro passo é criar um grupo de recursos para organização de todos os nossos recursos usados na Microsoft Azure, para saber mais sobre o que é um grupo de recursos leia mais em (https://goo.gl/d9xC3j).

Para criar um grupo de recursos, é necessário clicar no menu de pesquisa lateral e buscar por Grupo de recursos como na imagem a seguir:

Após acessar a página de grupo de recursos, clique na opção Criar grupo de recursos e em seguida preencha o formulário com as informações referente ao seu grupo de recurso, depois clique no botão Criar.

Exemplo na imagem abaixo:

Após criar seu grupo de recursos podemos criar uma Virtual Network, para isso é preciso fazer uma pequena busca no menu de pesquisas lateral por Redes Virtuais, como na imagem abaixo:

Feito isso, na página de redes virtuais, clique na opção de criar uma nova rede virtual e em seguida preencha o formulário com as informações necessárias.

Para a criação da virtual network é necessário criar também uma subnet.

Para a virtual network, demos o nome a ela de OpenDevOps-Vnet e usamos o espaço de endereço 10.40.0.0/16.

Para a subnet, demos o nome a ela de OpenDevOps-Sub-Publica, ela será nossa subnet pública como o próprio nome já diz, e seu intervalo de endereço de subnet será 10.40.0.0/24.

Em seguida atrelamos um grupo de recursos que foi criado no início no post e por fim clicamos em criar.

Depois de alguns instantes, nossa virtual network é criada =)

Na imagem a seguir temos um overview das informações referente a Virtual network.

 

Agora precisamos criar mais uma subnet, a subnet privada.

Uma subnet privada é usada com o objetivo de tornar componentes sensíveis como servidores de banco de dados, aplicações que trabalham com dados sigilosos acessíveis apenas por quem está dentro da Virtual Network, no nosso caso a 10.40.0.0/16.

Para criar uma subnet privada, precisamos acessar no menu lateral a parte de sub redes:

Clicamos em seguida na opção de +Sub-rede e então devemos passar as informações de criação de nossa subnet privada.

Criamos uma subnet privada com o nome OpenDevOps-Sub-Privada.

Usamos o intervalo de endereços 10.40.1.0/24 e em seguida clicamos em criar.

Agora temos uma virtual network criada, uma subnet pública e uma privada =)

Agora com esses recursos criados, precisamos dizer para cada subnet quais são suas rotas, para isso precisamos criar as famosas tabelas de roteamento.

Para isso vá no menu de pesquisa lateral e pesquise por Tabelas de rota e clique no resultado da pesquisa.

Depois de acessar a página de tabelas de rotas, criamos duas tabelas de roteamento, OpenDevOps-Rota-Sub-Publica OpenDevOps-Rota-Sub-Privada.

Para efetuar a criação de tabelas de roteamento é necessário clicar no botão +Adicionar na página de tabelas de rotas, em seguida você deve definir o nome da tabela e qual grupo de recursos essa tabela deve pertencer.

Depois de criado as tabelas de roteamento, conseguimos visualizar as mesmas prontas para alterações e adição de rotas como na imagem a seguir:

Agora precisamos criar as rotas para cada subnet, vamos começar pela tabela de roteamento da subnet pública criada anteriormente, clique na tabela de rota que criou para sua subnet pública, depois em rotas e por fim +Adicionar:

 

Crie uma rota da subnet pública para a internet:

Depois, ainda na tabela de roteamento da subnet pública, crie uma rota para toda a Virtual Network:

Feito isso, a tabela de roteamento da subnet já está pronta para ser anexada a subnet pública, mas vamos fazer isso mais a frente.

Agora vamos criar a rota da tabela de roteamento da subnet privada,para isso, volte na página de tabelas de roteamento , clique na tabela de roteamento criada para sua subnet pública, depois em rotas e por fim +Adicionar.

Depois crie uma rota apenas para Virtual Network, em seguida clique em criar:

Com as tabelas de roteamento configuradas, precisamos agora agregar as mesmas em suas respectivas subnets, para isso devemos acessar através do menu lateral Redes Virtuais, depois clicamos na Virtual Network que criamos no início do post, depois em Sub-redes e então clique na sua subnet pública criada no início do post :

 

Na página de configuração da sua subnet pública, clique na opção de Tabela de rotas e selecione a tabela de rotas criada para a subnet pública e em seguida clique em salvar.

Repita o mesmo processo de adição de tabela de rotas que fizemos para a subnet pública para a subnet privada e pronto =).

Nesse post você aprendeu a criar e usar os seguintes recursos na Microsoft Azure:

Futuramente lançaremos um post de como fazer a configuração de um servidor de NAT gateway para a subnet privada,  e para execução será necessário ter como pré requisito a leitura deste post, espero que tenham gostado, até a próxima.