Antônio Medeiros

MikroTik: como criar uma VPN com L2TP e IPsec

Final de semana chegando, você quer jogar com seus amigos, mas estão todos em suas casas, talvez até mesmo em cidades diferentes. O jogo requer que todos os computadores estejam na mesma rede local. O que fazer nesse caso? Se você tem um roteador MikroTik, como o que já foi assunto de alguns posts aqui no blog, uma opção é levantar uma VPN nele.

Uma VPN (do inglês Virtual Private Network, rede privada virtual) simula uma rede local entre dois ou mais computadores que estão fisicamente distantes, mas conectados pela Internet. Ela cria túneis entre os computadores, criptografando a comunicação — que ocorre, portanto, de forma privada e segura. Já expliquei o que é VPN em outro texto.

Antes da VPN, diversos dispositivos conectados à Internet

Antes da VPN, diversos dispositivos conectados à Internet

Depois da VPN, eles parecem estar na mesma rede local

Depois da VPN, eles parecem estar na mesma rede local

Hoje, veremos como criar uma VPN no roteador MikroTik usando o protocolo L2TP (do inglês Layer 2 Tunnelling Protocol, Protocolo de Tunelamento de Camada 2) em conjunto com o protocolo IPsec (do inglês IP Security Protocol, Protocolo de Segurança IP).

Esse texto é baseado em grande parte no excelente tutorial em vídeo do Leonardo Vieira, que segui para configurar a VPN na minha casa. Meu texto será focado em como configurar uma VPN que permite a computadores de fora se conectarem à rede de casa (uma VPN do tipo point-to-site). O procedimento é parecido se você usa roteadores MikroTik em uma empresa com filiais e quer criar VPNs para conectar os MikroTiks das filiais ao MikroTik da sede (uma VPN do tipo site-to-site). Se esse é o seu caso, recomendo ver o vídeo.

Pré-requisitos

O ponto de partida desse tutorial é um roteador MikroTik configurado como mostrado nos tutoriais anteriores:

Note que se seu roteador MikroTik não possui um IP “real” (ou público), você não conseguirá se conectar à VPN por meio da Internet (usando seu celular na rua, por exemplo). Informe-se sobre carrier-grade NAT (CGNAT) e verifique o endereço IP que seu roteador recebeu da operadora. Pode ser que ele tenha recebido um endereço IP privado.

Criando a VPN no roteador MikroTik

Acesse o MikroTik pelo WinBox. No menu à esquerda, expanda IP e clique em Pool:

Clique no botão de adicionar. No campo Name (nome), dê um nome para a fila de IPs, pode ser o nome que você quiser (eu vou usar vpn):

Em Addresses (endereços), informe a faixa de endereços IP que o MikroTik deve fornecer para os computadores que se conectarem à VPN. Essa faixa deve ser necessariamente diferente da faixa da rede local. No meu caso, eu já havia definido a rede local como 10.0.0.0/24, vou definir a VPN como 10.0.1.0/24, para isso vou informar a faixa 10.0.1.2-10.0.1.254. O primeiro endereço (10.0.1.1) será o do roteador e o último é sempre o de broadcast (10.0.1.255). Quando terminar, clique em OK.

Depois, no menu à esquerda, clique em PPP e, na janela que abre, selecione a aba Profiles (perfis). Dê duplo-clique no perfil já existente default-encryption:

Em Local Address (endereço local), informe o endereço que o roteador terá dentro da VPN (no meu caso, 10.0.1.1). Em Remote Address (endereço remoto), expanda o menu e selecione a fila de endereços criada antes (vpn). Quando terminar, clique em OK.

Ainda na janela PPP, mude para a aba Secrets (a tradução ao pé da letra seria “segredos”, mas a ideia aqui é algo como “usuários e senhas”) e clique no botão de adicionar:

Em Name, informe um nome de usuário (login). Para o teste, vou usar teste.

Em Password, informe uma senha para o usuário que você está criando. Nesse teste, vou usar testando, mas claro que na verdade o ideal é usar uma senha mais segura que essa.

Em Service (serviço), selecione l2tp.

Em Profile (perfil), selecione default-encryption. Quando terminar, clique em OK.

Ainda na janela PPP, mude para a aba Interface e clique no botão L2TP Server (servidor L2TP):

Marque Enabled para habilitar o servidor L2TP.

Em Authentication, desmarque o protocolo PAP (do inglês Password Authentication Protocol, Protocolo de Autenticação por Senha). Esse protocolo é considerado inseguro porque envia os dados (inclusive a senha) em texto claro (não criptografado, pode ser facilmente interceptado). Portanto, é melhor não permitirmos o uso dele em nossa VPN.

