OpenVPN грешка: непозната опција tls-remote или keysize
Новији OpenVPN клијент одбија старе линије профила као што су tls-remote и keysize. Прочитајте назив опције, замените проверу и останите са укљученом верификацијом.
Обично почиње профилом који се годинама повезивао, отвореним у новијем клијенту, и пада пре него што тунел уопште крене. Терминал исписује нешто попут Options error: Unrecognized option ... in client.ovpn:130: tls-remote, са верзијом у заградама на крају. Читајте то као жалбу парсера: датотека садржи директиву коју овај клијент више не познаје.
Та једна порука објашњава зашто поновно генерисање кључева, поновно уписивање лозинке или провера сервера ништа не раде. Грешка се јавља док клијент чита сопствену конфигурацију, пре него што отвори сокет. Користан посао је препознати одбијену директиву и заменити је тренутним еквивалентом.
Прочитајте линију која пада пре него што било шта уредите
Покрените клијент сами уместо да га покрећете из иконе у траци, како би порука била видљива и путања до профила недвосмислена. Отворите датотеку на пријављеној линији и погледајте токен који је клијент навео. Број линије је линија профила, а не верзија, што људе збуњује јер се исти број појављује у загради као идентификатор издања.
Стари генератори профила нису исписивали једну лошу директиву, него неколико. Исправите прву грешку, поново покрените клијент и очекујте да ће се појавити следећа. Такав след је нормалан и није знак да су измене погоршале ствари.
Шта се догодило са keysize и tls-remote
keysize је тражио дужину кључа шифре у доба када је профил експлицитно бирао шифру. OpenVPN 2.4 га је укинуо, а каснији клијенти уклонили су га из табеле опција, па парсер сада одбија линију уместо да је занемари. Модерно преговарање изводи дужину кључа из изабране шифре, због чега директиви није остало ништа за контролу.
tls-remote је уклоњен у верзији 2.4. Упоређивао је сертификат сервера са очекиваним именом, а његова замена је verify-x509-name, која је строжа у погледу тога како се име поклапа. Стара директива је нестала, па профил који је носи никада неће бити парсиран на тренутном клијенту.
Исправљајте једну директиву по покушају. Ако профил такође наводи шифру коју клијент не нуди, то ће касније дати другу грешку, а мешање обе измене у једном уређивању онемогућава да се каже која је покварила руковање. Поново се повежите после сваке измене и сачувајте текст грешке. Та навика оставља и радни резервни пут ако измена погорша ствари.
Препишите проверу идентитета сервера
Замена прима очекивано име и начин поређења. verify-x509-name vpn.example.edu name захтева да субјекат сертификата буде тачно једнак тој вредности. Други начини поклапају префикс или пун низ субјекта, а погрешан начин претвара радни профил у чисту грешку верификације.
Ако је стари аргумент tls-remote био пун common name сервера, тачно поређење name обично је исправно. Ако је била делимична вредност, користите префиксни начин уместо скраћивања очекиваног имена, јер краће тачно поклапање неће проћи верификацију. Када оригинална вредност није записана, питајте онога ко управља сервером који субјекат објављују.
Не утишавајте проверу да би грешка нестала. Уклањање верификације идентитета сервера претвара поправљив проблем профила у неверификовани тунел, а то је управо ризик који је директива постојала да спречи.
Исправљен профил, локална измена или старији клијент
Када сервер припада неком другом, најчистији пут је актуелни профил од те особе. Ваша копија долази са старијег генератора, а њихов извоз већ користи актуелне директиве. Једно преузимање уклања целу категорију грешака и држи будуће измене на једном месту.
Када поседујете оба краја, уредите копију и сачувајте оригинал. Промените једну директиву, сачувајте, повежите се и забележите верзију клијента коју сте тестирали. Држите кратку белешку уз сваку измену, јер профил мењан кроз неколико сесија тешко је ревидирати по сећању. Покретање из командне линије над уређеном датотеком чини тај циклус брзим, јер грешка иде право у терминал.
Причвршћивање или враћање на клијент пре 2.4 такође чини да порука нестане, а код уређаја који никада неће бити ажуриран то може бити једино изводљиво привремено решење. Третирајте га као привремено: стари клијент на актуелном рачунару обично значи стару библиотеку и неподржану конфигурацију, што је проблем одгођен, а не решен.
Након што тунел проради, прочитајте цео профил још једном. Профили који су носили једну уклоњену директиву често носе и другу, а друга се појављује тек кад прве нестане.