Servidor VPN L2TP/IPSec – Funcionando no iOS 10
Precisei configurar um Mikrotik (RouterOS) para ser um servidor de VPN L2TP/IPSec (algo que não é tão complicado) e para deixar a coisa um pouco mais complicada, eu precisei conectar dispositivos Apple (iPhone, iPad, Notebooks e Desktops) rodando iOS 9 e 10,El Capitan, Sierra. Então resolvi fazer uma postagem detalhando ao máximo como fazer isso em um passo a passo, incluindo os segredos com os detalhes que realmente fazem a diferença para que estes dispositivos possam também se conectar a VPN juntamente com os demais (Windows e Linux).
[alert-warning]Para este Artigo, vamos partir do ponto onde o RouterOS está com sua instalação inicial em modo Padrão! Ou seja, vamos configurar as interfaces de rede e demais configurações serão apresentadas neste artigo.[/alert-warning]
Como sabemos o PPP deixou de funcionar nos dispositivos da Apple por questões de segurança.
E eu precisava de um tunel VPN, para ter saída com um IP americano para acesso a serviços que são disponibilizados apenas no EUA. Com isso implementar todo o serviço em um Linux Slackware é facil, porém é um pouco demorado, pensando em facilidade e agilidade, resolvi usar meu RouterOS em um Cloud no EUA.
Vamos ao que interessa… Vou expor meu cenário real:
Meu RouterOS (Mikrotik) está em um Cloud no EUA e a partir de agora vamos chama-lo de Servidor, neste servidor eu adicionei duas interfaces de rede, pois em breve pretendo usar alguns outros Cloud em uma rede privada (interna) e fazer a saída destes para a internet por este mesmo RouterOS, tudo por meio de NAT. Voltando ao foco que é nossa VPN L2TP/IPSec, vamos as configurações:
Interfaces e IPs
Interface: INTERNET
IP público: 199.255.159.181
Interface: LOCAL
IP Local: 192.168.0.1
Criando o Pool de IP no Mikrotik:
O Pool de IP fará com que voce possa deixar pronto o range (faixa) de ip que voce deseja entregar para as conexões as quais voce setar em seu Mikrotik.
Nesse caso eu criei um Pool de IP e nomeei este pool como Pool-VPN, nele eu setei a faixa de IP a qual eu desejava entregar aos meus clientes da VPN.
Para criar o Pool de IP, faça o seguinte:
1 – Clique no Menu IP > 2- Clique em Pool > 3 – Clique no botão “+” e adicione o Pool de IP.
Veja na imagem abaixo como configurei o Pool de IP:
Pronto! Com o Pool de IPs da VPN cadastrado, vamos para a configuração do L2TP/IPSec no Mikrotik.
Configurando o L2TP/IPSec no Mikrotik:
Pelo Winbox, clique em PPP no menu do lado esquerdo:
Agora, na guia das interfaces PPP, clique no botão L2TP Server localizado na marcação 1 da imagem abaixo.
Na janela L2TP Server marque a opção Enabled no check box conforme a marcação 2 da imagem abaixo.
Agora escolha o tipo de autenticação que voce deseja usar. Recomendo usar apenas o tipo mschap2 como apresentado na imagem acima.
Para windows 7 eu uso mschap2.
Para o iPhone, iPad e MAC, voce só vai precisar do método mschap2 como já mencionei.
Criando o Perfil Padrão – Default Profile
Para o Default Profile (assim que vou me referir ao Perfil Padrão), eu criei o nome L2TP-Profile a
Nota: Caso use a encriptação padrão, esta permitirá que você se conecte a VPN a partir do Windows, mas não de seu iDevice (iPhone, iPad e etc). Então para que sua VPN funcione perfeitamente, configure-a como apresentado nas imagens abaixo, numerei os Passos para que não fique perdido.
Name: Agora nomeie o seu perfil o que você quiser (Lembre-se que eu nomeei meu perfil L2TP-Profile)
Local Address: Coloque o ip que será o Gateway de sua rede da VPN.
Remote Address: selecione o nome Pool-VPN, pois será ele quem irá entregar o IP para o dispositivo que tenta se conectar a VPN. O Remote Address pode ser um IP Estático ou pode ser um Pool de IP. Este serão os IPs que serão entregues para os dispositivos que se conectam ao Servidor de VPN L2TP que estamos criando.
– Quando definir IPs Estáticos, tenha certeza de que este não está em uso em sua rede local.
– Se usar uma POOL certifique-se de não configurar uma POOL de endereços IP que entraria em conflito com quaisquer endereços dentro de sua rede.
DNS: Eu configurei o DNS no campo DNS Server. Voce pode usar o IP de seu Mikrotik ou voce pode usar um DNS externo como google (que usei no meu caso) ou os DNS do OpenDNS.
Lembre-se de adicionar o endereço dos servidores de DNS, para que o cliente possa resolver nomes na internet. Para isso, adicione o DNS de sua preferência no campo DNS Server.
Em seguida, clique na aba Protocols e mude a opção de encriptação de Default para YES.
Criando os Usuários para Autenticação:
Vamos criar os logins (usuário + senha) para autenticação na VPN, para isso vá para a aba Secret, clique no botão “+” e preencha o campos:
Name – com o nome de usuário
Password – com a senha do usuário
Protocol – l2tp
Profile – Selecione o profile que voce criou. Em meu caso foi o L2TP-Profile.
Configurando o IPSec
O L2TP não precisa de IPSec para funcionar, mas o L2TP por si só não fornece qualquer criptografia, pois é um protocolo de tunelamento apenas.
Assim, usamos túneis L2TP e usamos o IPSec para criptografar os dados que estão passando pelo túnel.
Clique no menu IP no e na aba com a lista que abrir, clique em IPSec.
Clique na aba Peers e clique em “+” para criar um novo peer.
Address: Deixe assim 0.0.0.0/0 (Qualquer um pode conectar)
Port: 500
Auth. Method: pre shared key
Secret: Configure uma senha para a autenticação do IPSec (tente usar uma senha forte)
Exchange Mode: Altere para “main l2tp”
Send Initial Contact: Não precisa selecionar
NAT Traversal: Marque esta caixa para que os usuários externos possam trafegar os dados pela VPN fazendo toda a fuga sair pelo ip do servidor da VPN.
Proposal check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp 1024
Generate Policy: Marque esta caixa
Lifetime: 1d 00:00:00 (1 Dia)
DPD Interval: 120
DPD Max Failures: 5
Clique em OK. Veja na imagem abaixo a configuração apresentada acima:
Vá para a aba Proposals, clique em “+” para adicionar um novo item de proposta. Se existir apenas dê duplo clique em default e abra a janela de configuração de propostas (proposals).
Configure da seguinte forma:
Name: Deixe como default
Auth. Algorithm: sha 1
Encr. Algorithms: 3des, aes-128, aes-192, aes-256
(Os iDevices precisam que o Algoritmo de encriptação seja feito pelo algoritmo aes-256)
Lifetime: 00:30:00
PFS Group: Altere para “none”
Clique em OK
Permitindo Navegação na Internet pela VPN
Vá no menu IP e na aba com a lista que abrir, selecione Firewall.
Então vá até a aba Nat clique em “+” e adicione uma Chain srcnat e em Src. Address informe a faixa de IP de sua VPN. Em meu caso 172.50.0.0/24, em Out. Interface selecione a sua interface de rede que está conectada a internet. Ainda na janela NAT Rule, clique na aba Action e no campo Action, selecione Masquerade.
Lembre-se de fazer o mesmo procedimento para a sua interface de rede interna caso ainda não tenha feito. E após tudo isso, você deverá ter acesso a internet usando o ip do seu servidor de VPN.
Pronto!
Agora você pode configurar sua VPN em seu dispositivo Windows, Linux, iOS e etc.
PS: Eu não testei no Android, mas acredito que também irá funcionar bem com ele.
Se houver alguma dúvida, poste nos comentários que tentarei ajudar ao máximo a todos.
Eu uso esse tipo de VPN para ouvir rádios que não permitem que pessoas fora do EUA possam ouvi-las pela internet, para isso uso o IP do meu servidor no EUA.
Se alguém precisar de um Cloud, VPS ou Dedicado…
Acesse: http://umhost.com.br