Em Use IPsec, selecione required para obrigar que os clientes usem IPsec.

Em IPsec Secret, digite um texto que será o segredo do IPsec, também conhecido por chave pré-compartilhada do IPsec. Isso é uma espécie de senha que o cliente informa ao servidor ao se conectar à VPN, antes de propriamente informar o login e senha do usuário. Fornece uma camada a mais de segurança. Nesse teste, vou usar 12345678, mas claro que na verdade o ideal é usar um segredo mais seguro que esse. Quando terminar, clique em OK.

O que falta para a VPN estar pronta é liberar as portas necessárias no firewall do MikroTik.

No menu à esquerda, expanda IP e clique em Firewall. Normalmente a aba Filter Rules (regras de filtragem), a primeira, já vem selecionada. Certifique-se de que está nessa aba.

Clique no botão de adicionar:

No campo Chain, selecione input (esse é o mesmo conceito de chain do iptables).

Em Protocol (protocolo), expanda o menu e selecione ipsec-esp. Com isso, estamos permitindo no firewall o protocolo IPsec.

Mude para a aba Action (ação) e no campo Action certifique-se de que a opção accept está selecionada (já vem por padrão). Quando terminar, clique em OK:

Perceba que a regra é adicionada ao final da fila. No momento, ela é a regra de número 11.

Clique no botão de adicionar para adicionar mais uma regra.

No campo Chain, selecione input.

No campo Protocol, expanda o menu e selecione udp.

No campo Any. Port (acredito que signifique anywhere port, ou seja, portas de origem ou destino), digite 1701,500,4500. Com isso, estamos permitindo no firewall as portas:

  • 1701/UDP: protocolo L2TP
  • 500/UDP: protocolo IKE (Internet Key Exchange, Troca de Chaves pela Internet)
  • 4500/UDP: protocolo IPsec NAT traversal

Mude para a aba Action e no campo Action certifique-se de que a opção accept está selecionada. Quando terminar, clique em OK. Agora temos 12 regras na fila.

Assim como o firewall iptables do Linux, o firewall do MikroTik também analisa as regras na ordem em que foram inseridas. Por padrão, o MikroTik tem uma regra que bloqueia todo o tráfego que não vem da rede local (LAN). Porém, precisamos permitir o tráfego que vem da VPN. Para isso, temos que mover as regras recém-criadas acima dessa regra.

Identifique na fila de regras a regra que bloqueia todo o tráfego que não vem da rede local (no meu caso, ela é a regra de número 4) e mova as regras recém-criadas (no meu caso, elas são as regras de números 11 e 12) acima dessa regra:

Opcional: DDNS

A MikroTik (empresa, fabricante) oferece alguns serviços na nuvem para os dispositivos RouterBOARD conectados à Internet (como esse que estou mostrando aqui), visando facilitar a configuração, a manutenção, o controle e o monitoramento desses dispositivos.

Um desses serviços é o DNS dinâmico (Dynamic DNS ou DDNS). Quando ativado, ele atribui um nome e domínio ao seu roteador nos servidores DNS da MikroTik, e mantém o endereço IP externo do seu roteador sempre atualizado nos registros desses servidores. Com isso, sua operadora pode mudar seu endereço IP (ocorre com frequência em casas), mas você sempre é capaz de acessar seu roteador por meio de um endereço com nome e domínio.

Ativar o DDNS não é necessário para o funcionamento da VPN, mas pode facilitar a conexão dos clientes, uma vez que passam a usar um nome em vez de um endereço IP.

Note que o DDNS, assim como a VPN, depende de o roteador ter um endereço IP público.

Caso você queira ativar o DDNS, no menu à esquerda, expanda IP e clique em Cloud. Marque a opção DDNS Enabled (habilitar DDNS) e clique em OK. Abra mais uma vez essa janela seguindo o mesmo caminho para ver o endereço atribuído ao roteador em DNS Name:

No meu caso, o endereço ficou assim: 6bxxxxxxxxc2.sn.mynetname.net.

Eu posso usar esse endereço para conectar os clientes ao roteador, em vez do endereço IP, que pode ser mudado com frequência pela operadora.

Usando a VPN

Pronto! Feito isso, nossa VPN está pronta para uso e os clientes já conseguem se conectar.

Para conectar um dispositivo à VPN, siga um dos tutoriais a seguir, conforme o sistema operacional do dispositivo em questão:

Referências

Comentários

Sobre mim

Anúncio