Abra a caixa de diálogo da VPN do Windows depois de uma falha e ela lhe dará um número e uma frase, sendo a frase normalmente a metade menos útil. O número identifica qual etapa da conexão falhou, e a etapa determina qual log, qual configuração e qual equipe observar a seguir. Percorrer as etapas em ordem leva cerca de dez minutos e evita a sequência conhecida de reinstalar adaptadores, trocar protocolos e redefinir a pilha para consertar uma conta que nunca teve permissão de discar.

Leia o número como uma etapa

Uma conexão nativa passa por quatro marcos. Ela chega ao servidor e estabelece um enlace, negocia segurança, autentica o usuário e aplica endereçamento e roteamento. Uma falha em cada um deles deixa provas diferentes, e um código que pertence a uma etapa não diz nada útil sobre as outras.

O erro a evitar é tratar o código como gravidade. Uma falha de enlace e uma falha de autorização são lidas como "não foi possível conectar", e não têm mais nada em comum. A gravidade diz quão urgente algo é; a etapa diz o que abrir.

Code familyStageWhere the evidence lives
829, 703Link or dial completionClient event log, remote listener reachability
720PPP negotiation and miniport bindingAdapter state, bindings, client log detail
691, 649, 812Identity and authorizationGateway or authentication server decision
Connected, no trafficAddressing, routing and resolutionRoute table and resolver configuration

Etapa um: o enlace e a tentativa de discagem

829 significa que o enlace subjacente caiu. Não diz se o par remoto parou de responder, se um elemento intermediário matou a sessão ou se uma política no cliente a fechou. Um código de conclusão de discagem como 703 é ainda mais precoce: a tentativa nunca chegou a ter enlace, o que costuma apontar para o perfil, o estado do serviço ou uma política local.

Get-VpnConnection -Name 'Corp' | Select-Object Name,ServerAddress,TunnelType,AuthenticationMethod,ConnectionStatus
Test-NetConnection -ComputerName vpn.example.net -Port 443
Get-WinEvent -LogName Application -MaxEvents 200 | Where-Object ProviderName -match 'RasClient' | Select-Object -First 15 TimeCreated,Id,Message

A consulta de eventos é a parte que as pessoas pulam. Um registro do lado do cliente com carimbo de data e hora e nome de interface vale mais do que a caixa de diálogo, porque diz se a tentativa sequer saiu da máquina. Nenhum registro e nenhuma resposta do ouvinte é um problema de alcance, e nenhuma edição no cliente muda isso.

Se o mesmo perfil funciona em outra rede, pare aqui. O código descreve uma condição do caminho e não um erro de configuração, e a próxima comparação útil são as duas capturas e não outra reinstalação.

Etapa dois: PPP e a vinculação do miniporta

720 fica entre o enlace e o usuário. O túnel subiu e então a camada PPP não conseguiu negociar um endereço ou um protocolo de controle, o que muitas vezes é um problema de vinculação no cliente e não uma credencial recusada. Essa distinção é todo o valor do código: ele diz que a credencial nunca foi alcançada, então a conta não é a suspeita.

Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'WAN Miniport' | Select-Object Name,Status,ifIndex
Get-NetAdapterBinding | Where-Object ComponentID -match 'ms_pptp|ms_l2tp|ms_sstp|ms_agile' | Select-Object Name,ComponentID,Enabled

Ler essas duas saídas é mais informativo do que redefinir qualquer coisa. Um miniporta presente mas não iniciado, ou uma vinculação de protocolo desativada por outro software, produz exatamente a falha desta etapa. Ambos podem ser corrigidos sem tocar no resto da pilha. Uma redefinição completa, ao contrário, remove endereçamento e estado de filtragem que não tinham relação com a falha.

Etapa três: identidade e autorização

691 significa que as credenciais foram recusadas. 649 significa que a conta não tem permissão de discar, e 812 significa que uma política de acesso remoto recusou a conexão. São decisões, não falhas de transporte, e o cliente só pode relatá-las.

As provas estão do outro lado. Peça ao operador do gateway a tentativa naquele carimbo de data e hora e a política que correspondia; pergunte ao dono do diretório se a conta tem permissão de discagem e se está no grupo exigido pela política. Mudar o tipo de túnel ou reinstalar o cliente não pode alterar uma decisão tomada sobre uma identidade.

Um hábito útil nesta etapa é escrever no chamado a string exata da conta, incluindo qualquer prefixo de domínio. Um número surpreendente de casos 691 são credenciais salvas para o domínio errado, e isso aparece na string da conta e não nas configurações do protocolo.

Etapa quatro: conectado, e nada funciona

Uma conexão pode se completar e continuar inútil. Ela tem um endereço, o cliente relata sucesso e cada requisição do aplicativo expira. Nada na caixa de diálogo reflete isso, e não há código a consultar. Nesse ponto a caixa de diálogo acabou e as provas úteis estão em outro lugar.

Get-NetRoute -DestinationPrefix 10.24.0.0/16 | Select-Object DestinationPrefix,NextHop,InterfaceAlias
Resolve-DnsName files.corp.example.internal
Test-NetConnection -ComputerName 10.24.6.15 -Port 445

Se a rota falta, o servidor não a empurrou ou o cliente a descartou. Se a rota existe e o nome falha, o problema é a resolução. Se ambos funcionam e o aplicativo ainda falha, você passou do túnel e está na configuração do próprio aplicativo.

Mantenha as mudanças em uma camada por teste. Cada edição feita antes da próxima tentativa passa a fazer parte do contexto do próximo código, e um código que descreve sua última edição é pior do que nenhum código.

Uma tentativa, uma mudança, um registro

Seja qual for a etapa, o registro deve conter o código, a mensagem, o nome do perfil, o carimbo de data e hora e a rede em que você estava. Cinco campos, e cada um deles já está diante de você na caixa de diálogo ou no log do cliente. Esse conjunto é pequeno o bastante para colar num chamado e específico o bastante para outra pessoa reproduzir.

Depois coloque esse carimbo de data e hora ao lado do registro do outro lado. A tabela perto do topo desta página diz qual etapa possui cada divergência. Sem o segundo registro o código apenas estreita a busca; com ele, a etapa fica decidida. A comparação é o que transforma um número em diagnóstico e não em palpite.

Esse hábito cobre quase toda falha nativa de VPN no Windows, e nenhum dos ramos exige reinstalar qualquer coisa. A caixa de diálogo sempre dizia qual você tinha; o trabalho está em recusar tratar todas como o mesmo problema.

Artigos relacionados