Como configurar um servidor de VPN usando MikroTik

O termo VPN se tornou ainda mais comum após a pandemia de COVID 19. A “rede virtual privada”, se traduzirmos fielmente do inglês, trabalha no modelo cliente-servidor e nos permite fazer parte de uma conexão onde não precisamos estar obrigatoriamente presentes fisicamente.

Esse tipo de conexão é perfeita para situações em que precisamos acessar recursos de um ambiente remoto, seja ele um escritório, um datacenter ou ambiente NOC, sem precisar abrir o acesso externo que é altamente perigoso.

    Sem mais delongas, vamos colocar a mão na massa e configurar o nosso servidor de VPN usando Mikrotik. Optamos por usar  L2TP + IPSec pois traz velocidade e segurança.

Vamos dividir  a configuração em 5 partes: configuração da pool de endereços, perfil da VPN, usuários, servidor L2TP e o firewall.

IP Pool

Vamos configurar uma pool de endereços IP privados para os clientes que irão usar a VPN:

/ip pool add name=Pool_VPN ranges=10.10.10.2-10.10.10.15

Note que foi usado uma range /28 (16 IPs), pois neste exemplo não teremos muitos usuários de VPN. Pode ser também uma rede /27, /25, /24 e etc. O próximo passo é configurar o profile para o nosso VPN server.

Profile

/ppp profile 
add name=VPN local-address=10.10.10.1 \
remote-address=Pool_VPN dns-server=8.8.8.8,1.1.1.1 \
use-compression=no use-ipv6=no use-mpls=no \
use-encryption=required change-tcp-mss=yes

Neste exemplo, vejam que configuramos o profile com:

Name: VPN
Local address: 10.10.10.1 (o primeiro IP da range e vejam que ele ficou fora da pool)
Remote address: pool_VPN
DNS Server: usei endereços públicos, mas sugiro você usar os endereços que vocês normalmente utiliza na sua rede Compression, IPv6 e MPLS eu deixei desativado para este exemplo Encryption ficou habilitado com “required” para ser obrigado a usar encriptação E o change-tcp-mss é uma opção que não vamos entrar em detalhes aqui, mas serve para evitar alguns problemas de fragmentação quando usamos MTU menores do que os 1500 bytes convencionais.

* Você pode personalizar o seu perfil com mais opções, desde que saiba o que está fazendo.

Servidor L2TP + IPSec

À seguir, devemos configurar o servidor L2TP mencionando o perfil configurado anteriormente:

/interface l2tp-server server
set enabled=yes default-profile=VPN \
authentication=chap,mschap1,mschap2 use-ipsec=required \
ipsec-secret=m1nh4Ch4v3IP@SeC

No servidor L2TP, configuramos da seguinte forma:

Enabled: Yes
Default Profile: Perfil da VPN configurado anteriormente
Authentication: Todas, com exceção de pap (que é texto plano e inseguro)
Use IPSec: Required para obrigar o uso de IPsec
IPSec Secret: chave IPsec

Usuários da VPN

Adicionaremos os usuários que irão usar a VPN localmente em nosso roteador. É possível usar RADIUS caso prefiram.

/ppp secret add name=joaozinho password="LittL3j0hN#" \
service=l2tp profile=VPN

Podem adicionar quantos usuários preferirem e não se esqueçam de dar preferência para senhas seguras.

    Por último e não menos importante, devemos fazer com que o firewall aceite as conexões de VPN vindas de fora:

/ip firewall filter
add chain=input protocol=udp port=1701,500,4500
add chain=input protocol=ipsec-esp

* Basta posicionar as regras de acordo com a disposição do firewall. Devem estar acima do drop geral.

Por fim, basta utilizar as informações de usuário para configurar a conexão de VPN no celular, computador, tablet e etc.

Exemplo de usuário de VPN conectado no servidor

Agora você já sabe o básico de como configurar um servidor de VPN usando MikroTik mas não deixe de ver a documentação completa sobre a configuração de VPNs no RouterOS na página da MikroTik.