+ Responder ao Tópico



  1. #1

    Exclamation L2TP Iptables NAT-T

    Amigos,

    Na empresa que eu presto suporte, a máquina que faz o papel de concentrador VPN é um CISCO PIX 515.
    Uma empresa que presta serviço a nossa está com o seguinte problema:

    Ao se conectar utilizando L2TP apenas uma máquina se conecta por vez, quando a segunda máquina conecta, a primeira "cai". Na verdade o que foi diagnosticado é que quando o segundo tunel é fechado o primeiro é ignorado.
    Pelo Cisco verifiquei que quando uma máquina se conecta L2TP ela utiliza a porta 1701 nas duas pontas.
    Procurando alguma solução no google verifiquei que existe problemas em relação ao NAT-T, ipsec quando se trata do L2TP.

    |-------------------|
    Client Windows XP <-------> |IPTABLES|<-------> | PIX|
    |-------------------|

    Gostaria de saber se pelo iptables eu tenho como fazer uma espécie de PAT de forma que os tunels permaneçam ativos sem que um interfira no outro.


    Desde já agradeço a ajuda de todos.

  2. #2

    Padrão

    Amigo, esse seu problema é um dos mais irresolvíveis que já vi!

    Seguinte, o protocolo TCP/IP específica que o identidicador de uma conexão seja um 4-upla:

    I = (sip, sport, dip, dport)

    Como você expôs, os dois elementos de rede envolvidos usam as portas 1701. Então, se sua prestadora de serviço está usando NAT, creio eu que possa estar acontecendo o seguinte:

    1 - O cliente inicia a conexão: 10.0.0.1/1701 SYN
    2 - O servidor responde a conexão: 192.168.0.1/1701 SYN+ACK
    3 - O cliente estabelece a conexão: 10.0.0.1/1701 ACK
    4 - O cliente e servidor trocam informações.
    5 - Um segundo cliente tenta conectar: 10.0.0.1/1701 SYN
    6 - O servidor detecta uma flag inesperada e reinicia a conexão: 192.168.0.1/1701 RST
    7 - O primeiro cliente recebe o RST e aborta a conexão.


    Todas as requisições da prestadora de serviços está vindo de um mesmo endereço.

    O que você deseja, no meu nível de conhecimento, não é possível. Recomendo você procurar as listas da usenet.

  3. #3

    Padrão IPSEC/L2TP - Linux

    Senhores,

    Por conhecidencia, eu acabei de implementar uma solução em Linux Debian Etch usando IPSec com autenticação L2TP.

    A autenticação funcionou perfeitamente, porém, quando o meu cliente acessa aparece o seguinte erro abaixo e logo após a conexão cai.

    Mar 26 10:38:38 debian pluto[15302]: ERROR: asynchronous network error report on eth0 (sport=4500) for message to 201.X.X.X (IP DO CLIENTE WINDOWS XP) port 4500, complainant 201.X.X.X (IP DO SERVIDOR IPSEC/L2TP): No route to host [errno 113, origin ICMP type 3 code 1 (not authenticated)]

    A estrutura do IPSec/L2TP funciona da seguinte maneira:

    Firewall IPTables com IPSec e L2TP ---> Internet

    Isso quer dizer que o servidor IPSec/L2TP está configurado no gateway a onde se encontra a conexão de Internet.
    A minha conexão é um Cable Virtua, isso quer dizer, é bridge, o IP valido fica na própria placa de rede.


    A estrutura do meu cliente funciona da seguinte maneira:

    Windows XP ---> Firewall Iptables ---> Internet


    Esse é o mesmo problema que foi citado por nosso amigo Pedro?

    Pelo que eu entendi, o meu cliente precisa estar de cara para a Internet, ele não pode estar fazendo NAT, é isso?

  4. #4

    Padrão

    Senhores,

    Consegui resolver o problema relatado com a solução que está nesse site: Gentoo Forums :: View topic - OpenSwan 2.4.7 and NATed Win XP: PAYLOAD_MALFORMED [SOLVED]

    Eu adicionei a seguinte linha no ipsec.conf no servidor:
    leftnexthop=<LAN ip address of the internet router>
    No 'leftnexthop' eu coloquei o IP do meu default gateway.

    Porém, eu só testei com UM cliente, eu ainda não conectei varios clientes ao mesmo tempo.

    Agora estou conseguindo pingar o IP Gateway da VPN, antes eu não estava conseguindo, e aquele erro do LOG parou de ocorrer.

    Vou fazer mais testes!

  5. #5

    Padrão

    IPSec atras de NAT... o pior problema que pode existir... o que voce tem q verificar é o seguinte... eu nao sei se o PIX 515 oferece suporte ao NAT-T , pois ele precisa oferecer e o cliente precisar estar ciente que ele esta usando o NAT-T pois caso nao esteja na hora que ele estabilizar o tunnel, e o fizer o "NAT" dos protocolos 50 e 51 (esp e ah), ele so vai poder direcionar para uma maquina atras do NAT.

    Porque de fato o PIX 515 é um quebra galho de VPN para remote access.. a função dele mesmo é para site-to-site, então talvz ele nao venha com NAT-T (a Cisco faz umas dessas loucuras )

    Verifica essa parte e da um retorno, talvez valha a pena voce postar as configs de VPN do seu PIX e as regras do seu IPTABLES.

    O Cliente de VPN que voce esta usando é o da Cisco mesmo?

  6. #6

    Padrão Vpn

    Misty,

    Obrigado pela resposta, mas vai uma dúvida:

    O cliente está numa ponta onde o cara que faz o NAT é um Iptables. Na minha ponta é um PIX 515

    A estrutura é assim:
    Windows XP ---> Firewall Iptables ---> Internet------>PIX---->IAS (WIN2003)


    Você falou que o Pix precisaria oferecer o NAT-T. Até onde eu encontrei no Google, eu entendi que o IPtables precisaria oferecer o Nat-t.

    É isso mesmo ou eu estou "papando mosca"?

    Abs

  7. #7

    Padrão

    Se nao me falha a memoria os dois lados precisam oferecer suporte... voce jah deu uma olhadinha como funciona o IPSec?