Criando VPN Site-to-Site (Route-based) com Mikrotik

Sobre este trabalho

Primeiramente, devo informar que este trabalho não é de minha autoria, e por conta disso quero parabenizar o Daniel Pires e Daniel Mauser pelo excelente trabalho e todos os créditos são para eles. Este trabalho é uma tradução do artigo Creating a Site-to-Site VPN (IPSec IKEv2) with Azure and MikroTik (RouterOS).

Introdução

Neste artigo vamos mostrar para vocês como configurar uma conexão VPN Ipsec Site-to-Site entre um ambiente on-premises e o Azure usando um roteador MikroTik. Um outro post foi publicado alguns anos atrás sobre o mesmo assunto Creating a site-to-site VPN with Windows Azure and MikroTik ( RouterOS ). Porém temos alguns updates grandes neste artigo.

Primeiro, vamos configurar a VPN Site-to-Site usando o portal do Azure Resource Manager, enquanto o artigo original usa o portal clássico do Azure. Segundo, o VPN Gateway neste post é baseado em rota, que necessita a configuração do IKE versão 2, comparado com o Gateway baseado em política usado no post anterior e que é configurado usando IKE versão 1.

Se você não está familizarizado com as terminologias dos parâmetros de IPSec dê uma olhada na seguinte documentação: About VPN devices and IPsec/IKE parameters for Site-to-Site VPN Gateway connections.

Scenario

Abaixo nós temos um diagrama do cenário coberto neste passo-a-passo.

Informações relevantes no diagrama acima necessárias para configurar a VPN Site-to-Site

Relevant information on the diagram above necessary to configure the Site-to-Site VPN.

Lado do Azure:

  • VNET Subnet: 10.4.0.0/16
  • IP Público do Azure VPN Gateway: 13.85.83.XX

Lado on-premises:

  • Subnet: 192.168.88.0/24
  • IP Público do On-Prem Gateway: 47.187.118.YY

Azure: Configurando a VPN IPSec Site-to-Site baseada em rota

Nesta seção nós vamos através do passo a passo em como configurar a VPN Site-to-Site pelo portal do Azure. As etapas demonstradas aqui são as mesmas na documentação oficial: Criar uma conexão site-to-site no portal do Azure. Então nós não vamos cobrir especificamente o passo a passo de como chegar nas telas, você pode usar a documentação oficial como referência. Além disso, se não estiver familiarizado com os passos aqui, você pode pular para a sessão de baixo: MikroTik (On-Premises) Configuring IPSec (IKEv2) Site-to-Site VPN.

Preparando Rede Virtual e subnets

1. Crie uma rede virtual

2. Especifique um Servidor DNS (Este é um passo opcional e não é necessário para esta demonstração);

3. Crie uma Subnet de Gateway;

a. Select Gateway Subnet

b. Adicione uma subnet de Gateway . Neste caso vou usar o final 255 da rede em 10.4.0.0/16 para criar 32 endereços de IPs alocados para dispositivos VPN. A subnet será 10.4.255.0/27

Criando o Gateway VPN

4. Crie o Gateway de Rede Virtual. É importante destacar que vamos usar a VPN do tipo baseada em rota. Para fins de laboratório e testes você pode usar a SKU Básica, para produção é recomendado usar uma SKU Padrão. Mais informações sobre tamanhos de VPN Gateway podem ser consultados aqui: Gateway SKUs

a. Criando o Gateway de Rede virutal chamado VNET1GW

b. Depois de criar o Gateway de rede virtual você pode ver que o status bem como o IP Público que iremos usar:

5. Criar o Gateway de rede local requer que você especifique o IP Público de seu Dispositivo VPN (47.187.117.YY nesta demonstração) assim como a extensão de sua rede on-premises (192.168.88.0/24 nesta demonstração);

6. Configure seu dispositivo VPN – Veja a seção: MikroTik (On-Premises) Configuring IPSec (IKEv2) Site-to-Site VPN.

7. Crie a conexão VPN

8. Verifique a conexão VPN

MikroTik (On-Premises) Configuring IPSec (IKEv2) Site-to-Site VPN

O MikroTik RouterOS tem diversos modelos e há muitos modelos compatíveis que você pode usar para testar e aprender como configurar uma VPN Site-to-Site com o Azure.

AVISO LEGAL: Ainda que estejamos demonstrando o Mikrotik neste artigo, é importante mencionar que a Microsoft não dá suporte às configurações do dispositivo diretamente. Caso você tenha problemas, por favor, contate o fabricante do dispositivo para suporte adicional e instruções de configuração.

Um ponto importante a destacar é que o IKEv2 foi introduzido na release 6.38. Ademais, tenha certeza de que possui uma versão compatível com as configurações demonstradas. Neste artigo usamos a RouterBOARD 750 e versão de software: RouterOS 6.39.

Ferramenta usada

Neste tutorial o gerenciamento do Winbox foi usado para realizar as configurações do Mikrotik e aqui estão as etapas necessárias para configurar o Mikrotik corretamente:

1. Adicione uma política IPSec em Menu > IP > IPSec – na guia Policies clique no símbolo + para adicionar uma nova política. na guia General adicione ambas subnets (Source: On-Premises e Destination: Azure) conforme mostrado:

2. Na mesma janela, agora na aba Action – Marque o checkbox Tunnel e especifique Especifique o IP Público do Appliance On-Prem em SA Src. Address e em SA Dst Address adicione o IP Público do gateway VPN que pode ser encontrado depois que você cria o Gateway de Rede Virtual (Veja: Seção Azure S2S VPN – Etapa 4b)
3. Na aba Peers – Clique em + e adicione um novo Peer IPSec. Na terminlogia IPSec nós estamos trabalhando com a fase 1 do IKE (Modo Principal) nesta aba de configuração. Aqui nós precisamos do IP Público do Azure Gateway, então especifique a chave pré-compartilhada que pode ser especificada em Parte I – Etapa 7 (Crie a conexão VPN).

Nota: se o seu mikrotik não mostra IKEv2 assegure-se de que você tem a versão de release mais recente: Router OS 6.38 ou superior. Antes delas apenas o IKEv1 está disponível.

4. Na mesma tela vá para a aba Avançado e faça os ajustes no Lifetime para 8h = 28.800 segundos, baseado na documentação oficial do Azure em Parâmetros IPSec/IKE SA (Associações de Segurança) para IKE Fase 1 (Main Mode)
5. Na aba Encryption , Você pode utilizar o padrão suportado pelo Azure ou fazer ajustes para um Hash e critpografia mais fortes (Veja detalhes aqui: IPSec/IKE parameters) . Para este artigo nós temos o seguinte selecionado:
6. Agora vamos nos mover para o IKE Fase 2 (Quick Mode) que é representado no MikroTik pelo Proposals. Para este vc pode tanto criar um novo (clicando em +) ou mudar o padrão. Caso você crie um novo assegure-se de mudar na etapa 2 (IPSec Policy) e aba Action e selecionar a Proposal correta. Para este artigo nós iremos mudar a Proposal padrão  de IPSec a qual nós selecionamos o seguinte, baseado na documentação oficial do Azure para a fase 2 do IKE em IPSec/IKE parameters:
2. A última etapa é assegurar-se de que o túnel VPN será roteado corretamente entre on-premises e Azure. Para isso configuramos uma regra de NAT. Isso é feito indo em IP > Firewall > NAT

a. Adicione a Chain como srcnat em ambas subnets (On-Premises e Azure)

b. Na aba Action selecione accept

Validando o túnel IPSec

Ping entre os dois computadores de cada lado. No lado direito o computador on-premises (192.168.88.17) corretamente pingando a VM do Azure (10.4.0.4) e do outro lado funciona bem também.

Em ambos lados, nós vemos que o TTL de 126 corresponde a dois saltos (ambos Gateway) são decrescidos. O TTL Padrão de Máquinas Windows é 128.

Importante: Por padrão o ICMP é desabilitado. Tenha certeza de que você habilitou o ICMP rodando o seguinte comando de powershell

Set-NetfirewallRule -Name FPS-ICMP4-ERQ-In -Enable True

No lado do Azure

No portal do Azure, você pode validar o túnel criado conforme mostrado no item 8. Verificar a conexão VPN, acima. Isso também pode ser feito por powershell usando o comando:

Get-AzureRmVirtualNetworkGatewayConnection -Name From-Azure-to-Mikrotik -ResourceGroupName S2SVPNDemo

No lado do MikroTik

Há múltiplas formas de validar a conexão VPN entre Azure o Mikrotik. Aqui estão algumas delas:

1. IPSec – aba Policies . Ela mostra se a fase IKE IPSec fase 2 está funcionando corretamente:


2. Aba Remote Peers. Ela mostra se a fase 1 do IKE está funcionando corretamente.


3. A Aba Installed SAs mostra as Associações de Segurança atuais:

IPSec Troubleshooting

Se algo não estiver funcionando por alguma razão durante sua configuração, você pode realizar um troubleshoot para determinar o que está acontecendo. O MikroTik fornece uma boa interface para logging e troubleshooting do IPSec em caso de você necessitar maiores informações do que está acontecendo.

Os eventos podem ser visualizados no Menu Log, mas para assegurar que você pode obter os eventos IPSec expostos, você precisa fazer uma simples mudança em configurações de Logging (System > Logging) e adicionar o IPSec como um tópico:

depois de você adicionar a nova regra de Logging você verá os seguintes logs detalhados de eventos do IPSec:

Conclusão

Neste artigo foi demonstrado como configurar uma VPN IPSec Site-to-Site usando IKEv2 (Baseado em rota) entre o Azure o MikroTik RouterBoard. Estas instruções podem também ajudar a configurar um dispositivo IPSec que seja compartível com as configurações do Azure VPN Gateway. Espero que voc~e tenha gostado da informação. Espero que você tenha gostado da informação compartilhada aqui e, por favor, ajude abaixo nos comentários se você tiver outras questões. Gostaria de fazer um agradecimento especial para o Engenheiro de Escalação do suporte ao Azure, Daniel Pires, que foi co-autor neste artigo. Obrigado!

Fonte: https://blogs.technet.microsoft.com/netgeeks/2017/07/11/creating-a-site-to-site-vpn-ipsec-ikev2-with-azure-and-mikrotik-routeros/