conexão PPTP falha durante o handshake

2

Um usuário localizado no outro lado do planeta tem problemas para se conectar à nossa VPN PPTP. A VPN é uma VPN regular do Windows Server 2003 e funciona bem para a maioria dos usuários dos EUA, mas para essa pessoa específica, ela não se conecta de forma alguma.

A janela de login fica bloqueada em "verificando nome de usuário / senha" e morre após 30 segundos. Eu peguei um rastreamento de rede no lado do servidor, e é isso que eu vejo. 10.250.10.10 é o IP interno do servidor, 121.X.X.255 é o IP público do usuário.

Aparentemente, não há novos equipamentos de rede no lado do usuário, e definitivamente nada mudou no lado do servidor.

Alguma ideia de como diagnosticar isso?

    
por Julien Vehent 11.10.2011 / 19:18

2 respostas

1

NAT = Tradutor de endereços de rede (dispositivo) ou Conversão de endereços de rede (conceito) dependendo do contexto.

PAT = Port Address Translator (dispositivo) ou Port Address Translation (conceito), dependendo do contexto

Este problema é muito comum quando uma das extremidades (cliente ou servidor) está atrás de um limite NAT / PAT que não suporta o protocolo PPTP + GRE - ou não o suporta bem.

No reino do PPTP, o TCP / 1723 é um canal de controle simples cuja única finalidade é exibir um túnel GRE (IP / 47) secundário específico da Microsoft. Esse túnel GRE contém quadros PPP encapsulados e é usado para negociar autenticação, criptografia e transmitir dados reais.

Nem todos os NATs (firewalls, roteadores, appliances) suportam a passagem do túnel GRE secundário para clientes / servidores. O cliente VPN PPTP aparecerá para se conectar, chegar a uma mensagem "Verificando o nome de usuário e senha" e pendurar lá. O estágio "Verificando nome de usuário e senha" requer que o túnel GRE esteja funcional.

Alguns NATs / PATs podem suportar um único PPTP + GRE para um único usuário atrás do NAT / PAT, mas um segundo PPTP + GRE do mesmo usuário ou um usuário diferente por trás do NAT / PAT pode falhar. Eu tenho visto muitos tipos de falhas espetaculares com PPTP + GRE através de NAT / PAT com NATs / PATs de consumidor, negócios e de nível empresarial

No seu caso específico - se outros usuários puderem se conectarem ao seu RRAS fine usando PPTP + GRE, mas este usuário individual não pode - é provável que o NAT / Limite de PAT na rede desse usuário.

Esteja preparado para gastar muito tempo diagnosticando esse problema se esse usuário em particular tiver hardware de borda e Internet abaixo do padrão - especialmente se for de um provedor que executa o Carrier Grade NAT (CGN).

Se você conseguir acessar o PC do usuário e executar o Wireshark em seu computador enquanto tenta se conectar e procurar por datagramas GRE para e de o servidor RRAS. Se o túnel GRE falhar, você provavelmente verá um datagrama GRE destinado ao IP público do servidor RRAS, mas não verá um datagrama GRE de retorno do IP público do servidor RRAS.

Se este for o caso, a preocupação é a montante do PC. Veja todos os NATs / PATs upstream para garantir que eles suportem correção / passagem / inspeção PPTP + GRE ou qualquer que seja o nome desse fornecedor. Saiba que alguns fornecedores, apesar do "suporte" para PPTP + GRE, apenas o suportam de maneira limitada - conforme descrito anteriormente. O Cisco ASA e o PIX têm um excelente suporte para correção / inspeção de PPTP + GRE por um bom tempo - geralmente não ativado por padrão.

A execução de VPNs PPTP, L2TP e IPsec por meio do NAT / PAT é bastante problemática, a menos que se tome cuidado para superar o NAT / PAT. Sobre a única tecnologia VPN que pode penetrar no NAT / PAT com bastante facilidade é a VPN baseada em SSL / TLS - na minha experiência.

    
por 12.10.2011 / 07:20
1

Não vejo um ACK do cliente para o SYN-ACK do servidor. Aqui está um trecho de uma captura do Microsoft Network Monitor da minha estação de trabalho para um servidor RRAS interno. Você pode ver claramente o handshake TCP de três vias antes de qualquer negociação PPTP. Se o ACK do cliente para o SYN-ACK do servidor não estiver ocorrendo, então eu diria que é onde está o problema.

EDITAR

UsandooWiresharknoservidordestavez,vejoomesmoquevocêquandoolhaparaofluxodaconversa.Háumapequenadiferença,conformeevidenciadonacapturadetelaabaixo.Existem3mensagensdecontroleSet-Link-Infonaminhacaptura,emoposiçãoao1nasuacaptura.Meupalpiteéqueoservidoreoclientenãoestãoconseguindonegociarosparâmetrosdeconexão.Alémdisso,nãotenhoideia.Desculpe,eunãopoderiaserdemaisajuda.

    
por 11.10.2011 / 22:07