Erro de OpenVPN: opción tls-remote ou keysize non recoñecida
Un cliente de OpenVPN máis recente rexeita liñas antigas do perfil como tls-remote e keysize. Le o nome da opción, substitúe a comprobación e mantén a verificación activa.
Normalmente comeza cun perfil que estivo conectado durante anos, aberto nun cliente máis novo, e falla antes de que o túnel sequera arrinque. O terminal imprime algo como Options error: Unrecognized option ... in client.ovpn:130: tls-remote, cunha versión entre parénteses ao final. Léoo como unha queixa do analizador: o ficheiro contén unha directiva que este cliente xa non coñece.
Esa única mensaxe explica por que rexenerar as claves, volver escribir o contrasinal ou comprobar o servidor non serve de nada. O fallo ocorre mentres o cliente le a súa propia configuración, antes de abrir un socket. O traballo útil é identificar a directiva rexeitada e substituíla polo equivalente actual.
Le a liña que falla antes de cambiar nada
Executa o cliente ti mesmo en lugar de lanzalo desde unha icona da bandexa, para que a mensaxe sexa visible e a ruta do perfil non sexa ambigua. Abre o ficheiro na liña indicada e mira o token que nomeou o cliente. O número de liña é a liña do perfil, non unha versión, o que confunde á xente porque o mesmo número aparece entre parénteses como identificador da versión.
Os xeradores de perfís antigos non emitían unha soa directiva mala, senón varias. Corrixe o primeiro erro, volve executar o cliente e agarda que apareza o seguinte. Esa secuencia é normal e non é sinal de que as edicións empeorasen as cousas.
Que pasou con keysize e tls-remote
keysize pedía unha lonxitude de clave de cifrado na época en que o perfil elixía o cifrado explicitamente. OpenVPN 2.4 declarouno obsoleto, e os clientes posteriores quitárono da táboa de opcións, así que o analizador agora rexeita a liña en vez de ignoralo. A negociación moderna deriva a lonxitude da clave do cifrado seleccionado, por iso á directiva non lle queda nada que controlar.
tls-remote eliminouse na 2.4. Comparaba o certificado do servidor cun nome esperado, e o seu substituto é verify-x509-name, que é máis estrito sobre como se compara o nome. A directiva antiga desapareceu, así que un perfil que a leve nunca se analizará nun cliente actual.
Corrixe unha directiva por intento. Se o perfil tamén especifica un cifrado que o cliente non ofrece, iso produce outro erro máis adiante, e mesturar ambos cambios nunha soa edición fai imposible saber cal rompeu o handshake. Vólve conectar despois de cada edición e conserva o texto do erro. Ese hábito tamén deixa un plan B funcional se unha edición empeora as cousas.
Reescribe a comprobación de identidade do servidor
O substituto toma o nome esperado e un modo de comparación. verify-x509-name vpn.example.edu name esixe que o suxeito do certificado sexa exactamente igual a ese valor. Outros modos coinciden cun prefixo ou cunha cadea de suxeito completa, e elixir o modo equivocado converte un perfil funcional nun fallo de verificación limpo.
Se o antigo argumento tls-remote era o nome común completo do servidor, unha comparación exacta name adoita ser o correcto. Se era un valor parcial, usa o modo de prefixo en lugar de acurtar o nome esperado, porque unha coincidencia exacta máis curta non verificará. Cando o valor orixinal non está escrito, pregunta a quen opera o servidor polo suxeito que publican.
Non silencies a comprobación para que o erro desapareza. Eliminar a verificación de identidade do servidor converte un problema de perfil reparábel nun túnel sen verificar, que é exactamente o risco que a directiva existía para evitar.
Perfil corrixido, edición local ou cliente máis antigo
Cando o servidor é doutra persoa, o camiño máis limpo é un perfil actual dela. A túa copia vén dun xerador máis antigo, e a súa exportación xa usa as directivas actuais. Unha descarga elimina toda a categoría de erros e mantén as edicións futuras nun só lugar.
Cando es dono de ambos extremos, edita unha copia e conserva o orixinal. Cambia unha directiva, garda, conéctate e anota a versión do cliente que probaches. Mantén unha nota breve xunto a cada edición, porque un perfil editado durante varias sesións é difícil de auditar de memoria. Executar desde a liña de ordes contra o ficheiro editado fai que ese bucle sexa rápido porque o erro vai directo ao terminal.
Fixar ou volver a un cliente anterior á 2.4 tamén fai desaparecer a mensaxe, e cun dispositivo que nunca se actualizará pode ser o único apaño viable. Trátao como temporal: un cliente antigo nun escritorio actual normalmente significa unha biblioteca antiga e unha configuración non soportada, que é un problema aprazado máis que resolto.
Cando o túnel arrinque, le o perfil completo unha vez máis. Os perfís que levaban unha directiva eliminada a miúdo levan outra, e a segunda só aparece despois de que a primeira desaparecese.