O L2TP – Layer 2 Tunnel Protocol, foi desenvolvido pelo IETF com base o PPTP (Microsoft) e no Cisco L2F, para a configuração de VPN. Porém este protocolo não fornece qualquer tipo de criptografia e/ou confidencialidade, logo para criarmos uma VPN segura, temos que usar outros mecanismos, como o IPSec.
Primeiro o IPSec fornece um canal seguro, utilizando o IKE e o AES normalmente, e então o L2TP prove o túnel.
Já vimos aqui mesmo no brainwork, como o IPSec funciona, e até um exemplo de configuração de VPN IPSec entre dois roteadores.
Atualmente é normal utilizar apenas o IPSec, já que ele pode atender sozinho a necessidade de criar o túnel e garantir a segurança (criptografia, autenticação e integridade). Porém o L2TP possui pelo menos três grandes vantagens:
-
Permite passar multicast pela VPN;
-
O Windows possui um client VPN L2TP nativo (não é preciso um software adicional);
-
Padrão de mercado (multi vendor);
Configurando VPN L2TP/IPSec no roteador
Vamos ver como configurar uma VPN L2TP/IPSec em um roteador, para permitir a conexão remota de usuários (VPN Remote Access).
1°) Configure a autenticação que os usuário utilizarão. Neste exemplo os usuários serão criados no próprio roteador.
aaa new-model
aaa authentication ppp default local
username brainwork password senha123
2°) Habilite o VPDN (Virtual Private Dial-up Network), configure o grupo para que o roteador permita conexões de entrada e especifique o Template e o protocolo layer 2 a ser utilizado. VPN-L2TP é o nome do grupo.
vpdn enable
vpdn-group VPN-L2TP
accept-dialin
protocol l2tp
virtual-template 1
no l2tp tunnel authentication
3°) Agora, vamos configurar os parâmetros do IPSec, para garantir a segurança da VPN. Mais detalhes sobre o IPSec podem ser encontrados em outros post aqui no brainwork.
crypto isakmp policy 10
! Tipo de criptografia e autenticação do grupo IPSec
encr 3des
authentication pre-share
group 2
! Pré-shared que deverá ser configurada também no client
crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0
!
crypto ipsec transform-set TRANSET esp-3des esp-sha-hmac
! Modo transport deve ser utilizado
mode transport
!
crypto dynamic-map DYMAP 10
! Permite a utilização de NAT junto com o túnel
set nat demux
set transform-set TRANSET
!
crypto map cisco 10 ipsec-isakmp dynamic DYMAP
4°) Crie um pool de endereçamento, que os client utilizarão quando se conectarem.
ip local pool vpn_pool 192.168.100.200 192.168.100.250
5°) Crie o Virtual Template, que foi amarrado ao VPDN no 2° passo. Neste template definimos o tipo de criptografia do PPP e a autenticação utilizada, além de informar o pool que usaremos.
interface Virtual-Template1
ip unnumbered FastEthernet0/1
peer default ip address pool vpn_pool
ppp encrypt mppe 128 required
ppp authentication ms-chap-v2
6°) Por fim, associe o crypto map a interface WAN.
interface FastEthernet0/0
description CONEXAO WAN
crypto map cisco
Configurando o client no Windows para conexão
1°) No Windows XP, clique em Iniciar > Conectar-se > Mostrar todas as Conexões.
2°) Na janela Conexões de Rede, de dois cliques em Assistente para novas conexões > Avançar e então selecione Conectar-me a uma rede em meu local de trabalho e então Avançar.
3°) A seguir, selecione Conexão VPN (rede virtual privada), e Avançar.
4°) Na janela que se abrirá, de um nome qualquer para a nova conexão e clique Avançar e em seguida informe o IP da interface WAN do roteador.
5°) A conexão VPN foi criada, mas ainda faltam algumas configurações. Clique em Propriedades.
6°) Vá até a aba Segurança, e clique em Configurações de IPSec… Na janela seguinte selecione Usar chave pré-compartilhada para autenticação e coloque cisco123 (configurado no 3° passo da configuração do roteador). Clique Ok.
7°) Ainda na aba Segurança, selecione a opção Avançada (configurações personalizadas), e depois clique em Configurações.
8°) Selecione a opção Permitir estes protocolos, e habilite Microsoft CHAP (MS-CHAP) e Microsoft CHAP versão 2 (MS-CHAP v2).
9°) De volta a tela de login, informe o usuário e senha cadastrador no roteador e clique em conectar.
10°) Pronto, a VPN foi fechada.
Mais informações sobre a configuração de VPN L2TP em roteadores Cisco aqui.
Até a próxima.
Precisei implementar essa topologia, e seguindo os passos contidos nesse post, consegui. Porém a conexão VPN caia a cada 20 segundos, tanto no Windows, Iphone ou Android. Depois de muito analisar, descobri que o problema estava no comando “ppp encrypt mppe 128 required”. Obsevando o debug do ppp, o roteador esperava algum keepalive do cliente, que nunca chegava. Como estava com pressa, simplesmente removi essa linha da configuração e a VPN funcionou sem cair. Não fiz nenhuma investigação profunda do motivo, mas fica a dica.
Legal.
Vocês já implementaram essa mesma solução porém passando através de um ASA em modo contexto?
Quando utilizamos ASA sem contexto devemos habilitar NAT-T (traversal).
Porém com (contextos + NAT) não existe essa opção e não consegui fechar a VPN L2TP. Se coloco o router em uma DMZ (sem NAT) funciona perfeitamente!
Você está fazendo a VPN no roteador, e quer apenas habilitar o NAT-T no ASA, certo?
Qual comando você está usando para habilitar o NAT-T no ASA?
Olá …
Espero que ajude o conteúdo do post abaixo:
(PT-br) – Configurando Serviço VPN (Virtual Private Network) – Parte V
http://tiagoluiz.com.br/2012/05/23/pt-br-configurando-servico-vpn-virtual-private-network-parte-v/
Olá, ótimo post.
Ainda não entendo bem por que usar L2TP.
Preciso criar uma VPN LAN2LAN usando IPSec… Por que eu precisaria de L2TP? Quais protocolos e/ou recursos somente funcionariam com L2TP?
O que me interessa é o túnel seguro e transparente…
Valeu!
Vinícius, o mais comum é a utilização do IPSec mesmo. Uma possível razão para utilização do LT2P, seria para aproveitar o client do Windows para fazer a conexão, sem a necessidade de instalar um novo client.
Quando falamos de VPN site-to-site, o LT2P pode ser usado quando os equipamentos não fornecem suporte a IPSec.
Esse post foi muito escardecedor. Obrigado!