Um erro, três segredos: qual credencial VPN falhou?
O cliente mostra um erro para cada etapa. Leia a associação, a troca do utilizador e o método antes de repor uma palavra-passe que ninguém verificou.
“Falha na autenticação” pode apontar para um certificado de servidor, uma chave pré-partilhada da máquina ou uma palavra-passe de utilizador. Qual delas significa depende do protocolo, porque cada protocolo define um conjunto diferente de segredos. Reponha a errada e o erro continua igual. A saída é estabelecer quantas provas o protocolo exige antes de editar qualquer coisa.
Duas provas a apontar em direções opostas
Um túnel tem de responder se chegou ao gateway certo e, separadamente, quem é o utilizador. A prova do gateway é ao nível da máquina: um certificado de servidor, uma chave pré-partilhada ou uma chave pública estática. A prova do utilizador é ao nível da pessoa: uma palavra-passe, um token, um certificado de cliente, ou nada. São direções opostas de confiança e consomem material diferente.
O IKEv2 executa a prova do gateway dentro do IKE_AUTH e, quando o EAP é usado, corre a prova do utilizador numa troca separada depois. a especificação do IKEv2 mantém essas secções distintas, o que é uma pista forte sobre onde olhar quando uma mensagem cobre as duas rondas.
Leia a etapa, não a mensagem
O cliente mostra a mesma string de erro seja qual for a etapa que falhou, por isso a string em si quase não traz informação. O que traz informação é o estado que pode inspecionar em cada etapa: se existe uma associação, se uma troca de utilizador começou e se o cliente ofereceu o método que o gateway queria. A tabela ordena as etapas assim, em vez de por nome de protocolo.
| Stage that failed | Evidence you can inspect | What a password change cannot fix |
|---|---|---|
| The machine proof | no security association in the state list | a mismatched pre-shared key or an untrusted chain |
| The user proof | an association is up while PPP or EAP reports failure | an expired token, a locked account, a missing client key |
| The client's method support | the client offers no method the gateway accepts | a client without the required EAP or key material |
| The server's policy | the gateway rejects before any user exchange starts | a policy that requires a certificate the profile lacks |
Só a segunda linha diz respeito a uma credencial que o utilizador pode voltar a digitar. As outras três são factos de configuração, e essa desproporção é a razão pela qual tantos destes relatórios terminam numa reposição de palavra-passe que não muda nada. Leia a linha que corresponde às suas provas antes de tocar num campo.
Um protocolo de dois segredos mostra as cartas
L2TP sobre IPsec torna a contagem visível, porque as duas verificações acontecem em processos diferentes. A camada IPsec tem de subir primeiro com uma chave pré-partilhada ou um certificado, e só então o PPP lá dentro tenta um início de sessão de utilizador.
Quando o segredo da máquina está errado, não se forma nenhuma associação e a credencial do utilizador nunca é tentada. Quando o segredo da máquina está certo e o do utilizador errado, a associação existe e o PPP rejeita o início de sessão depois de o túnel já estar de pé. Ambos produzem a mesma mensagem no ecrã a partir de dois eventos diferentes.
sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pagerUma lista de associações vazia elimina imediatamente a camada de utilizador, por isso verifique-a antes da palavra-passe. Uma associação estabelecida com falhas PPP repetidas aponta para o outro lado, para a camada de utilizador ou para o protocolo de autenticação dentro dela. Nenhuma das conclusões está disponível no texto de erro do cliente.
Do que depende realmente o acesso só com palavra-passe
O acesso só com palavra-passe é normal em L2TP, PPTP, SSTP e IKEv2 com EAP. O WireGuard não tem essa opção de todo, porque os seus pares são chaves e não utilizadores. No OpenVPN a resposta vem da exigência de certificado de cliente do servidor: um gateway que exige certificado e palavra-passe continuará a rejeitar um cliente só com palavra-passe, independentemente do que for escrito no campo.
O componente de que precisa decorre da mesma resposta. Um início de sessão por palavra-passe em IKEv2 exige um cliente que fale EAP, enquanto um início de sessão por certificado precisa da chave privada do cliente e da cadeia do servidor. Instale o errado e a falha lê-se como um erro de credencial, embora seja o próprio método de autenticação que falta.
Mude uma coisa e volte a testar
Estabeleça primeiro três factos: que protocolo está a correr, quantos segredos define e quais deles pertencem à máquina e não ao utilizador. As máquinas falham na primeira etapa e as pessoas na segunda, e confundir as duas é todo este problema.
Depois mude exatamente uma coisa e volte a testar a partir do mesmo cliente. Essa disciplina transforma uma falha confusa numa correção que pode descrever à pessoa seguinte, o que é mais útil do que uma ligação a funcionar que ninguém consegue explicar.