Error d’OpenVPN: opció tls-remote o keysize no reconeguda
Un client d’OpenVPN més nou rebutja línies antigues del perfil com tls-remote i keysize. Llegeix el nom de l’opció, substitueix la comprovació i mantén la verificació activa.
Normalment comença amb un perfil que ha connectat durant anys, obert en un client més nou, i falla abans que el túnel ni tan sols arrenqui. El terminal imprimeix una cosa com Options error: Unrecognized option ... in client.ovpn:130: tls-remote, amb una versió entre parèntesis al final. Llegeix-ho com una queixa del parser: el fitxer conté una directiva que aquest client ja no coneix.
Aquest sol missatge explica per què regenerar les claus, tornar a escriure la contrasenya o comprovar el servidor no fa res. La fallada es produeix mentre el client llegeix la seva pròpia configuració, abans que obri un socket. La feina útil és identificar la directiva rebutjada i substituir-la per l’equivalent actual.
Llegeix la línia que falla abans de tocar res
Executa el client tu mateix en lloc d’iniciar-lo des d’una icona de la safata, perquè el missatge sigui visible i el camí del perfil no sigui ambigu. Obre el fitxer a la línia indicada i mira el testimoni que ha anomenat el client. El número de línia és la línia del perfil, no una versió, cosa que confon la gent perquè el mateix número apareix entre parèntesis com a identificador de versió.
Els generadors de perfils antics no emetien una sola directiva dolenta, sinó diverses. Corregeix el primer error, torna a executar el client i espera que aparegui el següent. Aquesta seqüència és normal i no és senyal que les edicions hagin empitjorat les coses.
Què va passar amb keysize i tls-remote
keysize demanava una longitud de clau de xifratge en l’època en què el perfil triava el xifratge explícitament. OpenVPN 2.4 el va declarar obsolet, i els clients posteriors el van treure de la taula d’opcions, de manera que el parser ara rebutja la línia en lloc d’ignorar-la. La negociació moderna deriva la longitud de la clau del xifratge seleccionat, i per això a la directiva no li queda res per controlar.
tls-remote es va eliminar a la 2.4. Comparava el certificat del servidor amb un nom esperat, i el seu substitut és verify-x509-name, que és més estricte sobre com es fa coincidir el nom. La directiva antiga ha desaparegut, així que un perfil que la porti no s’analitzarà mai en un client actual.
Corregeix una directiva per intent. Si el perfil també especifica un xifratge que el client no ofereix, això produeix un altre error més endavant, i barrejar tots dos canvis en una sola edició fa impossible saber quin va trencar l’estreta de mans. Torna a connectar després de cada edició i conserva el text de l’error. Aquest hàbit també deixa un pla B funcional si una edició empitjora les coses.
Reescriu la comprovació d’identitat del servidor
El substitut pren el nom esperat i un mode de comparació. verify-x509-name vpn.example.edu name exigeix que el subjecte del certificat sigui exactament igual a aquest valor. Els altres modes coincideixen amb un prefix o amb una cadena de subjecte completa, i triar el mode equivocat converteix un perfil funcional en una fallada de verificació neta.
Si l’antic argument tls-remote era el nom comú complet del servidor, una comparació exacta name sol ser la correcta. Si era un valor parcial, fes servir el mode de prefix en lloc d’escurçar el nom esperat, perquè una coincidència exacta més curta no verificarà. Quan el valor original no està escrit, pregunta a qui opera el servidor pel subjecte que publiquen.
No silenciïs la comprovació per fer desaparèixer l’error. Eliminar la verificació d’identitat del servidor converteix un problema de perfil arreglable en un túnel no verificat, que és exactament el risc que la directiva existia per evitar.
Perfil corregit, edició local o client més antic
Quan el servidor és d’una altra persona, el camí més net és un perfil actual d’ella. La teva còpia ve d’un generador més antic, i la seva exportació ja fa servir les directrius actuals. Una descàrrega elimina tota la categoria d’errors i manté les edicions futures en un sol lloc.
Quan ets amo dels dos extrems, edita una còpia i conserva l’original. Canvia una directiva, desa, connecta i anota la versió del client que has provat. Mantén una nota curta al costat de cada edició, perquè un perfil editat durant diverses sessions és difícil d’auditar de memòria. Executar des de la línia d’ordres contra el fitxer editat fa que aquest bucle sigui ràpid perquè l’error va directe al terminal.
Fixar o tornar a un client anterior a la 2.4 també fa desaparèixer el missatge, i amb un dispositiu que mai s’actualitzarà potser és l’únic pedaç viable. Tracta’l com a temporal: un client antic en un escriptori actual normalment vol dir una biblioteca antiga i una configuració no suportada, que és un problema ajornat més que resolt.
Quan el túnel arrenqui, llegeix tot el perfil una vegada més. Els perfils que portaven una directiva eliminada sovint en porten una altra, i la segona només surt després que la primera hagi desaparegut.