Solucionar problemas da VPN Always On
Este artigo fornece instruções para verificar e solucionar problemas de implantação de VPN Always On.
Se a configuração da VPN (Rede Virtual Privada) Always On não estiver conectando clientes à rede interna, talvez você tenha um dos seguintes problemas:
- O certificado VPN é inválido.
- As políticas do NPS (Servidor de Políticas de Rede) estão incorretas.
- Problemas com scripts de implantação de cliente ou Roteamento e Acesso Remoto.
A primeira etapa para solucionar problemas e testar sua conexão VPN é entender os principais componentes de infraestrutura da VPN Always On.
Você pode solucionar problemas de conexão de várias maneiras. No caso de problemas do lado do cliente e de solução de problemas gerais, os logs do aplicativo em computadores cliente são inestimáveis. Para problemas específicos de autenticação, o registro do NPS localizado no servidor NPS pode ajudar a determinar a origem do problema.
Solução de problemas gerais para problemas de conexão da VPN Always On
Os clientes de VPN Always On passam por várias etapas antes de estabelecer uma conexão. Como resultado, há vários locais em que as conexões podem ser bloqueadas e, às vezes, é difícil descobrir onde está o problema.
Se você estiver com problemas, veja algumas etapas gerais que você pode seguir para descobrir o que está acontecendo:
- Execute um whatismyip para verificar se o computador de modelo não está conectado externamente. Se o computador tiver um endereço IP público que não pertença a você, altere o IP para um particular.
- Acesse Painel de Controle>Rede e Internet>Conexões de Rede, abra as propriedades do Perfil de VPN e verifique se o valor na guia Geral pode ser resolvido publicamente por meio do DNS. Caso contrário, o problema pode ser que o servidor de acesso remoto ou o servidor VPN não consigam resolver um endereço IP.
- Considere abrir o protocolo ICMP para a interface externa e fazer ping do nome do cliente remoto. Depois que um ping for bem-sucedido, você poderá remover a regra de permissão de ICMP. Se o seu servidor VPN não estiver acessível, é provável isso que seja a causa do problema.
- Verifique a configuração das NICs internas e externas em seu servidor VPN. Em particular, verifique se eles estão na mesma sub-rede e se a NIC externa se conecta à interface correta no firewall.
- Verifique o firewall do cliente, o firewall do servidor e todos os firewalls de hardware para garantir que eles permitam a atividade de porta UDP 500 e 4500. Além disso, se estiver usando a porta UDP 500, verifique se o IPSEC não está desabilitado ou bloqueado em qualquer lugar. Caso contrário, é provável que o problema seja que as portas não estão abertas do cliente para a interface externa do servidor VPN.
- Verifique se o servidor NPS tem um certificado de autenticação de servidor que pode atender a solicitações IKE. Além disso, verifique se o cliente NPS tem o IP do servidor VPN correto em suas configurações. Você só deve se autenticar com PEAP e as propriedades PEAP só devem permitir a autenticação de certificado. É possível verificar se há problemas de autenticação no log de eventos do NPS. Para obter mais informações, confira Instalar e configurar o servidor NPS.
- Se você puder se conectar, mas não tiver acesso à internet ou à rede local, verifique se há problemas de configuração nos pools de IP do servidor DHCP ou VPN. Além disso, verifique se seus clientes podem acessar esses recursos. Você pode usar o servidor VPN para rotear solicitações.
Solução de problemas gerais para script VPN_Profile.ps1
Os problemas mais comuns ao executar manualmente o script VPN_Profile.ps1 incluem:
- Se você usar uma ferramenta de conexão remota, não use o protocolo RDP ou outros métodos de conexão remota. Conexões remotas podem interferir na capacidade do serviço de detectá-lo ao se conectar.
- Se o usuário afetado for um administrador em seu computador local, verifique se ele tem privilégios de administrador durante a execução do script.
- Se você habilitou outros recursos de segurança do PowerShell, verifique se a política de execução do PowerShell não está bloqueando o script. Desabilite o modo Linguagem Restrita antes de executar o script e, em seguida, reative-o após a execução do script.
Logs
Você também pode verificar os logs de aplicativos e os logs do NPS em busca de eventos que possam indicar quando e onde um problema ocorre.
Logs de aplicativo
Os logs de aplicativo em computadores clientes registram detalhes de nível superior dos eventos de conexão VPN.
Ao solucionar problemas de VPN Always On, procure eventos rotulados RasClient. Todas as mensagens de erro retornam o código de erro no final da mensagem. Códigos de erro lista alguns dos códigos de erro mais comuns relacionados à VPN AlwaysOn. Para obter uma lista completa de códigos de erro, confira Códigos de erro de roteamento e acesso remoto.
Logs do NPS
O NPS cria e armazena os logs de contabilidade do NPS. Por padrão, os logs são armazenados em %SYSTEMROOT%\System32\Logfiles\ em um arquivo chamado IN<data de criação> do log.txt.
Por padrão, esses logs estão em formato de valores separados por vírgula, mas não incluem uma linha de cabeçalho. O seguinte bloco de código contém a linha de título:
ComputerName,ServiceName,Record-Date,Record-Time,Packet-Type,User-Name,Fully-Qualified-Distinguished-Name,Called-Station-ID,Calling-Station-ID,Callback-Number,Framed-IP-Address,NAS-Identifier,NAS-IP-Address,NAS-Port,Client-Vendor,Client-IP-Address,Client-Friendly-Name,Event-Timestamp,Port-Limit,NAS-Port-Type,Connect-Info,Framed-Protocol,Service-Type,Authentication-Type,Policy-Name,Reason-Code,Class,Session-Timeout,Idle-Timeout,Termination-Action,EAP-Friendly-Name,Acct-Status-Type,Acct-Delay-Time,Acct-Input-Octets,Acct-Output-Octets,Acct-Session-Id,Acct-Authentic,Acct-Session-Time,Acct-Input-Packets,Acct-Output-Packets,Acct-Terminate-Cause,Acct-Multi-Ssn-ID,Acct-Link-Count,Acct-Interim-Interval,Tunnel-Type,Tunnel-Medium-Type,Tunnel-Client-Endpt,Tunnel-Server-Endpt,Acct-Tunnel-Conn,Tunnel-Pvt-Group-ID,Tunnel-Assignment-ID,Tunnel-Preference,MS-Acct-Auth-Type,MS-Acct-EAP-Type,MS-RAS-Version,MS-RAS-Vendor,MS-CHAP-Error,MS-CHAP-Domain,MS-MPPE-Encryption-Types,MS-MPPE-Encryption-Policy,Proxy-Policy-Name,Provider-Type,Provider-Name,Remote-Server-Address,MS-RAS-Client-Name,MS-RAS-Client-Version
Se você colar essa linha de título como a primeira linha do arquivo de log e, em seguida, importar o arquivo para o Microsoft Excel, o Excel rotulará corretamente as colunas.
Os logs do NPS podem ajudar a diagnosticar problemas relacionados à política. Para obter mais informações sobre logs do NPS, confira Interpretar arquivos de log em formato de Banco de Dados NPS.
Códigos de erro
As seções a seguir descrevem como resolver os erros mais comumente encontrados.
Erro 800: a conexão remota não pôde se conectar
Esse problema ocorre quando o serviço não pode fazer uma conexão remota porque as tentativas de túneis VPN falharam, muitas vezes porque o servidor VPN não está acessível. Se a conexão estiver tentando usar um túnel de protocolo L2TP ou IPsec, esse erro significa que os parâmetros de segurança necessários para a negociação IPsec não estão configurados corretamente.
Causa: tipo de túnel VPN
Você pode encontrar esse problema quando o tipo de túnel VPN estiver definido como Automático e sua tentativa de conexão não tiver êxito em todos os túneis VPN.
Solução: verifique a configuração de VPN
Como as configurações de VPN causam esse problema, você deve solucionar problemas de suas configurações de VPN e conexão, tentando o seguinte:
- Se você souber qual túnel usar para sua implantação, defina o tipo de VPN para esse tipo de túnel específico no lado do cliente VPN.
- Verifique se as portas do IKE (Internet Key Exchange) nas portas de protocolo UDP 500 e 4500 não estão bloqueadas.
- Verifique se o cliente e o servidor têm certificados corretos para o IKE.
Erro 809: não é possível estabelecer uma conexão entre o computador local e o servidor VPN
Nesse problema, o servidor remoto não responde, o que impede que o computador local e o servidor VPN se conectem. Isso pode ocorrer porque um ou mais dispositivos de rede, como roteadores, firewalls ou o NAT (conversão de endereços de rede) entre o computador e o servidor remoto não está configurado para permitir conexões VPN. Entre em contato com o administrador ou provedor de serviços para determinar o dispositivo que pode estar causando o problema.
Causa do erro 809
Você pode encontrar esse problema quando as portas UDP 500 ou 4500 no servidor VPN ou firewall estiverem bloqueadas. O bloqueio pode acontecer quando um dos dispositivos de rede entre o computador e o servidor remoto, como firewall, NAT ou roteadores, não estiver configurado corretamente.
Solução: verifique as portas em dispositivos entre o computador local e o servidor remoto
Para resolver esse problema, primeiro entre em contato com o administrador ou provedor de serviços para descobrir qual dispositivo está bloqueado. Depois disso, verifique se os firewalls desse dispositivo permitem a passagem das portas UDP 500 e 4500. Se isso não resolver o problema, verifique os firewalls em todos os dispositivos entre o computador local e o servidor remoto.
Erro 812: não é possível se conectar à VPN AlwaysOn
Esse problema ocorre quando o RAS (servidor de acesso remoto) ou o servidor VPN não consegue se conectar à VPN AlwaysOn. O método de autenticação usado pelo servidor para verificar o nome de usuário e a senha pode não corresponder ao método de autenticação configurado no perfil de conexão.
Sempre que encontrar o erro 812, recomendamos que entre em contato imediatamente com o administrador do servidor RAS para informar o que aconteceu.
Se você estiver usando o Visualizador de Eventos para solucionar problemas, poderá encontrar esse problema marcado como log de eventos 20276. Esse evento geralmente aparece quando uma configuração de protocolo de autenticação de servidor VPN baseada em RRAS (roteamento e acesso remoto) não corresponde às configurações do computador cliente VPN.
Causa do erro 812
Normalmente, você encontra esse erro quando o NPS especifica uma condição de autenticação que o cliente não pode atender. Por exemplo, se o NPS especificar que precisa de um certificado para proteger a conexão PEAP (Protected Extensible Authentication Protocol), ele não poderá se autenticar se o cliente estiver tentando usar o EAP-MSCHAPv2.
Solução: verifique as configurações de autenticação do cliente e do servidor NPS
Para resolver esse problema, verifique se os requisitos de autenticação do cliente e do servidor NPS correspondem. Caso contrário, altere-os de acordo.
Erro 13806: O IKE não consegue encontrar um certificado de computador válido
Esse problema ocorre quando o IKE não consegue encontrar um certificado de computador válido.
Causa do erro 13806
Normalmente, você encontra esse erro quando o servidor VPN não tem o computador ou o certificado do computador raiz necessários.
Solução: instalar um certificado válido no repositório de certificados relevante
Para resolver esse problema, verifique se os certificados necessários estão instalados no computador cliente e no servidor VPN. Caso contrário, entre em contato com o administrador de segurança de rede e peça que eles instalem certificados válidos no repositório de certificados relevante.
Erro 13801: as credenciais de autenticação do IKE estão inválidas
Você encontra esse problema quando o servidor ou o cliente não consegue aceitar as credenciais de autenticação do IKE.
Causa do erro 13801
Esse problema pode ocorrer devido ao seguinte:
- O certificado do computador usado para validação IKEv2 no servidor RAS não tem Autenticação de Servidor habilitado em Uso Avançado de Chave.
- O certificado do computador no servidor RAS expirou.
- O computador cliente não tem o certificado raiz para validar o certificado do servidor RAS.
- O nome do servidor VPN do computador cliente não corresponde ao valor subjectName no certificado do servidor.
Solução 1: verifique as configurações do certificado do servidor
Se o problema for o certificado do computador do servidor RAS, verifique se o certificado inclui Autenticação do Servidor em Uso Avançado de Chaves.
Solução 2: verifique se o certificado do computador ainda é válido
Se o problema for o fato de o certificado do computador RAS ter expirado, verifique se ele ainda é válido. Se não estiver, instale um certificado válido.
Solução 3: verifique se o computador cliente tem um certificado raiz
Se o problema estiver relacionado ao computador cliente não ter um certificado raiz, primeiro verifique as Autoridades de Certificação Raiz Confiáveis no servidor RRAS para verificar se a autoridade de certificação que você está usando está lá. Se ele não estiver lá, instale um certificado raiz válido.
Solução 4: faça com que o nome do servidor VPN do computador cliente corresponda ao certificado do servidor
Primeiro, verifique se o cliente VPN se conecta usando o mesmo FQDN (nome de domínio totalmente qualificado) usado pelo certificado do servidor VPN. Caso contrário, altere o nome do cliente para corresponder ao nome do certificado do servidor.
Erro 0x80070040: o certificado do servidor não tem a Autenticação de Servidor em suas entradas de uso
Esse problema ocorre quando o certificado do servidor não tem a Autenticação de Servidor como uma de suas entradas de uso de certificado.
Causa do erro 0x80070040
Esse erro ocorre quando o servidor RAS não tem um certificado de autenticação de servidor instalado.
Solução: verifique se o certificado do computador tem a entrada de uso de certificado necessária
Para resolver esse problema, verifique se o certificado do computador que o servidor RAS usa para validação IKEv2 inclui a Autenticação de Servidor em sua lista de entradas de uso de certificado.
Erro 0x800B0109: uma cadeia de certificados processada, mas encerrada em um certificado raiz
A descrição completa do erro é: "Uma cadeia de certificados foi processada, mas foi encerrada em um certificado raiz não considerado confiável pelo provedor de confiança".
Geralmente, o computador cliente VPN ingressou no domínio baseado no AD (Active Directory). Se você usar credenciais de domínio para fazer logon no servidor VPN, o serviço instalará automaticamente o certificado no repositório de Autoridades de Certificação Raiz Confiáveis. Você poderá encontrar esse problema se o computador não estiver ingressado em um domínio do AD ou se você usar uma cadeia de certificados alternativa.
Causa do erro 0x800B0109
Você poderá encontrar esse erro se o computador cliente não tiver um certificado de CA raiz confiável apropriado instalado no repositório de Autoridades de Certificação Raiz Confiáveis.
Solução: instale o certificado raiz confiável
Para resolver esse problema, verifique se o computador cliente tem um certificado raiz confiável instalado em seu repositório de Autoridades de Certificação Raiz Confiáveis. Caso contrário, instale um certificado raiz apropriado.
Erro: Opa, ainda não é possível acessar isso
Essa mensagem de erro está associada a problemas de conexão de Acesso Condicional do Microsoft Entra. Quando esse problema aparece, a política de acesso condicional não é atendida, bloqueando a conexão VPN, mas conectando-se depois que o usuário fecha a janela de diálogo. Se o usuário selecionar OK, ele iniciará outra tentativa de autenticação que também não será bem-sucedida e uma mensagem de erro idêntica será exibida. O log de eventos operacionais do Microsoft Entra do cliente registra esses eventos.
Causa do erro de acesso condicional do Microsoft Entra
Há algumas razões pelas quais esse problema pode acontecer:
O usuário tem um certificado de autenticação de cliente em seu repositório de Certificados Pessoais que é válido, mas não veio da ID do Microsoft Entra.
A seção
<TLSExtensions>
do perfil VPN está ausente ou não contém as entradas<EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID>
. As entradas<EKUName>
e<EKUOID>
informam ao cliente VPN qual certificado deve ser recuperado do armazenamento de certificados do usuário ao passar o certificado para o servidor VPN. Sem as entradas<EKUName>
e<EKUOID>
, o cliente VPN usa qualquer certificado de autenticação de cliente válido que esteja no armazenamento de certificados do usuário e a autenticação será bem-sucedida.O servidor RADIUS (NPS) não foi configurado para aceitar apenas certificados de clientes que contenham o identificador de objeto (OID) de acesso condicional do AAD.
Solução: use o PowerShell para determinar o status do certificado
Para escapar desse loop:
No Windows PowerShell, execute o cmdlet
Get-WmiObject
para despejar a configuração do perfil VPN.Verifique se as variáveis
<TLSExtensions>
,<EKUName>
e<EKUOID>
existem e se as saídas delas mostram o nome e o OID corretos.O código a seguir é um exemplo de saída do
Get-WmiObject
cmdlet.PS C:\> Get-WmiObject -Class MDM_VPNv2_01 -Namespace root\cimv2\mdm\dmmap __GENUS : 2 __CLASS : MDM_VPNv2_01 __SUPERCLASS : __DYNASTY : MDM_VPNv2_01 __RELPATH : MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VPNv2" __PROPERTY_COUNT : 10 __DERIVATION : {} __SERVER : DERS2 __NAMESPACE : root\cimv2\mdm\dmmap __PATH : \\DERS2\root\cimv2\mdm\dmmap:MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VP Nv2" AlwaysOn : ByPassForLocal : DnsSuffix : EdpModeId : InstanceID : AlwaysOnVPN LockDown : ParentID : ./Vendor/MSFT/VPNv2 ProfileXML : <VPNProfile><RememberCredentials>false</RememberCredentials><DeviceCompliance><Enabled>true</ Enabled><Sso><Enabled>true</Enabled></Sso></DeviceCompliance><NativeProfile><Servers>derras2.corp.deverett.info;derras2.corp.deverett.info</Servers><RoutingPolicyType>ForceTunnel</RoutingPolicyType><NativeProtocolType>Ikev2</NativeProtocolType><Authentication><UserMethod>Eap</UserMethod><MachineMethod>Eap</MachineMethod><Eap><Configuration><EapHostConfigxmlns="https://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Typexmlns="https://www.microsoft.com/provisioning/EapCommon">25</Type><VendorIdxmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorTypexmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorIdxmlns="https://www.microsoft.com/provisioning/EapCommon">0</AuthorId></EapMethod><Configxmlns="https://www.microsoft.com/provisioning/EapHostConfig"><Eap xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>25</Type><EapType xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1"><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames></ServerValidation><FastReconnect>true</FastReconnect><InnerEapOptional>false</InnerEapOptional><Eap xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>13</Type> <EapType xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSelection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA>5a 89 fe cb 5b 49 a7 0b 1a 52 63 b7 35 ee d7 1c c2 68 be 4b </TrustedRootCA></ServerValidation><DifferentUsername>false</DifferentUsername><PerformServerValidation xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</PerformServerValidation><AcceptServerName xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</AcceptServerName><TLSExtensionsxmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xml ns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUListEnabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions></EapType></Eap><EnableQuarantineChecks>false</EnableQuarantineChecks><RequireCryptoBinding>false</RequireCryptoBinding><PeapExtensions><PerformServerValidation xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</PerformServerValidation><AcceptServerName xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName></PeapExtensions></EapType></Eap></Config></EapHostConfig></Configuration></Eap></Authentication></NativeProfile></VPNProfile> RememberCredentials : False TrustedNetworkDetection : PSComputerName : DERS2
Em seguida, execute o comando
Certutil
para determinar se há certificados válidos no armazenamento de certificados do usuário:C:\>certutil -store -user My My "Personal" ================ Certificate 0 ================ Serial Number: 32000000265259d0069fa6f205000000000026 Issuer: CN=corp-DEDC0-CA, DC=corp, DC=deverett, DC=info NotBefore: 12/8/2017 8:07 PM NotAfter: 12/8/2018 8:07 PM Subject: E=winfed@deverett.info, CN=WinFed, OU=Users, OU=Corp, DC=corp, DC=deverett, DC=info Certificate Template Name (Certificate Type): User Non-root Certificate Template: User Cert Hash(sha1): a50337ab015d5612b7dc4c1e759d201e74cc2a93 Key Container = a890fd7fbbfc072f8fe045e680c501cf_5834bfa9-1c4a-44a8-a128-c2267f712336 Simple container name: te-User-c7bcc4bd-0498-4411-af44-da2257f54387 Provider = Microsoft Enhanced Cryptographic Provider v1.0 Encryption test passed ================ Certificate 1 ================ Serial Number: 367fbdd7e6e4103dec9b91f93959ac56 Issuer: CN=Microsoft VPN root CA gen 1 NotBefore: 12/8/2017 6:24 PM NotAfter: 12/8/2017 7:29 PM Subject: CN=WinFed@deverett.info Non-root Certificate Cert Hash(sha1): 37378a1b06dcef1b4d4753f7d21e4f20b18fbfec Key Container = 31685cae-af6f-48fb-ac37-845c69b4c097 Unique container name: bf4097e20d4480b8d6ebc139c9360f02_5834bfa9-1c4a-44a8-a128-c2267f712336 Provider = Microsoft Software Key Storage Provider Private key is NOT exportable Encryption test passed
Observação
Se um certificado do Emissor CN=Microsoft VPN root CA gen 1 estiver presente no repositório Pessoal do usuário, mas o usuário tiver obtido acesso selecionando X para fechar a mensagem Opa, colete logs de eventos CAPI2 para verificar se o certificado usado para autenticar era um certificado de Autenticação de Cliente válido que não foi emitido pela AC raiz Microsoft VPN.
Se houver um certificado de Autenticação de Cliente válido no repositório pessoal do usuário e os
TLSExtensions
valores ,EKUName
eEKUOID
estiverem configurados corretamente, a conexão não deverá ser bem-sucedida depois que o usuário fechar a caixa de diálogo.
Será exibida uma mensagem de erro que diz: "Não foi possível encontrar um certificado que possa ser usado com o Extensible Authenticate Protocol".
Não é possível excluir o certificado da guia Conectividade VPN
Esse problema ocorre quando não é possível excluir certificados na guia Conectividade VPN.
Causa
Esse problema ocorre quando o certificado é definido como Primário.
Solução: alterar as configurações do certificado
Para excluir certificados:
- Na guia Conectividade VPN, selecione o certificado.
- Em Primário, selecione Nãoe selecione Salvar.
- Na guia Conectividade VPN, selecione o certificado novamente.
- Selecione Excluir.