Chyba OpenVPN: neznáma možnosť tls-remote alebo keysize
Novší klient OpenVPN odmieta staré riadky profilu, ako sú tls-remote a keysize. Prečítajte názov možnosti, nahraďte kontrolu a nechajte overovanie zapnuté.
Zvyčajne to začína profilom, ktorý sa roky pripájal, otvoreným v novšom klientovi, a zlyhá ešte pred spustením tunela. Terminál vypíše niečo ako Options error: Unrecognized option ... in client.ovpn:130: tls-remote, s verziou v zátvorkách na konci. Čítajte to ako sťažnosť parsera: súbor obsahuje direktívu, ktorú tento klient už nepozná.
Tá jediná správa vysvetľuje, prečo opätovné generovanie kľúčov, prepísanie hesla alebo kontrola servera nič nezmenia. Zlyhanie nastane, kým klient číta vlastnú konfiguráciu, ešte pred otvorením socketu. Užitočnou prácou je identifikovať odmietnutú direktívu a nahradiť ju aktuálnym ekvivalentom.
Prečítajte si riadok, ktorý zlyháva, skôr než čokoľvek upravíte
Spustite klienta sami, namiesto spúšťania z ikony v systémovej lište, aby bola správa viditeľná a cesta k profilu jednoznačná. Otvorte súbor na nahlásenom riadku a pozrite sa na token, ktorý klient uviedol. Číslo riadku je riadok profilu, nie verzia, čo ľudí mýli, pretože rovnaké číslo sa objavuje v zátvorkách ako identifikátor vydania.
Staré generátory profilov nevypisovali jednu zlú direktívu, ale niekoľko. Opravte prvú chybu, spustite klienta znova a očakávajte, že sa objaví ďalšia. Takýto sled je normálny a nie je znakom toho, že úpravy veci zhoršili.
Čo sa stalo s keysize a tls-remote
keysize žiadal dĺžku kľúča šifry v čase, keď profil vyberal šifru explicitne. OpenVPN 2.4 ho označil za zastaraný a neskoršie klienty ho odstránili z tabuľky možností, takže parser teraz riadok odmietne, namiesto toho aby ho ignoroval. Moderné vyjednávanie odvodzuje dĺžku kľúča z vybranej šifry, a preto direktíve nezostalo nič na riadenie.
tls-remote bol odstránený vo verzii 2.4. Porovnával certifikát servera s očakávaným názvom a jeho náhradou je verify-x509-name, ktorá je prísnejšia v tom, ako sa názov porovnáva. Stará direktíva zmizla, takže profil, ktorý ju obsahuje, nikdy nebude parsovaný aktuálnym klientom.
Opravujte jednu direktívu na pokus. Ak profil uvádza aj šifru, ktorú klient neponúka, neskôr to spôsobí inú chybu, a zmiešanie oboch zmien v jednej úprave znemožní zistiť, ktorá pokazila handshake. Po každej úprave sa znova pripojte a uchovajte text chyby. Tento zvyk tiež necháva funkčnú záložnú cestu, ak úprava veci zhorší.
Prepíšte kontrolu identity servera
Náhrada preberá očakávaný názov a režim porovnania. verify-x509-name vpn.example.edu name vyžaduje, aby sa subjekt certifikátu presne rovnal tejto hodnote. Iné režimy zodpovedajú prefixu alebo celému reťazcu subjektu, a výber nesprávneho režimu premení funkčný profil na čisté zlyhanie overenia.
Ak starý argument tls-remote bol celý common name servera, presné porovnanie name je zvyčajne správne. Ak išlo o čiastočnú hodnotu, použite režim prefixu namiesto skracovania očakávaného názvu, pretože kratšia presná zhoda neprejde overením. Keď pôvodná hodnota nie je zapísaná, spýtajte sa toho, kto server prevádzkuje, aký subjekt zverejňuje.
Neumlčujte kontrolu, aby chyba zmizla. Odstránenie overovania identity servera premení opraviteľný problém profilu na neoverený tunel, a to je presne riziko, ktorému mala direktíva zabrániť.
Opravený profil, lokálna úprava alebo starší klient
Keď server patrí niekomu inému, najčistejšou cestou je aktuálny profil od tej osoby. Vaša kópia pochádza zo staršieho generátora a ich export už používa aktuálne direktívy. Jedno prevzatie odstráni celú kategóriu chýb a udrží budúce úpravy na jednom mieste.
Keď vlastníte oba konce, upravte kópiu a ponechajte originál. Zmeňte jednu direktívu, uložte, pripojte sa a zaznamenajte verziu klienta, ktorú ste testovali. Pri každej úprave majte krátku poznámku, pretože profil upravovaný počas niekoľkých sedení sa ťažko auditne overuje z pamäte. Spúšťanie z príkazového riadka na upravenom súbore zrýchľuje ten cyklus, pretože chyba ide priamo do terminálu.
Pripnutie alebo návrat ku klientovi pred verziou 2.4 tiež spôsobí, že správa zmizne, a pri zariadení, ktoré nikdy nebude aktualizované, to môže byť jediné vykonateľné dočasné riešenie. Berte to ako dočasné: starý klient na aktuálnom počítači zvyčajne znamená starú knižnicu a nepodporovanú konfiguráciu, teda problém odložený, nie vyriešený.
Keď tunel nabehne, prečítajte si ešte raz celý profil. Profily, ktoré niesli jednu odstránenú direktívu, často nesú ďalšiu, a druhá sa objaví až po zmiznutí prvej.