De obicei începe cu un profil care s-a conectat ani de zile, deschis într-un client mai nou, eșuând înainte ca tunelul să pornească măcar. Terminalul afișează ceva de genul Options error: Unrecognized option ... in client.ovpn:130: tls-remote, cu o versiune între paranteze la final. Citește-l ca pe o reclamație a parserului: fișierul conține o directivă pe care acest client nu o mai cunoaște.

Acest singur mesaj explică de ce regenerarea cheilor, rescrierea parolei sau verificarea serverului nu fac nimic. Eșecul apare în timp ce clientul își citește propria configurație, înainte de a deschide un socket. Munca utilă este să identifici directiva respinsă și să o înlocuiești cu echivalentul actual.

Citește linia care eșuează înainte de a modifica ceva

Rulează clientul singur, în loc să îl pornești dintr-o pictogramă din tavă, ca mesajul să fie vizibil și calea profilului să fie fără ambiguitate. Deschide fișierul la linia raportată și uită-te la tokenul pe care clientul l-a numit. Numărul liniei este linia din profil, nu o versiune, ceea ce îi încurcă pe oameni pentru că același număr apare între paranteze ca identificator de versiune.

Generatoarele vechi de profiluri nu emiteau o singură directivă greșită; emiteau mai multe. Corectează prima eroare, rulează din nou clientul și așteaptă-te ca următoarea să apară. Această succesiune este normală și nu este un semn că modificările au înrăutățit lucrurile.

Ce s-a întâmplat cu keysize și tls-remote

keysize cerea o lungime a cheii de cifrare pe vremea când profilul alegea explicit cifrul. OpenVPN 2.4 l-a depreciat, iar clienții mai noi l-au eliminat din tabelul de opțiuni, așa că parserul respinge acum linia în loc să o ignore. Negocierea modernă derivă lungimea cheii din cifrul selectat, motiv pentru care directivei nu i-a mai rămas nimic de controlat.

tls-remote a fost eliminat în 2.4. Compara certificatul serverului cu un nume așteptat, iar înlocuitorul său este verify-x509-name, care este mai strict în privința modului în care este potrivit numele. Directiva veche a dispărut, așa că un profil care o conține nu va fi niciodată parsat de un client actual.

Corectează o singură directivă pe încercare. Dacă profilul specifică și un cifru pe care clientul nu îl oferă, acesta produce o altă eroare mai târziu, iar amestecarea ambelor modificări într-o singură editare face imposibil de spus care a rupt handshake-ul. Reconectează-te după fiecare editare și păstrează textul erorii. Acest obicei lasă și o soluție de rezervă funcțională dacă o editare înrăutățește lucrurile.

Rescrie verificarea identității serverului

Înlocuitorul preia numele așteptat și un mod de comparare. verify-x509-name vpn.example.edu name cere ca subiectul certificatului să fie exact egal cu acea valoare. Alte moduri potrivesc un prefix sau un șir complet de subiect, iar alegerea modului greșit transformă un profil funcțional într-un eșec curat de verificare.

Dacă vechiul argument tls-remote era common name-ul complet al serverului, o comparație exactă cu name este de obicei corectă. Dacă era o valoare parțială, folosește modul prefix în loc să scurtezi numele așteptat, pentru că o potrivire exactă mai scurtă nu va valida. Când valoarea originală nu este scrisă, întreabă persoana care administrează serverul ce subiect publică.

Nu anula verificarea ca să dispară eroarea. Eliminarea verificării identității serverului transformă o problemă de profil reparabilă într-un tunel neverificat, care este exact riscul pe care directiva exista ca să îl prevină.

Profil corectat, editare locală sau client mai vechi

Când serverul aparține altcuiva, calea cea mai curată este un profil actual de la acea persoană. Copia ta provine dintr-un generator mai vechi, iar exportul lor folosește deja directivele actuale. O singură descărcare elimină întreaga categorie de erori și ține editările viitoare într-un singur loc.

Când deții ambele capete, editează o copie și păstrează originalul. Schimbă o directivă, salvează, conectează-te și notează versiunea clientului pe care ai testat-o. Ține o notă scurtă lângă fiecare editare, pentru că un profil editat de-a lungul mai multor sesiuni este greu de auditat din memorie. Rulările din linia de comandă pe fișierul editat fac acel ciclu rapid, pentru că eroarea merge direct în terminal.

Fixarea sau revenirea la un client anterior versiunii 2.4 face și ea mesajul să dispară, iar cu un aparat care nu va fi niciodată actualizat aceasta poate fi singura soluție temporară viabilă. Trateaz-o ca temporară: un client vechi pe un desktop actual înseamnă de obicei o bibliotecă veche și o configurație neacceptată, adică o problemă amânată, nu rezolvată.

După ce tunelul pornește, citește încă o dată tot profilul. Profilurile care aveau o directivă eliminată au adesea încă una, iar a doua apare doar după ce prima dispare.

Articole similare