Criar uma VPN IKEv2 no PowerShell com um certificado de máquina
A colocação do certificado, os prefixos de rota e as credenciais EAP são os pontos onde um script IKEv2 falha. Crie o túnel no PowerShell e verifique cada etapa separadamente.
O Windows inclui um cliente IKEv2 que o PowerShell controla de ponta a ponta, pelo que um túnel funcional não precisa de interface gráfica nem de software de terceiros. Quase todas as falhas vêm de três lugares: onde o certificado ficou, como os prefixos de rota foram escritos e o que o método EAP escolhido espera. Trate-os nessa ordem, porque cada um é verificável antes de o seguinte começar e um erro mais tardio irá mascarar um anterior.
Os túneis com certificado de máquina existem para arrancar antes de alguém iniciar sessão, por isso a identidade tem normalmente de residir no arquivo do computador e não no de um utilizador.
Primeiro o certificado, depois o túnel
Duas importações importam. A identidade do cliente vai para Cert:\LocalMachine\My através de Import-PfxCertificate, e a AC emissora vai para Cert:\LocalMachine\Root através de Import-Certificate. Um certificado folha sozinho não prova qualquer cadeia, pelo que saltar a segunda importação deixa a verificação sem base. Além da presença, a chave privada tem de estar associada e a conta de computador tem de poder lê-la. Get-ChildItem Cert:\LocalMachine\My lista o que chegou; compare impressões digitais em vez de sujeitos, porque sujeitos quase idênticos são comuns.
Verifique a utilização alargada da chave antes de implementar. A autenticação de cliente é o requisito habitual para uma identidade de máquina IKEv2, e o outro lado tem de confiar na AC que a assinou. Uma identidade no arquivo de um utilizador não existe para uma ligação em contexto de computador.
Crie o perfil e as respetivas rotas
Add-VpnConnection -Name "Office IKEv2" -ServerAddress vpn.example.com -TunnelType Ikev2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate -AllUserConnection escreve o perfil. O parâmetro -AllUserConnection publica-o na lista telefónica global, adequado a uma máquina partilhada ou gerida como serviço; omita-o para um único utilizador. Qualquer endereço que passe tem de corresponder ao nome DNS no certificado do servidor, caso contrário a falha aparece depois de o túnel já estar levantado. Os prefixos são depois adicionados um a um com Add-VpnConnectionRoute, e apenas os que o desenho realmente necessita.
O IPv6 tem uma particularidade: o Windows recusa ::/0 como rota VPN, pelo que ::/1 e 8000::/1 juntos cobrem o mesmo espaço de endereços. Encaminhar um prefixo também não concede nada na firewall remota, pelo que a lista de prefixos e a política da firewall continuam a ser documentos separados.
As credenciais pertencem ao método de autenticação
Um perfil com certificado de máquina não precisa de qualquer segredo de utilizador, enquanto um perfil EAP-MSCHAPv2 precisa. No segundo caso o módulo VPNCredentialsHelper fornece Set-VpnConnectionUsernamePassword, e quer texto simples: $cred.Password é um SecureString, pelo que o deve desembrulhar primeiro com GetNetworkCredential().Password. Instale o módulo onde quer que o comando seja executado, não apenas na estação onde foi redigido. O EAP-TLS ou um método personalizado não usam este cmdlet de todo; em vez disso recebem um XML de configuração EAP.
rasdial "Office IKEv2" levanta a ligação a partir de uma shell, que é a forma mais rápida de ver o resultado em primeiro plano em vez de num registo de eventos.
O que um túnel ligado não prova
O estado ligado cobre a troca IKE e o passo de autenticação, e nada além disso. O comportamento do DNS, o caminho até um anfitrião privado e a firewall remota continuam todos por provar. Trabalhe para fora: o adaptador do túnel, depois uma consulta de rota para um endereço privado, depois um serviço que lhe seja permitido usar. A primeira observação que falha identifica a camada a investigar.
Ao alterar um perfil, elimine o anterior com Remove-VpnConnection -Name "Office IKEv2" -Force antes de o recriar; caso contrário, definições e rotas obsoletas persistem após a edição. Se continuar a não ligar, compare a impressão digital registada no perfil com a presente no arquivo, porque o Windows pode manter uma referência a uma identidade que entretanto foi substituída sob um sujeito inalterado.
Mantenha a impressão digital, o método EAP e a lista de rotas junto ao perfil. Em conjunto explicam a maior parte do que falha mais tarde.